summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--service/pixelated/resources/inbox_resource.py8
-rw-r--r--service/pixelated/resources/login_resource.py12
-rw-r--r--service/templates/__init__.py0
-rw-r--r--service/templates/index.html104
-rw-r--r--web-ui/.jshintignore3
-rw-r--r--web-ui/.jshintrc3
-rw-r--r--web-ui/Makefile4
-rw-r--r--web-ui/config/buildoptions.js2
-rw-r--r--web-ui/config/compass.rb8
-rw-r--r--web-ui/config/imagemin.js4
-rw-r--r--web-ui/config/minify_app.sh34
-rw-r--r--web-ui/config/package.sh54
-rw-r--r--web-ui/package.json10
-rw-r--r--web-ui/public/Interstitial.js9
-rw-r--r--web-ui/public/favicon.png (renamed from service/templates/favicon.png)bin592 -> 592 bytes
-rw-r--r--web-ui/public/index.html113
-rw-r--r--web-ui/public/sandbox.html5
-rw-r--r--web-ui/public/signup.html2
-rw-r--r--web-ui/src/images/LOADING-transparent.gif (renamed from web-ui/public/images/LOADING-transparent.gif)bin16170 -> 16170 bytes
-rw-r--r--web-ui/src/images/fa-sent.svg (renamed from web-ui/public/images/fa-sent.svg)0
-rw-r--r--web-ui/src/images/favicon.png (renamed from web-ui/public/images/favicon.png)bin592 -> 592 bytes
-rw-r--r--web-ui/src/images/logo.svg (renamed from web-ui/public/images/logo.svg)0
-rw-r--r--web-ui/src/images/pixelated-logo-orange.svg (renamed from web-ui/public/images/pixelated-logo-orange.svg)0
-rw-r--r--web-ui/src/images/pixelated-symbol-blue-transparent-01.png (renamed from web-ui/public/images/pixelated-symbol-blue-transparent-01.png)bin9075 -> 9075 bytes
-rw-r--r--web-ui/src/images/sent_email.png (renamed from web-ui/public/images/sent_email.png)bin9160 -> 9160 bytes
-rw-r--r--web-ui/src/js/index.js6
27 files changed, 168 insertions, 220 deletions
diff --git a/.gitignore b/.gitignore
index 67c044d9..7b1d856c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,13 +3,14 @@
*.log
*.DS_Store
*.egg-info
-/web-ui/node_modules
-/web-ui/public/bower_components
/web-ui/lib/
+/web-ui/node_modules
+/web-ui/public/bower_components/
+/web-ui/public/images/
/web-ui/public/signup.js
+/web-ui/public/*.min.js
.tmp
.sass-cache/
-dist/
*archive.zip
*.swp
*.swo
diff --git a/service/pixelated/resources/inbox_resource.py b/service/pixelated/resources/inbox_resource.py
index 13d1f298..d0096efe 100644
--- a/service/pixelated/resources/inbox_resource.py
+++ b/service/pixelated/resources/inbox_resource.py
@@ -35,8 +35,8 @@ class InboxResource(BaseResource):
def __init__(self, services_factory):
BaseResource.__init__(self, services_factory)
- self._not_quite_the_templates_folder = self._get_not_quite_the_templates_folder()
- self._html_template = open(os.path.join(self._not_quite_the_templates_folder, 'index.html')).read()
+ with open(pkg_resources.resource_filename('templates', 'index.html')) as f:
+ self._html_template = f.read()
with open(pkg_resources.resource_filename('templates', 'Interstitial.html')) as f:
self.interstitial = f.read()
self._mode = MODE_STARTUP
@@ -44,10 +44,6 @@ class InboxResource(BaseResource):
def initialize(self):
self._mode = MODE_RUNNING
- def _get_not_quite_the_templates_folder(self):
- path = os.path.dirname(os.path.abspath(pixelated.__file__))
- return os.path.join(path, '..', '..', 'web-ui', 'public')
-
def _is_starting(self):
return self._mode == MODE_STARTUP
diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py
index 4318752e..5838003a 100644
--- a/service/pixelated/resources/login_resource.py
+++ b/service/pixelated/resources/login_resource.py
@@ -35,17 +35,6 @@ from twisted.web.template import Element, XMLFile, renderElement, renderer
log = Logger()
-def _get_static_folder():
- static_folder = os.path.abspath(os.path.join(os.path.abspath(__file__), "..", "..", "..", "web-ui", "public"))
- # this is a workaround for packaging
- if not os.path.exists(static_folder):
- static_folder = os.path.abspath(
- os.path.join(os.path.abspath(__file__), "..", "..", "..", "..", "web-ui", "public"))
- if not os.path.exists(static_folder):
- static_folder = os.path.join('/', 'usr', 'share', 'pixelated-user-agent')
- return static_folder
-
-
def parse_accept_language(all_headers):
accepted_languages = ['pt-BR', 'en-US']
languages = all_headers.get('accept-language', '').split(';')[0]
@@ -107,7 +96,6 @@ class LoginResource(BaseResource):
def __init__(self, services_factory, provider=None, disclaimer_banner=None, authenticator=None):
BaseResource.__init__(self, services_factory)
- self._static_folder = _get_static_folder()
self._disclaimer_banner = disclaimer_banner
self._provider = provider
self._authenticator = authenticator or Authenticator(provider)
diff --git a/service/templates/__init__.py b/service/templates/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/service/templates/__init__.py
diff --git a/service/templates/index.html b/service/templates/index.html
index c095577e..e8bb62ba 100644
--- a/service/templates/index.html
+++ b/service/templates/index.html
@@ -1,9 +1,99 @@
+<!DOCTYPE html>
<html>
- <head>
- <meta http-equiv="refresh" content="0;URL=/login">
- </head>
- <body bgcolor="#FFFFFF" text="#000000\">
- <a href="/login">click here</a>
- </body>
-</html>
+<head>
+<link rel="icon" type="image/png" href="static/images/Favicon.png">
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<title>$account_email - Pixelated Mail</title>
+<meta name="description" content="">
+<meta name="viewport" content="width=device-width">
+<link href="static/bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
+<link href="static/bower_components/jquery-file-upload/css/jquery.fileupload.css" rel="stylesheet" type="text/css">
+<link rel="stylesheet" href="static/css/style.css">
+</head>
+
+<body>
+<div class="off-canvas-wrap move-right menu" data-offcanvas>
+ <div class="inner-wrap">
+ <section id="left-pane" class="left-off-canvas-menu">
+ <a class="left-off-canvas-logo side-nav-toggle" href="#">
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="30.4 627.3 612 171.1" enable-background="new 30.4 627.3 612 171.1" xml:space="preserve">
+<g>
+ <path fill="#3E3B38" id="pix-logo" d="M30.4,669.9v85.8l75.5,42.7l75.5-42.7v-85.8l-75.5-42.7L30.4,669.9z M102.7,767.4l-44-24.3v-52.6l44,25
+ V767.4z M152.5,743l-43.4,24.3v-51.8l43.4-25.4V743z M152.5,683.1l-46.7,27.8l-47.2-27.8l47.2-25.4L152.5,683.1z"/>
+ <path fill="#3E3B38" d="M233.8,678.3h-24v71.2h16.2v-26.5h7.8c14,0,24.3-8,24.3-22.9C258.1,685.6,247.6,678.3,233.8,678.3z
+ M230.6,710.2h-4.6v-18.8h4.6c6.5,0,12.5,2.2,12.5,9.5C243,708.1,237.1,710.2,230.6,710.2z"/>
+ <rect x="263.5" y="678.3" fill="#3E3B38" width="16.2" height="71.2"/>
+ <polygon fill="#3E3B38" points="350.4,678.3 330.1,678.3 316.9,697.7 303.7,678.3 284.6,678.3 307,711.1 282.6,749.5 302.9,749.5
+ 316.9,725.3 331,749.5 352.1,749.5 326.9,711.1 "/>
+ <polygon fill="#3E3B38" points="354.7,749.5 395.5,749.5 395.5,735.2 370.9,735.2 370.9,721 394.4,721 394.4,706.6 370.9,706.6
+ 370.9,692.5 395.5,692.5 395.5,678.3 354.7,678.3 "/>
+ <path fill="#3E3B38" d="M456.1,678.3l-22.9,57h-15.9v-57h-16.2v71.2h26.5h14.3h3.2l5.4-14.3h27l5.4,14.3h17.5l-28.9-71.2H456.1z
+ M455.7,721l7.8-20.7h0.2l7.8,20.7H455.7z"/>
+ <polygon fill="#3E3B38" points="486.4,692.5 503.4,692.5 503.4,749.5 519.6,749.5 519.6,692.5 536.6,692.5 536.6,678.3
+ 486.4,678.3 "/>
+ <polygon fill="#3E3B38" points="542,749.5 582.8,749.5 582.8,735.2 558.4,735.2 558.4,721 581.9,721 581.9,706.6 558.4,706.6
+ 558.4,692.5 582.8,692.5 582.8,678.3 542,678.3 "/>
+ <path fill="#3E3B38" d="M606.5,678.3h-17.9v71.2h17.9c19.7,0,35.9-14.9,35.9-35.6C642.4,693.1,625.9,678.3,606.5,678.3z M607,735
+ h-2.4v-42.1h2.4c12.1,0,20.3,9.1,20.3,21.1C627.3,725.8,619.1,735,607,735z"/>
+ </g>
+ <polygon id="clock1" class="logo-part-animation-off" fill="#3E3B38" points="105.8,657.8 105.8,628 105.8,627.3 181.4,669.9 152.5,683.1 "/>
+ <polygon id="clock2" class="logo-part-animation-off" fill="#3E3B38" points="152.5,683.1 181.4,669.9 181.4,755.7 152.5,743 "/>
+ <polygon id="clock3" class="logo-part-animation-off" fill="#3E3B38" points="105.9,798.3 105.9,769 152.5,743 181.4,755.7 "/>
+ <polygon id="clock4" class="logo-part-animation-off" fill="#3E3B38" points="58.7,743.1 105.9,769 105.9,798.3 30.4,755.7 "/>
+ <polygon id="clock5" class="logo-part-animation-off" fill="#3E3B38" points="30.4,669.9 58.6,683.1 58.7,743.1 30.4,755.7 "/>
+ <polygon id="clock6" class="logo-part-animation-off" fill="#3E3B38" points="105.8,628 105.8,657.8 58.6,683.1 30.4,669.9 105.8,627.3 "/>
+ </svg>
+ </a>
+ <a class="side-nav-toggle side-nav-toggle-icon" href="#">
+ <i class="toggle fa fa-navicon"></i>
+ </a>
+ <nav id="tag-list"></nav>
+ <div class="side-nav-bottom">
+ <div class="version">0.3.1-beta</div>
+ <nav id="feedback"></nav>
+ <nav id="user-settings-icon"></nav>
+ <nav id="logout"></nav>
+ </div>
+ </section>
+ </div>
+</div>
+
+<div class="off-canvas-wrap content" data-offcanvas>
+ <header class="message-panel-container" >
+ <div id="user-alerts" class="message-panel"></div>
+ </header>
+
+ <div class="inner-wrap">
+ <a class="left-off-canvas-toggle" href="#">
+ </a>
+ <article id='middle-pane-container' class="small-5 medium-5 large-5 columns no-padding">
+ <section id="top-pane" class="small-12 large-12 no-padding">
+ <div id="compose-search-trigger">
+ <div id="compose" class="column small-12 large-4 no-padding">
+ <div id="compose-trigger"></div>
+ </div>
+ <div id="search-trigger" class="small-12 large-8 columns no-padding">
+ </div>
+ </div>
+ <ul id="list-actions"></ul>
+ </section>
+
+ <section id="middle-pane" class="small-9 medium-12 large-12 columns no-padding">
+ <ul id="mail-list">
+ </ul>
+ <div id="user-settings-box"></div>
+ </section>
+ </article>
+ <section id="right-pane" class="small-7 medium-7 large-7 columns">
+ </section>
+ </div>
+</div>
+
+
+<script src="/static/app.min.js" type="text/javascript"></script>
+
+</body>
+</html>
diff --git a/web-ui/.jshintignore b/web-ui/.jshintignore
index 473c9c23..f2f274fe 100644
--- a/web-ui/.jshintignore
+++ b/web-ui/.jshintignore
@@ -1,5 +1,8 @@
+**/*.min.js
+**/*-min.js
public/node_modules
public/bower_components
public/js/lib
public/js/generated
public/signup.js
+src/js/index.js
diff --git a/web-ui/.jshintrc b/web-ui/.jshintrc
index 1e2a147d..7debbfbe 100644
--- a/web-ui/.jshintrc
+++ b/web-ui/.jshintrc
@@ -33,6 +33,7 @@
"_",
"Pixelated",
"Handlebars",
- "Bloodhound"
+ "Bloodhound",
+ "Snap"
]
}
diff --git a/web-ui/Makefile b/web-ui/Makefile
index 0bc9d5d4..efd59c9e 100644
--- a/web-ui/Makefile
+++ b/web-ui/Makefile
@@ -22,13 +22,13 @@ compile:
./go package
clean:
- rm -Rf dist/ $(DESTDIR)/
+ rm -Rf $(DESTDIR)/
install:
rm -Rf $(DESTDIR)/usr/pixelated $(DESTDIR)/usr/web-ui # Fix: delete files generated by python setup.py install that are in the wrong place
install -d $(DESTDIR)/usr/share/pixelated-user-agent
- cp -r dist/* $(DESTDIR)/usr/share/pixelated-user-agent
+ cp -r public/* $(DESTDIR)/usr/share/pixelated-user-agent
all: clean compile install
diff --git a/web-ui/config/buildoptions.js b/web-ui/config/buildoptions.js
index 2e7ba028..b0fade0d 100644
--- a/web-ui/config/buildoptions.js
+++ b/web-ui/config/buildoptions.js
@@ -16,7 +16,7 @@
*/
({
- baseUrl: '../public',
+ baseUrl: '../public', /* TODO: double check: src or public? */
wrap: true,
almond: true,
optimize: 'none',
diff --git a/web-ui/config/compass.rb b/web-ui/config/compass.rb
index bc0301a3..461bd9e2 100644
--- a/web-ui/config/compass.rb
+++ b/web-ui/config/compass.rb
@@ -17,13 +17,11 @@
# Set this to the root of your project when deployed:
-target_dir = ENV['PIXELATED_BUILD'] == 'package' ? 'dist' : 'public'
-
-
http_path = "/"
-css_dir = "#{target_dir}/css"
+css_dir = "public/css"
sass_dir = "public/scss"
-images_dir = "public/images"
+images_dir = "src/images"
+generated_images_dir = "public/images"
javascripts_dir = "public/js"
# You can select your preferred output style here (can be overridden via the command line):
diff --git a/web-ui/config/imagemin.js b/web-ui/config/imagemin.js
index bbc589a8..6f94373e 100644
--- a/web-ui/config/imagemin.js
+++ b/web-ui/config/imagemin.js
@@ -17,8 +17,8 @@
const imagemin = require('imagemin');
-imagemin(['public/images/*.{gif,jpg,png,svg}'],
- 'dist/images'
+imagemin(['src/images/*.{gif,jpg,png,svg}'],
+ 'public/images'
).then(files => {
console.log('Images list:')
files.map(function(file) { console.log(file.path); });
diff --git a/web-ui/config/minify_app.sh b/web-ui/config/minify_app.sh
new file mode 100644
index 00000000..d9e232a5
--- /dev/null
+++ b/web-ui/config/minify_app.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+# Copyright (c) 2014 ThoughtWorks, Inc.
+#
+# Pixelated is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Pixelated is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+
+set -e
+
+# concat js files and minify for app.min.js
+cat \
+public/bower_components/modernizr/modernizr.js \
+public/bower_components/lodash/dist/lodash.js \
+public/bower_components/jquery/dist/jquery.js \
+public/bower_components/jquery-ui/jquery-ui.js \
+public/bower_components/jquery-file-upload/js/jquery.fileupload.js \
+public/js/lib/highlightRegex.js \
+public/bower_components/handlebars/handlebars.js \
+public/bower_components/typeahead.js/dist/typeahead.bundle.js \
+public/bower_components/foundation/js/foundation.js \
+public/bower_components/foundation/js/foundation/foundation.reveal.js \
+public/bower_components/foundation/js/foundation/foundation.offcanvas.js \
+public/js/foundation/initialize_foundation.js \
+public/bower_components/iframe-resizer/js/iframeResizer.js \
+.tmp/app.concatenated.js | node_modules/.bin/minify --js > public/app.min.js
diff --git a/web-ui/config/package.sh b/web-ui/config/package.sh
index d4208ecb..06351257 100644
--- a/web-ui/config/package.sh
+++ b/web-ui/config/package.sh
@@ -18,61 +18,11 @@
set -e
-export PIXELATED_BUILD='package'
-
-mkdir -p dist
-
# initial npm tasks
-./go clean
-./go compass
-./go handlebars
-./go imagemin
-./go minify_html
-./go minify_sandbox
-./go add_git_version
-./go buildmain
-
+./go build
-# copy files
-cd public
-cp --parents \
-404.html \
-fonts/* \
-locales/**/* \
-bower_components/font-awesome/css/font-awesome.min.css \
-bower_components/jquery-file-upload/css/jquery.fileupload.css \
-bower_components/font-awesome/fonts/* \
-../dist
-cd -
-
-# concat js files and minify for app.min.js
-cat \
-public/bower_components/modernizr/modernizr.js \
-public/bower_components/lodash/dist/lodash.js \
-public/bower_components/jquery/dist/jquery.js \
-public/bower_components/jquery-ui/jquery-ui.js \
-public/bower_components/jquery-file-upload/js/jquery.fileupload.js \
-public/js/lib/highlightRegex.js \
-public/bower_components/handlebars/handlebars.js \
-public/bower_components/typeahead.js/dist/typeahead.bundle.js \
-public/bower_components/foundation/js/foundation.js \
-public/bower_components/foundation/js/foundation/foundation.reveal.js \
-public/bower_components/foundation/js/foundation/foundation.offcanvas.js \
-public/js/foundation/initialize_foundation.js \
-public/bower_components/iframe-resizer/js/iframeResizer.js \
-.tmp/app.concatenated.js > dist/app.js
-node_modules/.bin/minify dist/app.js > dist/app.min.js
-rm dist/app.js
-
-if [ ! -s dist/app.min.js ]
+if [ ! -s public/app.min.js ]
then
echo "Minification failed!"
exit 1;
fi
-
-# concat js files and minify for sandbox.min.js
-cat \
-public/js/sandbox.js \
-public/bower_components/iframe-resizer/js/iframeResizer.contentWindow.js > dist/sandbox.js
-node_modules/.bin/minify dist/sandbox.js > dist/sandbox.min.js
-rm dist/sandbox.js
diff --git a/web-ui/package.json b/web-ui/package.json
index b10ff51e..83931b09 100644
--- a/web-ui/package.json
+++ b/web-ui/package.json
@@ -35,15 +35,15 @@
"handlebars-watch": "node_modules/.bin/watch 'npm run handlebars' public/templates",
"compass": "compass compile",
"compass-watch": "compass watch",
- "build": "npm run clean && npm run handlebars && npm run add_git_version && npm run compass && npm run build-signup",
+ "build": "npm run clean && npm run handlebars && npm run add_git_version && npm run compass && npm run imagemin && npm run build-signup && npm run buildmain && npm run minify_app && npm run minify_sandbox",
"build-signup": "babel src/js -d lib/js && browserify lib/js/index.js >public/signup.js",
- "jshint": "node_modules/jshint/bin/jshint --config=.jshintrc public test",
- "clean": "rm -rf .tmp/ 'dist/*' public/js/generated/hbs/* public/css/*",
+ "jshint": "node_modules/jshint/bin/jshint --config=.jshintrc src public test",
+ "clean": "rm -rf .tmp/ public/js/generated/hbs/* public/css/* lib/js public/signup.js",
"buildmain": "node_modules/requirejs/bin/r.js -o config/buildoptions.js",
+ "minify_app": "/bin/bash config/minify_app.sh",
+ "minify_sandbox": "cat public/js/sandbox.js public/bower_components/iframe-resizer/js/iframeResizer.contentWindow.js | node_modules/.bin/minify --js > public/sandbox.min.js",
"package": "/bin/bash config/package.sh",
"imagemin": "node config/imagemin.js",
- "minify_html": "node_modules/.bin/html-minifier public/index.html --collapse-whitespace | sed 's|<!--usemin_start-->.*<!--usemin_end-->|<script src=\"static/app.min.js\" type=\"text/javascript\"></script>|' > dist/index.html",
- "minify_sandbox": "node_modules/.bin/html-minifier public/sandbox.html --collapse-whitespace | sed 's|<!--usemin_start-->.*<!--usemin_end-->|<script src=\"sandbox.min.js\" type=\"text/javascript\"></script>|' > dist/sandbox.html",
"add_git_version": "/bin/bash config/add_git_version.sh"
},
"dependencies": {
diff --git a/web-ui/public/Interstitial.js b/web-ui/public/Interstitial.js
index ac5a789a..05c5ff29 100644
--- a/web-ui/public/Interstitial.js
+++ b/web-ui/public/Interstitial.js
@@ -1,7 +1,7 @@
if ($('#hive').length) {
var hive = new Snap('#hive');
var img_width = $('#hive').width();
- var left_pos = img_width * .5;
+ var left_pos = img_width * 0.5;
var pixelated = hive.path("M12.4,20.3v31.8l28,15.8l28-15.8V20.3l-28-15.8L12.4,20.3z M39.2,56.4l-16.3-9V27.9l16.3,9.3L39.2,56.4z M57.7,47.4l-16.1,9l0-19.2l16.1-9.4V47.4z M57.7,25.2L40.4,35.5L22.9,25.2l17.5-9.4L57.7,25.2z").transform("translate(319, 50)").attr("fill", "#908e8e");
var all = hive.group().transform("matrix(2, 0, 0, 2, -100, -100)");
@@ -14,8 +14,8 @@ if ($('#hive').length) {
for (var j = 0; j < rows; j++) {
for (var i = 0; i < cols; i++) {
- x = i * width + (j%2*width/2);
- y = j * height;
+ var x = i * width + (j%2*width/2);
+ var y = j * height;
all.add(pixelated.clone().transform("translate("+x+","+y+")"));
}
}
@@ -23,6 +23,7 @@ if ($('#hive').length) {
all.add(pixelated);
var brightenLogo = function () {
+ 'use strict';
var glowPosition = Math.floor(Math.random()*rows*cols);
all[glowPosition].animate({fill: "#FFF"}, 1000, function() {
@@ -31,6 +32,7 @@ if ($('#hive').length) {
};
var darkenLogo = function (el) {
+ 'use strict';
el.animate({fill: "#908e8e"}, 1000, brightenLogo);
};
@@ -39,6 +41,7 @@ if ($('#hive').length) {
}
$(function () {
+ 'use strict';
var handler = setInterval(function () {
$.ajax({
method: 'GET',
diff --git a/service/templates/favicon.png b/web-ui/public/favicon.png
index e14841c7..e14841c7 100644
--- a/service/templates/favicon.png
+++ b/web-ui/public/favicon.png
Binary files differ
diff --git a/web-ui/public/index.html b/web-ui/public/index.html
deleted file mode 100644
index 0a6303b2..00000000
--- a/web-ui/public/index.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<link rel="icon" type="image/png" href="static/images/Favicon.png">
-<meta charset="utf-8">
-<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-<title>$account_email - Pixelated Mail</title>
-<meta name="description" content="">
-<meta name="viewport" content="width=device-width">
-<link href="static/bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
-<link href="static/bower_components/jquery-file-upload/css/jquery.fileupload.css" rel="stylesheet" type="text/css">
-<link rel="stylesheet" href="static/css/style.css">
-</head>
-
-<body>
-<div class="off-canvas-wrap move-right menu" data-offcanvas>
- <div class="inner-wrap">
- <section id="left-pane" class="left-off-canvas-menu">
- <a class="left-off-canvas-logo side-nav-toggle" href="#">
- <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="30.4 627.3 612 171.1" enable-background="new 30.4 627.3 612 171.1" xml:space="preserve">
-<g>
- <path fill="#3E3B38" id="pix-logo" d="M30.4,669.9v85.8l75.5,42.7l75.5-42.7v-85.8l-75.5-42.7L30.4,669.9z M102.7,767.4l-44-24.3v-52.6l44,25
- V767.4z M152.5,743l-43.4,24.3v-51.8l43.4-25.4V743z M152.5,683.1l-46.7,27.8l-47.2-27.8l47.2-25.4L152.5,683.1z"/>
- <path fill="#3E3B38" d="M233.8,678.3h-24v71.2h16.2v-26.5h7.8c14,0,24.3-8,24.3-22.9C258.1,685.6,247.6,678.3,233.8,678.3z
- M230.6,710.2h-4.6v-18.8h4.6c6.5,0,12.5,2.2,12.5,9.5C243,708.1,237.1,710.2,230.6,710.2z"/>
- <rect x="263.5" y="678.3" fill="#3E3B38" width="16.2" height="71.2"/>
- <polygon fill="#3E3B38" points="350.4,678.3 330.1,678.3 316.9,697.7 303.7,678.3 284.6,678.3 307,711.1 282.6,749.5 302.9,749.5
- 316.9,725.3 331,749.5 352.1,749.5 326.9,711.1 "/>
- <polygon fill="#3E3B38" points="354.7,749.5 395.5,749.5 395.5,735.2 370.9,735.2 370.9,721 394.4,721 394.4,706.6 370.9,706.6
- 370.9,692.5 395.5,692.5 395.5,678.3 354.7,678.3 "/>
- <path fill="#3E3B38" d="M456.1,678.3l-22.9,57h-15.9v-57h-16.2v71.2h26.5h14.3h3.2l5.4-14.3h27l5.4,14.3h17.5l-28.9-71.2H456.1z
- M455.7,721l7.8-20.7h0.2l7.8,20.7H455.7z"/>
- <polygon fill="#3E3B38" points="486.4,692.5 503.4,692.5 503.4,749.5 519.6,749.5 519.6,692.5 536.6,692.5 536.6,678.3
- 486.4,678.3 "/>
- <polygon fill="#3E3B38" points="542,749.5 582.8,749.5 582.8,735.2 558.4,735.2 558.4,721 581.9,721 581.9,706.6 558.4,706.6
- 558.4,692.5 582.8,692.5 582.8,678.3 542,678.3 "/>
- <path fill="#3E3B38" d="M606.5,678.3h-17.9v71.2h17.9c19.7,0,35.9-14.9,35.9-35.6C642.4,693.1,625.9,678.3,606.5,678.3z M607,735
- h-2.4v-42.1h2.4c12.1,0,20.3,9.1,20.3,21.1C627.3,725.8,619.1,735,607,735z"/>
- </g>
- <polygon id="clock1" class="logo-part-animation-off" fill="#3E3B38" points="105.8,657.8 105.8,628 105.8,627.3 181.4,669.9 152.5,683.1 "/>
- <polygon id="clock2" class="logo-part-animation-off" fill="#3E3B38" points="152.5,683.1 181.4,669.9 181.4,755.7 152.5,743 "/>
- <polygon id="clock3" class="logo-part-animation-off" fill="#3E3B38" points="105.9,798.3 105.9,769 152.5,743 181.4,755.7 "/>
- <polygon id="clock4" class="logo-part-animation-off" fill="#3E3B38" points="58.7,743.1 105.9,769 105.9,798.3 30.4,755.7 "/>
- <polygon id="clock5" class="logo-part-animation-off" fill="#3E3B38" points="30.4,669.9 58.6,683.1 58.7,743.1 30.4,755.7 "/>
- <polygon id="clock6" class="logo-part-animation-off" fill="#3E3B38" points="105.8,628 105.8,657.8 58.6,683.1 30.4,669.9 105.8,627.3 "/>
- </svg>
- </a>
- <a class="side-nav-toggle side-nav-toggle-icon" href="#">
- <i class="toggle fa fa-navicon"></i>
- </a>
- <nav id="tag-list"></nav>
- <div class="side-nav-bottom">
- <div class="version">0.3.1-beta</div>
- <nav id="feedback"></nav>
- <nav id="user-settings-icon"></nav>
- <nav id="logout"></nav>
- </div>
- </section>
- </div>
-</div>
-
-<div class="off-canvas-wrap content" data-offcanvas>
- <header class="message-panel-container" >
- <div id="user-alerts" class="message-panel"></div>
- </header>
-
- <div class="inner-wrap">
- <a class="left-off-canvas-toggle" href="#">
- </a>
- <article id='middle-pane-container' class="small-5 medium-5 large-5 columns no-padding">
- <section id="top-pane" class="small-12 large-12 no-padding">
- <div id="compose-search-trigger">
- <div id="compose" class="column small-12 large-4 no-padding">
- <div id="compose-trigger"></div>
- </div>
- <div id="search-trigger" class="small-12 large-8 columns no-padding">
- </div>
- </div>
- <ul id="list-actions"></ul>
- </section>
-
- <section id="middle-pane" class="small-9 medium-12 large-12 columns no-padding">
- <ul id="mail-list">
- </ul>
- <div id="user-settings-box"></div>
- </section>
- </article>
-
- <section id="right-pane" class="small-7 medium-7 large-7 columns">
- </section>
- </div>
-</div>
-
-<!--usemin_start-->
-<script src="static/bower_components/modernizr/modernizr.js"></script>
-<script src="static/bower_components/lodash/dist/lodash.js"></script>
-<script src="static/bower_components/jquery/dist/jquery.js"></script>
-<script src="static/bower_components/jquery-ui/jquery-ui.min.js"></script>
-<script src="static/bower_components/jquery-file-upload/js/jquery.fileupload.js"></script>
-<script src="static/js/lib/highlightRegex.js"></script>
-<script src="static/bower_components/handlebars/handlebars.min.js"></script>
-<script src="static/bower_components/typeahead.js/dist/typeahead.bundle.min.js"></script>
-<script src="static/bower_components/foundation/js/foundation.js" ></script>
-<script src="static/bower_components/foundation/js/foundation/foundation.reveal.js" ></script>
-<script src="static/bower_components/foundation/js/foundation/foundation.offcanvas.js"></script>
-<script src="static/js/foundation/initialize_foundation.js"></script>
-<script src="static/bower_components/iframe-resizer/js/iframeResizer.min.js"></script>
-<script src="static/bower_components/requirejs/require.js" data-main="static/js/main.js"></script>
-<!--usemin_end-->
-
-</body>
-</html>
diff --git a/web-ui/public/sandbox.html b/web-ui/public/sandbox.html
index 8325b0da..d24a8452 100644
--- a/web-ui/public/sandbox.html
+++ b/web-ui/public/sandbox.html
@@ -5,10 +5,7 @@
<meta charset="utf-8">
<link href="css/sandbox.css" rel="stylesheet" type="text/css">
- <!--usemin_start-->
- <script src="js/sandbox.js"></script>
- <script src="bower_components/iframe-resizer/js/iframeResizer.contentWindow.min.js"></script>
- <!--usemin_end-->
+ <script src="sandbox.min.js" type="text/javascript"></script>
</head>
<body></body>
diff --git a/web-ui/public/signup.html b/web-ui/public/signup.html
index a1d4bef9..9814f585 100644
--- a/web-ui/public/signup.html
+++ b/web-ui/public/signup.html
@@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="/static/signup.css" />
</head>
<body>
- <header><img src="images/pixelated-logo-orange.svg" alt="Pixelated" class="logo"/></header>
+ <header><img src="/static/images/pixelated-logo-orange.svg" alt="Pixelated" class="logo"/></header>
<div class="message">
<div id="app"></div>
<script src="/static/signup.js"></script>
diff --git a/web-ui/public/images/LOADING-transparent.gif b/web-ui/src/images/LOADING-transparent.gif
index ac9abcde..ac9abcde 100644
--- a/web-ui/public/images/LOADING-transparent.gif
+++ b/web-ui/src/images/LOADING-transparent.gif
Binary files differ
diff --git a/web-ui/public/images/fa-sent.svg b/web-ui/src/images/fa-sent.svg
index a4b4bea4..a4b4bea4 100644
--- a/web-ui/public/images/fa-sent.svg
+++ b/web-ui/src/images/fa-sent.svg
diff --git a/web-ui/public/images/favicon.png b/web-ui/src/images/favicon.png
index e14841c7..e14841c7 100644
--- a/web-ui/public/images/favicon.png
+++ b/web-ui/src/images/favicon.png
Binary files differ
diff --git a/web-ui/public/images/logo.svg b/web-ui/src/images/logo.svg
index 6c2d8989..6c2d8989 100644
--- a/web-ui/public/images/logo.svg
+++ b/web-ui/src/images/logo.svg
diff --git a/web-ui/public/images/pixelated-logo-orange.svg b/web-ui/src/images/pixelated-logo-orange.svg
index 7e0ef43d..7e0ef43d 100644
--- a/web-ui/public/images/pixelated-logo-orange.svg
+++ b/web-ui/src/images/pixelated-logo-orange.svg
diff --git a/web-ui/public/images/pixelated-symbol-blue-transparent-01.png b/web-ui/src/images/pixelated-symbol-blue-transparent-01.png
index 96b92155..96b92155 100644
--- a/web-ui/public/images/pixelated-symbol-blue-transparent-01.png
+++ b/web-ui/src/images/pixelated-symbol-blue-transparent-01.png
Binary files differ
diff --git a/web-ui/public/images/sent_email.png b/web-ui/src/images/sent_email.png
index ddaa11d0..ddaa11d0 100644
--- a/web-ui/public/images/sent_email.png
+++ b/web-ui/src/images/sent_email.png
Binary files differ
diff --git a/web-ui/src/js/index.js b/web-ui/src/js/index.js
index 57ec42a6..8e66db06 100644
--- a/web-ui/src/js/index.js
+++ b/web-ui/src/js/index.js
@@ -16,7 +16,7 @@ class PixelatedComponent extends React.Component {
}
componentWillUnmount() {
- this.unsubscribe()
+ this.unsubscribe();
}
}
@@ -26,7 +26,7 @@ class PixelatedForm extends PixelatedComponent {
const immutableActionProperties = new Map(actionProperties);
this.props.store.dispatch(immutableActionProperties.merge({status: 'STARTED'}).toJS());
fetch(url).then((response) => {
- return response.json()
+ return response.json();
}).then((json) => {
setTimeout(() => {
this.props.store.dispatch(immutableActionProperties.merge({status: 'SUCCESS', json: json}).toJS());
@@ -93,7 +93,7 @@ class CreateAccountForm extends PixelatedForm {
_handleClick(event) {
event.stopPropagation();
event.preventDefault();
- this.props.store.dispatch({type: 'SUBMIT_CREATE_ACCOUNT', username: event.target['username'].value, password: event.target['password'].value});
+ this.props.store.dispatch({type: 'SUBMIT_CREATE_ACCOUNT', username: event.target.username.value, password: event.target.password.value});
}
}