diff options
Diffstat (limited to 'web-ui')
| -rw-r--r-- | web-ui/app/images/forgot-my-password.svg (renamed from web-ui/app/images/forgot my password.svg) | 0 | ||||
| -rw-r--r-- | web-ui/app/js/account_recovery/page.js | 9 | ||||
| -rw-r--r-- | web-ui/app/scss/account_recovery/page.scss | 31 | ||||
| -rw-r--r-- | web-ui/config/alias-webpack.js | 1 | ||||
| -rw-r--r-- | web-ui/config/copy-webpack.js | 1 | ||||
| -rw-r--r-- | web-ui/package.json | 13 | ||||
| -rw-r--r-- | web-ui/test/spec/account_recovery/account_recovery.spec.js | 3 | ||||
| -rw-r--r-- | web-ui/webpack.config.js | 4 | ||||
| -rw-r--r-- | web-ui/webpack.production.config.js | 4 | ||||
| -rw-r--r-- | web-ui/webpack.test.config.js | 34 | 
10 files changed, 95 insertions, 5 deletions
| diff --git a/web-ui/app/images/forgot my password.svg b/web-ui/app/images/forgot-my-password.svg index 6dc329e7..6dc329e7 100644 --- a/web-ui/app/images/forgot my password.svg +++ b/web-ui/app/images/forgot-my-password.svg diff --git a/web-ui/app/js/account_recovery/page.js b/web-ui/app/js/account_recovery/page.js index e400dfae..a6be0c6e 100644 --- a/web-ui/app/js/account_recovery/page.js +++ b/web-ui/app/js/account_recovery/page.js @@ -1,5 +1,12 @@  import React from 'react' -const Page = () => <h1>Hello world</h1>; +import 'scss/account_recovery/page.scss' + +const Page = () => ( +  <div className="container"> +    <img src="assets/images/forgot-my-password.svg" /> +    <h1>E se você esquecer sua senha?</h1> +  </div> +);  export default Page diff --git a/web-ui/app/scss/account_recovery/page.scss b/web-ui/app/scss/account_recovery/page.scss new file mode 100644 index 00000000..b6a4c024 --- /dev/null +++ b/web-ui/app/scss/account_recovery/page.scss @@ -0,0 +1,31 @@ +@import "../vendor/reset"; +@import "../base/colors"; +@import "../base/fonts"; +@import "../base/scaffolding"; + +body { +  font-family: "Open Sans", "Microsoft YaHei", "Hiragino Sans GB", "Hiragino Sans GB W3", "微软雅黑", "Helvetica Neue", Arial, sans-serif; +  background: $dark_blue; /* For browsers that do not support gradients */ +  background: -webkit-linear-gradient(left top, $dark_blue, $middle_blue); /* For Safari 5.1 to 6.0 */ +  background: -o-linear-gradient(bottom right, $dark_blue, $middle_blue); /* For Opera 11.1 to 12.0 */ +  background: -moz-linear-gradient(bottom right, $dark_blue, $middle_blue); /* For Firefox 3.6 to 15 */ +  background: linear-gradient(to bottom right, $dark_blue, $middle_blue); /* Standard syntax */ +} + +h1 { +  font-size: 4em; +  color: $dark_slate_gray; +} + +.container { +  background: $white; +  width: 90%; +  margin: 2% auto; +  padding: 3%; + +  img { +    display: block; +    width: 50%; +    margin: 0 auto; +  } +} diff --git a/web-ui/config/alias-webpack.js b/web-ui/config/alias-webpack.js index f4ea1b63..43b23836 100644 --- a/web-ui/config/alias-webpack.js +++ b/web-ui/config/alias-webpack.js @@ -7,6 +7,7 @@ module.exports = {    'flight': path.join(__dirname, '../app/bower_components/flight'),    'found': path.join(__dirname, '../app/bower_components/foundation'),    'js': path.join(__dirname, '../app/js'), +  'scss': path.join(__dirname, '../app/scss'),    'mail_list': path.join(__dirname, '../app/js/mail_list'),    'page': path.join(__dirname, '../app/js/page'),    'feedback': path.join(__dirname, '../app/js/feedback'), diff --git a/web-ui/config/copy-webpack.js b/web-ui/config/copy-webpack.js index 1d2d11c1..a2567be6 100644 --- a/web-ui/config/copy-webpack.js +++ b/web-ui/config/copy-webpack.js @@ -8,6 +8,7 @@ module.exports = new CopyWebpackPlugin([    { context: 'app/', from: 'css/*' },    { context: 'app/', from: 'fonts/*' },    { context: 'app/', from: 'locales/**/*' }, +  { context: 'app/', from: 'images/**/*' },    { context: 'app/', from: 'bower_components/font-awesome/fonts/*' },    {      context: 'app/', diff --git a/web-ui/package.json b/web-ui/package.json index 52124c54..6f875280 100644 --- a/web-ui/package.json +++ b/web-ui/package.json @@ -13,8 +13,10 @@      "babel-preset-react": "^6.22.0",      "bower": "1.7.9",      "copy-webpack-plugin": "^4.0.1", +    "css-loader": "^0.26.1",      "dompurify": "^0.8.4",      "enzyme": "^2.7.1", +    "expect": "^1.20.2",      "font-awesome": "^4.7.0",      "handlebars": "^4.0.5",      "he": "^1.1.0", @@ -24,13 +26,13 @@      "i18next-xhr-backend": "^1.2.1",      "iframe-resizer": "^3.5.7",      "imagemin": "5.2.1", -    "jasmine": "^2.5.3",      "jasmine-flight": "^4.0.0",      "jasmine-jquery": "^2.1.1",      "jquery": "^3.1.1",      "jquery-file-upload": "^4.0.5",      "jquery-ui": "^1.12.1",      "jshint": "2.9.2", +    "json-loader": "^0.5.4",      "karma": "0.13.19",      "karma-chrome-launcher": "0.2.2",      "karma-coverage": "0.2.7", @@ -41,20 +43,25 @@      "karma-phantomjs-launcher": "1.0.1",      "karma-requirejs": "1.0.0",      "minify": "^2.0.13", +    "mocha": "^3.2.0", +    "mocha-webpack": "^0.7.0",      "modernizr": "^3.3.1", +    "node-sass": "^4.5.0",      "quoted-printable": "^1.0.1",      "react": "^15.4.2",      "react-addons-test-utils": "^15.4.2",      "react-dom": "^15.4.2",      "requirejs": "2.2.0", +    "sass-loader": "^4.1.1", +    "style-loader": "^0.13.1",      "typeahead.js": "^0.11.1",      "utf8": "^2.1.2",      "watch": "0.19.1",      "webpack": "^1.14.0"    },    "scripts": { -    "test": "npm run jshint --silent && npm run build-statics --silent && npm run jasmine-test && npm run karma-test", -    "jasmine-test": "babel-node ./node_modules/.bin/jasmine JASMINE_CONFIG_PATH=test/jasmine.json", +    "test": "npm run jshint --silent && npm run build-statics --silent && npm run mocha-test && npm run karma-test", +    "mocha-test": "mocha-webpack --webpack-config webpack.test.config.js \"test/spec/account_recovery/**/*.spec.js\"",      "karma-test": "karma start --single-run $GRUNT_OPTS",      "debug": "npm run build && karma start --browsers Chrome $GRUNT_OPTS",      "watch": "npm run compass-watch & npm run handlebars-watch & npm run build-js-watch", diff --git a/web-ui/test/spec/account_recovery/account_recovery.spec.js b/web-ui/test/spec/account_recovery/account_recovery.spec.js index d153f0eb..eaff257b 100644 --- a/web-ui/test/spec/account_recovery/account_recovery.spec.js +++ b/web-ui/test/spec/account_recovery/account_recovery.spec.js @@ -1,4 +1,5 @@  import {shallow} from 'enzyme' +import expect from 'expect'  import React from 'react'  import Page from '../../../app/js/account_recovery/page' @@ -6,6 +7,6 @@ describe('test', () => {    'use strict';    it('react', () => {      const page = shallow(<Page />); -    expect(page.find('h1').text()).toEqual('Hello world'); +    expect(page.find('h1').text()).toEqual('E se você esquecer sua senha?');    });  }); diff --git a/web-ui/webpack.config.js b/web-ui/webpack.config.js index f0f605b0..59d2ae5b 100644 --- a/web-ui/webpack.config.js +++ b/web-ui/webpack.config.js @@ -26,6 +26,10 @@ module.exports = {          exclude: /(node_modules|bower_components)/,          loader: 'babel',          query: { presets: ['es2015', 'react']} +      }, +      { +        test: /\.scss|css$/, +        loader: "style-loader!css-loader!sass-loader"        }      ]    }, diff --git a/web-ui/webpack.production.config.js b/web-ui/webpack.production.config.js index 55069c3f..bc10b90e 100644 --- a/web-ui/webpack.production.config.js +++ b/web-ui/webpack.production.config.js @@ -25,6 +25,10 @@ module.exports = {          test: /\.js$/,          loader: 'babel',          query: { presets: ['es2015', 'react']} +      }, +      { +        test: /\.scss|css$/, +        loader: "style-loader!css-loader!sass-loader"        }      ]    }, diff --git a/web-ui/webpack.test.config.js b/web-ui/webpack.test.config.js new file mode 100644 index 00000000..d3b245fc --- /dev/null +++ b/web-ui/webpack.test.config.js @@ -0,0 +1,34 @@ +var path = require('path'); +var webpack = require('webpack'); +var copyWebpack = require('./config/copy-webpack'); +var aliases = require('./config/alias-webpack'); + +module.exports = { +  resolve: { +    alias: aliases, +    extensions: ['', '.js'] +  }, +  externals: { +    'react/lib/ExecutionEnvironment': true, +    'react/addons': true, +    'react/lib/ReactContext': 'window' +  }, +  module: { +    loaders: [ +      { +        test: /\.js$/, +        exclude: /(node_modules|bower_components)/, +        loader: 'babel', +        query: { presets: ['es2015', 'react']} +      }, +      { +        test: /\.scss|css$/, +        loader: "css-loader!sass-loader" +      }, +      { +        test: /\.json$/, +        loader: "json-loader" +      } +    ] +  } +} | 
