add login page
Showing
135 changed files
with
1609 additions
and
1 deletions
.editorconfig
0 → 100644
1 | # EditorConfig helps developers define and maintain consistent | ||
2 | # coding styles between different editors and IDEs | ||
3 | # editorconfig.org | ||
4 | |||
5 | root = true | ||
6 | |||
7 | |||
8 | [*] | ||
9 | end_of_line = lf | ||
10 | charset = utf-8 | ||
11 | trim_trailing_whitespace = true | ||
12 | insert_final_newline = true | ||
13 | indent_style = space | ||
14 | indent_size = 2 | ||
15 | |||
16 | [*.hbs] | ||
17 | insert_final_newline = false | ||
18 | |||
19 | [*.{diff,md}] | ||
20 | trim_trailing_whitespace = false |
.ember-cli
0 → 100644
1 | { | ||
2 | /** | ||
3 | Ember CLI sends analytics information by default. The data is completely | ||
4 | anonymous, but there are times when you might want to disable this behavior. | ||
5 | |||
6 | Setting `disableAnalytics` to true will prevent any data from being sent. | ||
7 | */ | ||
8 | "disableAnalytics": true, | ||
9 | "liveReload": false | ||
10 | } |
.gitignore
0 → 100644
.jshintrc
0 → 100644
1 | { | ||
2 | "predef": [ | ||
3 | "document", | ||
4 | "window", | ||
5 | "-Promise" | ||
6 | ], | ||
7 | "browser": true, | ||
8 | "boss": true, | ||
9 | "curly": true, | ||
10 | "debug": false, | ||
11 | "devel": true, | ||
12 | "eqeqeq": true, | ||
13 | "evil": true, | ||
14 | "forin": false, | ||
15 | "immed": false, | ||
16 | "laxbreak": false, | ||
17 | "newcap": true, | ||
18 | "noarg": true, | ||
19 | "noempty": false, | ||
20 | "nonew": false, | ||
21 | "nomen": false, | ||
22 | "onevar": false, | ||
23 | "plusplus": false, | ||
24 | "regexp": false, | ||
25 | "undef": true, | ||
26 | "sub": true, | ||
27 | "strict": false, | ||
28 | "white": false, | ||
29 | "eqnull": true, | ||
30 | "esversion": 6, | ||
31 | "unused": true | ||
32 | } |
.travis.yml
0 → 100644
1 | --- | ||
2 | language: node_js | ||
3 | node_js: | ||
4 | - "4" | ||
5 | |||
6 | sudo: false | ||
7 | |||
8 | cache: | ||
9 | directories: | ||
10 | - node_modules | ||
11 | |||
12 | before_install: | ||
13 | - npm config set spin false | ||
14 | - npm install -g bower | ||
15 | - bower --version | ||
16 | - npm install phantomjs-prebuilt | ||
17 | - node_modules/phantomjs-prebuilt/bin/phantomjs --version | ||
18 | |||
19 | install: | ||
20 | - npm install | ||
21 | - bower install | ||
22 | |||
23 | script: | ||
24 | - npm test |
.watchmanconfig
0 → 100644
1 | Hello, test | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | # Ebookcoin | ||
2 | |||
3 | This README outlines the details of collaborating on this Ember application. | ||
4 | A short introduction of this app could easily go here. | ||
5 | |||
6 | ## Prerequisites | ||
7 | |||
8 | You will need the following things properly installed on your computer. | ||
9 | |||
10 | * [Git](http://git-scm.com/) | ||
11 | * [Node.js](http://nodejs.org/) (with NPM) | ||
12 | * [Bower](http://bower.io/) | ||
13 | * [Ember CLI](http://ember-cli.com/) | ||
14 | * [PhantomJS](http://phantomjs.org/) | ||
15 | |||
16 | ## Installation | ||
17 | |||
18 | * `git clone <repository-url>` this repository | ||
19 | * `cd ebookcoin` | ||
20 | * `npm install` | ||
21 | * `bower install` | ||
22 | |||
23 | ## Running / Development | ||
24 | |||
25 | * `ember serve` | ||
26 | * Visit your app at [http://localhost:4200](http://localhost:4200). | ||
27 | |||
28 | ### Code Generators | ||
29 | |||
30 | Make use of the many generators for code, try `ember help generate` for more details | ||
31 | |||
32 | ### Running Tests | ||
33 | |||
34 | * `ember test` | ||
35 | * `ember test --server` | ||
36 | |||
37 | ### Building | ||
38 | |||
39 | * `ember build` (development) | ||
40 | * `ember build --environment production` (production) | ||
41 | |||
42 | ### Deploying | ||
43 | |||
44 | Specify what it takes to deploy your app. | ||
45 | |||
46 | ## Further Reading / Useful Links | ||
47 | |||
48 | * [ember.js](http://emberjs.com/) | ||
49 | * [ember-cli](http://ember-cli.com/) | ||
50 | * Development Browser Extensions | ||
51 | * [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi) | ||
52 | * [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/) | ||
53 | ... | ... |
app/app.js
0 → 100644
1 | import Ember from 'ember'; | ||
2 | import Resolver from './resolver'; | ||
3 | import loadInitializers from 'ember-load-initializers'; | ||
4 | import config from './config/environment'; | ||
5 | |||
6 | let App; | ||
7 | |||
8 | Ember.MODEL_FACTORY_INJECTIONS = true; | ||
9 | |||
10 | App = Ember.Application.extend({ | ||
11 | modulePrefix: config.modulePrefix, | ||
12 | podModulePrefix: config.podModulePrefix, | ||
13 | Resolver | ||
14 | }); | ||
15 | |||
16 | loadInitializers(App, config.modulePrefix); | ||
17 | |||
18 | export default App; |
app/components/.gitkeep
0 → 100644
File mode changed
app/components/language-selector.js
0 → 100644
1 | import Ember from 'ember'; | ||
2 | |||
3 | export default Ember.Component.extend({ | ||
4 | i18n: Ember.inject.service(), | ||
5 | classNames: ['language-selector'], | ||
6 | |||
7 | locales: Ember.computed('i18n.locale', 'i18n.locales', function() { | ||
8 | const i18n = this.get('i18n'); | ||
9 | return this.get('i18n.locales').map(function(loc) { | ||
10 | return { | ||
11 | id: loc, | ||
12 | text: i18n.t('site.language.' + loc) | ||
13 | }; | ||
14 | }); | ||
15 | }), | ||
16 | |||
17 | actions: { | ||
18 | setLocale() { | ||
19 | this.set('i18n.locale', this.$('select').val()); | ||
20 | } | ||
21 | } | ||
22 | }); |
app/controllers/.gitkeep
0 → 100644
File mode changed
app/helpers/.gitkeep
0 → 100644
File mode changed
app/helpers/is-equal.js
0 → 100644
app/index.html
0 → 100644
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset="utf-8"> | ||
5 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
6 | <title>Ebookcoin</title> | ||
7 | <meta name="description" content="Ebookcoin - Decentralized Application Platform"> | ||
8 | <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
9 | |||
10 | {{content-for "head"}} | ||
11 | |||
12 | <link rel="stylesheet" href="{{rootURL}}assets/vendor.css"> | ||
13 | <link rel="stylesheet" href="{{rootURL}}assets/ebookcoin.css"> | ||
14 | |||
15 | {{content-for "head-footer"}} | ||
16 | </head> | ||
17 | <body> | ||
18 | {{content-for "body"}} | ||
19 | |||
20 | <script src="{{rootURL}}assets/vendor.js"></script> | ||
21 | <script src="{{rootURL}}assets/ebookcoin.js"></script> | ||
22 | |||
23 | {{content-for "body-footer"}} | ||
24 | </body> | ||
25 | </html> |
app/locales/en/config.js
0 → 100644
1 | // Ember-I18n includes configuration for common locales. Most users | ||
2 | // can safely delete this file. Use it if you need to override behavior | ||
3 | // for a locale or define behavior for a locale that Ember-I18n | ||
4 | // doesn't know about. | ||
5 | export default { | ||
6 | // rtl: [true|FALSE], | ||
7 | // | ||
8 | // pluralForm: function(count) { | ||
9 | // if (count === 0) { return 'zero'; } | ||
10 | // if (count === 1) { return 'one'; } | ||
11 | // if (count === 2) { return 'two'; } | ||
12 | // if (count < 5) { return 'few'; } | ||
13 | // if (count >= 5) { return 'many'; } | ||
14 | // return 'other'; | ||
15 | // } | ||
16 | }; |
app/locales/en/translations.js
0 → 100644
1 | export default { | ||
2 | site: { | ||
3 | title: "A new driving force for human creation!", | ||
4 | language: { | ||
5 | en: "English", | ||
6 | "en-us": "English American", | ||
7 | "zh-cn": "中文" | ||
8 | } | ||
9 | }, | ||
10 | |||
11 | passphrase: { | ||
12 | newAccount: "NEW ACCOUNT", | ||
13 | yourPassphrase: "Your Passphrase", | ||
14 | signIn: "SIGN IN", | ||
15 | remember: "Remember during this session", | ||
16 | errorMessage: "Passphrase must contain less than 100 characters." | ||
17 | } | ||
18 | }; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/locales/zh-cn/config.js
0 → 100644
1 | // Ember-I18n includes configuration for common locales. Most users | ||
2 | // can safely delete this file. Use it if you need to override behavior | ||
3 | // for a locale or define behavior for a locale that Ember-I18n | ||
4 | // doesn't know about. | ||
5 | export default { | ||
6 | // rtl: [true|FALSE], | ||
7 | // | ||
8 | // pluralForm: function(count) { | ||
9 | // if (count === 0) { return 'zero'; } | ||
10 | // if (count === 1) { return 'one'; } | ||
11 | // if (count === 2) { return 'two'; } | ||
12 | // if (count < 5) { return 'few'; } | ||
13 | // if (count >= 5) { return 'many'; } | ||
14 | // return 'other'; | ||
15 | // } | ||
16 | }; |
app/locales/zh-cn/translations.js
0 → 100644
1 | export default { | ||
2 | site: { | ||
3 | title: "A new driving force for human creation!", | ||
4 | language: { | ||
5 | en: "English", | ||
6 | "en-us": "English American", | ||
7 | "zh-cn": "中文" | ||
8 | } | ||
9 | }, | ||
10 | passphrase: { | ||
11 | newAccount: "新帐户", | ||
12 | yourPassphrase: "您的主密码", | ||
13 | signIn: "登陆", | ||
14 | remember: "保持Session状态", | ||
15 | errorMessage: "主密码必须小于100个字符" | ||
16 | } | ||
17 | }; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/models/.gitkeep
0 → 100644
File mode changed
app/resolver.js
0 → 100644
app/router.js
0 → 100644
1 | import Ember from 'ember'; | ||
2 | import config from './config/environment'; | ||
3 | |||
4 | const Router = Ember.Router.extend({ | ||
5 | location: config.locationType, | ||
6 | rootURL: config.rootURL | ||
7 | }); | ||
8 | |||
9 | Router.map(function() { | ||
10 | this.route('passphrase', { path: '/' }); | ||
11 | this.route('account'); | ||
12 | }); | ||
13 | |||
14 | export default Router; |
app/routes/.gitkeep
0 → 100644
File mode changed
app/routes/account.js
0 → 100644
app/routes/passphrase.js
0 → 100644
app/styles/account.less
0 → 100644
1 | #account { | ||
2 | #paddingFix { | ||
3 | .button { | ||
4 | margin: 0px; | ||
5 | padding: 15px 13px 13px; | ||
6 | |||
7 | &.label { | ||
8 | width: 235px; | ||
9 | white-space: nowrap; | ||
10 | overflow: hidden; | ||
11 | text-overflow: ellipsis; | ||
12 | &.forging { | ||
13 | width: inherit; | ||
14 | } | ||
15 | } | ||
16 | } | ||
17 | } | ||
18 | |||
19 | .raw-buttons { | ||
20 | #buttons { | ||
21 | display: inline-block; | ||
22 | |||
23 | .container { | ||
24 | display: inline-block; | ||
25 | } | ||
26 | } | ||
27 | .send, .free { | ||
28 | width: 141px; | ||
29 | } | ||
30 | } | ||
31 | |||
32 | #transactions { | ||
33 | margin-bottom: 20px; | ||
34 | } | ||
35 | |||
36 | } | ||
37 | |||
38 | .account-block { | ||
39 | color: @white; | ||
40 | font-size: @content-text; | ||
41 | background-color: @gray3; | ||
42 | /* box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 0.8) inset; | ||
43 | -webkit-box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 0.8) inset;*/ | ||
44 | padding: 17px 8px; | ||
45 | .icon { | ||
46 | width: 64px; | ||
47 | height: 64px; | ||
48 | border-radius: 50%; | ||
49 | overflow: hidden; | ||
50 | margin: 0 auto 20px; | ||
51 | } | ||
52 | .name { | ||
53 | letter-spacing: 0.5px; | ||
54 | padding: 5px 0; | ||
55 | text-align: center; | ||
56 | display: block; | ||
57 | margin: 0 auto; | ||
58 | &.name-add { | ||
59 | cursor: pointer; | ||
60 | } | ||
61 | } | ||
62 | .address { | ||
63 | display: block; | ||
64 | margin: 0 auto; | ||
65 | padding: 5px 0 0; | ||
66 | text-align: center; | ||
67 | } | ||
68 | } |
app/styles/app.less
0 → 100644
1 | |||
2 | /*@import "materialize";*/ | ||
3 | /*@font-face { | ||
4 | font-family: "Material Icons"; | ||
5 | font-style: normal; | ||
6 | font-weight: 400; | ||
7 | src: url("/font/material-google/MaterialIcons-Regular.eot"); /* For IE6-8 | ||
8 | src: local("Material Icons"), | ||
9 | local("MaterialIcons-Regular"), | ||
10 | url("/font/material-google/MaterialIcons-Regular.woff2") format("woff2"), | ||
11 | url("/font/material-google/MaterialIcons-Regular.woff") format("woff"), | ||
12 | url("/font/material-google/MaterialIcons-Regular.ttf") format("truetype"); | ||
13 | } | ||
14 | */ | ||
15 | |||
16 | /*JOINT STYLES*/ | ||
17 | /* html5doctor.com Reset v1.6.1 - http://cssreset.com */ | ||
18 | html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { | ||
19 | margin: 0; | ||
20 | padding: 0; | ||
21 | border: 0; | ||
22 | outline: 0; | ||
23 | font-size: 14px; | ||
24 | vertical-align: baseline; | ||
25 | background: transparent | ||
26 | } | ||
27 | |||
28 | body { | ||
29 | line-height: 1; | ||
30 | background-color: @background; | ||
31 | } | ||
32 | body>.ember-view{ | ||
33 | height: 100%; | ||
34 | } | ||
35 | |||
36 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { | ||
37 | display: block | ||
38 | } | ||
39 | |||
40 | nav ul { | ||
41 | list-style: none | ||
42 | } | ||
43 | |||
44 | blockquote, q { | ||
45 | quotes: none | ||
46 | } | ||
47 | |||
48 | blockquote:before, blockquote:after, q:before, q:after { | ||
49 | content: none | ||
50 | } | ||
51 | |||
52 | a { | ||
53 | margin: 0; | ||
54 | padding: 0; | ||
55 | font-size: 100%; | ||
56 | vertical-align: baseline; | ||
57 | background: transparent | ||
58 | } | ||
59 | |||
60 | ins { | ||
61 | background-color: #ff9; | ||
62 | color: #000; | ||
63 | text-decoration: none | ||
64 | } | ||
65 | |||
66 | mark { | ||
67 | background-color: #ff9; | ||
68 | color: #000; | ||
69 | font-style: italic; | ||
70 | font-weight: bold | ||
71 | } | ||
72 | |||
73 | del { | ||
74 | text-decoration: line-through | ||
75 | } | ||
76 | |||
77 | abbr[title], dfn[title] { | ||
78 | border-bottom: 1px dotted; | ||
79 | cursor: help | ||
80 | } | ||
81 | |||
82 | table { | ||
83 | border-collapse: collapse; | ||
84 | border-spacing: 0 | ||
85 | } | ||
86 | |||
87 | hr { | ||
88 | display: block; | ||
89 | height: 1px; | ||
90 | border: 0; | ||
91 | border-top: 1px solid #ccc; | ||
92 | margin: 1em 0; | ||
93 | padding: 0 | ||
94 | } | ||
95 | |||
96 | input, select { | ||
97 | vertical-align: middle | ||
98 | } | ||
99 | |||
100 | html, body { | ||
101 | height: 100%; | ||
102 | position: relative; | ||
103 | font-family: "Roboto", sans-serif; | ||
104 | overflow-x: hidden; | ||
105 | } | ||
106 | |||
107 | .height { | ||
108 | position: relative; | ||
109 | min-height: 100% !important; | ||
110 | height: 100%; | ||
111 | } | ||
112 | |||
113 | .container-fluid { | ||
114 | position: relative; | ||
115 | } | ||
116 | |||
117 | .partials-rules { | ||
118 | position: absolute; | ||
119 | top: 26px; | ||
120 | left: 26px; | ||
121 | right: 26px; | ||
122 | } | ||
123 | |||
124 | h1 { | ||
125 | font-size: 20px; | ||
126 | font-weight: bold; | ||
127 | } | ||
128 | |||
129 | h2.account-id { | ||
130 | font-size: 15px; | ||
131 | font-weight: bold; | ||
132 | color: #9b9d9e; | ||
133 | float: right; | ||
134 | margin-top: 8px; | ||
135 | |||
136 | a { | ||
137 | color: #9b9d9e; | ||
138 | } | ||
139 | } | ||
140 | |||
141 | h3.start-red { | ||
142 | font-size: 14px; | ||
143 | font-weight: bold; | ||
144 | color: #b25b5b; | ||
145 | display: inline-block; | ||
146 | } | ||
147 | |||
148 | .red { | ||
149 | color: #b25b5b; | ||
150 | } | ||
151 | |||
152 | .green { | ||
153 | color: #61b26e; | ||
154 | } | ||
155 | |||
156 | h3.start-green { | ||
157 | color: #61b26e; | ||
158 | font-size: 14px; | ||
159 | font-weight: bold; | ||
160 | display: inline-block; | ||
161 | } | ||
162 | |||
163 | .raw-buttons { | ||
164 | min-width: 986px; | ||
165 | height: 56px; | ||
166 | margin-top: 26px; | ||
167 | margin-bottom: 22px; | ||
168 | } | ||
169 | |||
170 | .button { | ||
171 | border: none; | ||
172 | margin: 0 0 0 26px; | ||
173 | -moz-box-sizing: border-box; | ||
174 | -ms-box-sizing: border-box; | ||
175 | -webkit-box-sizing: border-box; | ||
176 | box-sizing: border-box; | ||
177 | padding: 15px 16px 13px 16px; | ||
178 | background-color: #fff; | ||
179 | color: #9b9d9e; | ||
180 | -webkit-border-radius: 3px; | ||
181 | -moz-border-radius: 3px; | ||
182 | border-radius: 3px; | ||
183 | -webkit-box-shadow: 0px 3px 0px #d4d5d6; | ||
184 | -moz-box-shadow: 0px 3px 0px #d4d5d6; | ||
185 | box-shadow: 0px 3px 0px #d4d5d6; | ||
186 | cursor: pointer; | ||
187 | font-size: 14px; | ||
188 | font-weight: bold; | ||
189 | position: relative; | ||
190 | |||
191 | &:first-child { | ||
192 | margin: 0; | ||
193 | } | ||
194 | |||
195 | &:focus { | ||
196 | outline: none; | ||
197 | } | ||
198 | &:active { | ||
199 | top: 3px; | ||
200 | -webkit-box-shadow: 0px 0px 0px #d4d5d6; | ||
201 | -moz-box-shadow: 0px 0px 0px #d4d5d6; | ||
202 | box-shadow: 0px 0px 0px #d4d5d6; | ||
203 | } | ||
204 | &.green { | ||
205 | background-color: #61b26e; | ||
206 | color: #fff; | ||
207 | -webkit-box-shadow: 0px 3px 0px #50955c; | ||
208 | -moz-box-shadow: 0px 3px 0px #50955c; | ||
209 | box-shadow: 0px 3px 0px #50955c; | ||
210 | |||
211 | &:active { | ||
212 | top: 3px; | ||
213 | -webkit-box-shadow: 0px 0px 0px #50955c; | ||
214 | -moz-box-shadow: 0px 0px 0px #50955c; | ||
215 | box-shadow: 0px 0px 0px #50955c; | ||
216 | } | ||
217 | |||
218 | &:disabled { | ||
219 | top: 0px; | ||
220 | background-color: rgba(97, 178, 110, 0.3); | ||
221 | -webkit-box-shadow: 0px 3px 0px rgba(80, 149, 92, 0.3); | ||
222 | -moz-box-shadow: 0px 3px 0px rgba(80, 149, 92, 0.3); | ||
223 | box-shadow: 0px 3px 0px rgba(80, 149, 92, 0.3); | ||
224 | } | ||
225 | } | ||
226 | |||
227 | &.red { | ||
228 | background-color: #ED4A4A; | ||
229 | color: #fff; | ||
230 | -webkit-box-shadow: 0px 3px 0px #E67A7A; | ||
231 | -moz-box-shadow: 0px 3px 0px #E67A7A; | ||
232 | box-shadow: 0px 3px 0px #E67A7A; | ||
233 | |||
234 | &:active { | ||
235 | top: 3px; | ||
236 | -webkit-box-shadow: 0px 0px 0px #E67A7A; | ||
237 | -moz-box-shadow: 0px 0px 0px #E67A7A; | ||
238 | box-shadow: 0px 0px 0px #E67A7A; | ||
239 | } | ||
240 | |||
241 | &:disabled { | ||
242 | top: 0px; | ||
243 | background-color: rgba(237, 74, 74, 0.3); | ||
244 | -webkit-box-shadow: 0px 3px 0px rgba(230, 122, 122, 0.3); | ||
245 | -moz-box-shadow: 0px 3px 0px rgba(230, 122, 122, 0.3); | ||
246 | box-shadow: 0px 3px 0px rgba(230, 122, 122, 0.3); | ||
247 | } | ||
248 | } | ||
249 | &.static { | ||
250 | cursor: default; | ||
251 | &:active { | ||
252 | top: 0; | ||
253 | -webkit-box-shadow: 0px 3px 0px #d4d5d6; | ||
254 | -moz-box-shadow: 0px 3px 0px #d4d5d6; | ||
255 | box-shadow: 0px 3px 0px #d4d5d6; | ||
256 | } | ||
257 | } | ||
258 | |||
259 | &.small { | ||
260 | font-size: 13px; | ||
261 | padding: 7px; | ||
262 | } | ||
263 | |||
264 | span { | ||
265 | color: #4f5051; | ||
266 | } | ||
267 | } | ||
268 | |||
269 | .row { | ||
270 | height: 31px; | ||
271 | } | ||
272 | |||
273 | table { | ||
274 | margin-top: 25px; | ||
275 | background-color: #fff; | ||
276 | -webkit-border-radius: 3px; | ||
277 | -moz-border-radius: 3px; | ||
278 | border-radius: 3px; | ||
279 | -webkit-box-shadow: 0px 1px 0px #dbdcdd; | ||
280 | -moz-box-shadow: 0px 1px 0px #dbdcdd; | ||
281 | box-shadow: 0 1px 0 #dbdcdd; | ||
282 | |||
283 | th { | ||
284 | color: #9b9d9e; | ||
285 | vertical-align: middle; | ||
286 | font-weight: normal; | ||
287 | font-size: 14px; | ||
288 | border-bottom: 1px solid #ebeced; | ||
289 | } | ||
290 | |||
291 | td { | ||
292 | color: #9b9d9e; | ||
293 | vertical-align: middle; | ||
294 | font-weight: bold; | ||
295 | text-align: center; | ||
296 | font-size: 15px; | ||
297 | } | ||
298 | |||
299 | tr { | ||
300 | &.green td { | ||
301 | color: #61b26e; | ||
302 | } | ||
303 | } | ||
304 | } | ||
305 | |||
306 | .pointer { | ||
307 | cursor: pointer; | ||
308 | text-decoration: underline; | ||
309 | |||
310 | &:hover { | ||
311 | color: black; | ||
312 | } | ||
313 | } | ||
314 | |||
315 | .form { | ||
316 | display: block; | ||
317 | margin-top: 50px; | ||
318 | |||
319 | .input-text { | ||
320 | padding: 5px; | ||
321 | border-radius: 5px; | ||
322 | font-size: 14px; | ||
323 | color: #777; | ||
324 | width: 100%; | ||
325 | outline: 0; | ||
326 | margin-bottom: 10px; | ||
327 | -moz-box-sizing: border-box; | ||
328 | -ms-box-sizing: border-box; | ||
329 | -webkit-box-sizing: border-box; | ||
330 | box-sizing: border-box; | ||
331 | |||
332 | &:active { | ||
333 | outline: 0; | ||
334 | } | ||
335 | } | ||
336 | |||
337 | .button { | ||
338 | margin-top: 20px; | ||
339 | margin-left: 5px; | ||
340 | display: inline-block; | ||
341 | } | ||
342 | } | ||
343 | |||
344 | label { | ||
345 | font-size: 14px; | ||
346 | } | ||
347 | |||
348 | .pull-left { | ||
349 | float: left; | ||
350 | } | ||
351 | |||
352 | .pull-right { | ||
353 | float: right; | ||
354 | } | ||
355 | |||
356 | p.description { | ||
357 | font-size: 14px; | ||
358 | clear: both; | ||
359 | margin-top: 40px; | ||
360 | line-height: 1.3; | ||
361 | } | ||
362 | |||
363 | .instruction { | ||
364 | font-size: 14px; | ||
365 | width: 100%; | ||
366 | position: relative; | ||
367 | line-height: 1.3; | ||
368 | margin-top: 5px; | ||
369 | list-style-type: circle; | ||
370 | |||
371 | ul { | ||
372 | width: 100%; | ||
373 | font-size: 14px; | ||
374 | line-height: 1.3; | ||
375 | |||
376 | li { | ||
377 | display: block; | ||
378 | word-wrap: break-word; | ||
379 | width: 100%; | ||
380 | margin-left: 15px; | ||
381 | margin-top: 2px; | ||
382 | } | ||
383 | } | ||
384 | } | ||
385 | |||
386 | .forging-link { | ||
387 | color: #4f5051; | ||
388 | position: absolute; | ||
389 | top: 20px; | ||
390 | right: 20px; | ||
391 | font-size: 13px; | ||
392 | font-weight: bold; | ||
393 | |||
394 | a { | ||
395 | text-decoration: none; | ||
396 | color: #4f5051; | ||
397 | |||
398 | &.disabled { | ||
399 | color: #4f5051; | ||
400 | } | ||
401 | } | ||
402 | } | ||
403 | |||
404 | .syncLabel { | ||
405 | position: absolute;; | ||
406 | bottom: 10px; | ||
407 | right: 10px; | ||
408 | width: 230px; | ||
409 | line-height: 1.25; | ||
410 | background: rgba(0, 0, 0, 0.2); | ||
411 | font-size: 13px; | ||
412 | padding: 7px; | ||
413 | border-radius: 7px; | ||
414 | cursor: pointer; | ||
415 | } | ||
416 | |||
417 | #message-error { | ||
418 | display: block; | ||
419 | width: 492px; | ||
420 | line-height: 1.6; | ||
421 | margin: 15px auto 0 auto; | ||
422 | font-size: 13px; | ||
423 | text-align: center; | ||
424 | color: #F24A65; | ||
425 | } | ||
426 | |||
427 | .no-select { | ||
428 | -webkit-user-select: none; /* Chrome/Safari */ | ||
429 | -moz-user-select: none; /* Firefox */ | ||
430 | -ms-user-select: none; /* IE10+ */ | ||
431 | /* Rules below not implemented in browsers yet */ | ||
432 | -o-user-select: none; | ||
433 | user-select: none; | ||
434 | } | ||
435 | |||
436 | input:-webkit-autofill { | ||
437 | -webkit-box-shadow: 0 0 0px 1000px white inset; | ||
438 | } | ||
439 | |||
440 | /*END OF JOINT STYLES*/ | ||
441 | @import "pass"; | ||
442 | @import "language"; | ||
443 | @import "images"; | ||
444 | @import "variables"; | ||
445 | @import "elements"; | ||
446 | @import "material"; | ||
447 | @import "buttons"; | ||
448 | /*@import "sidebar"; | ||
449 | @import "panels"; | ||
450 | @import "index"; | ||
451 | @import "account"; | ||
452 | @import "blockchain"; | ||
453 | @import "mining"; | ||
454 | |||
455 | @import "modal"; | ||
456 | @import "block-modal"; | ||
457 | @import "forging"; | ||
458 | @import "delegates"; | ||
459 | @import "ngtable"; | ||
460 | @import "media"; | ||
461 | @import "nav"; | ||
462 | @import "page"; | ||
463 | |||
464 | @import "grid"; | ||
465 | |||
466 | @import "inputs"; | ||
467 | @import "mixins"; | ||
468 | |||
469 | @import "images"; | ||
470 | @import "empty"; | ||
471 | @import "mediaqueries"; | ||
472 | @import "pie-chart"; | ||
473 | @import "settings"; | ||
474 | @import "dapps"; | ||
475 | @import "multi"; | ||
476 | */ |
app/styles/buttons.less
0 → 100644
1 | .btn { | ||
2 | display: inline-block; | ||
3 | padding: 0 14px; | ||
4 | font-size: 14px; | ||
5 | font-weight: normal; | ||
6 | line-height: 36px; | ||
7 | border: none; | ||
8 | border-radius: @border-radius; | ||
9 | |||
10 | &.btn-blue-nav { | ||
11 | background-color: @blue !important; | ||
12 | &:hover, &:focus, &.focus { | ||
13 | color: @white | ||
14 | } | ||
15 | } | ||
16 | |||
17 | &.btn-blue { | ||
18 | background-color: @blue !important; | ||
19 | &[disabled]{ | ||
20 | -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12); | ||
21 | -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12); | ||
22 | box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12); | ||
23 | } | ||
24 | &:hover, &:focus, &.focus { | ||
25 | color: @white | ||
26 | } | ||
27 | } | ||
28 | |||
29 | &.btn-sky-blue { | ||
30 | background-color: @sky-blue !important; | ||
31 | &:hover, &:focus, &.focus { | ||
32 | color: @white | ||
33 | } | ||
34 | } | ||
35 | |||
36 | &.btn-dark-meant { | ||
37 | background-color: transparent; | ||
38 | box-shadow: none; | ||
39 | color: #212121; | ||
40 | &:hover, &:focus, &.focus { | ||
41 | background-color: @dark-meant; | ||
42 | box-shadow: none; | ||
43 | color: @white; | ||
44 | } | ||
45 | } | ||
46 | |||
47 | &.btn-white { | ||
48 | background-color: @white !important; | ||
49 | color: @black; | ||
50 | &:hover, &:focus, &.focus { | ||
51 | color: @black | ||
52 | } | ||
53 | } | ||
54 | &.btn-marging { | ||
55 | margin-right: 10px; | ||
56 | } | ||
57 | } | ||
58 | |||
59 | .buttons-panel { | ||
60 | margin-top: 40px; | ||
61 | } |
app/styles/elements.less
0 → 100644
This diff is collapsed.
Click to expand it.
app/styles/images.less
0 → 100644
app/styles/language.less
0 → 100644
app/styles/material.less
0 → 100644
1 | input[type=text], input[type=password], input[type=email], input[type=url], input[type=time], input[type=date], input[type=datetime-local], input[type=tel], input[type=number], input[type=search] { | ||
2 | height: 2.2rem; | ||
3 | width: 100%; | ||
4 | font-size: 1.15rem; | ||
5 | } | ||
6 | |||
7 | .input-field label { | ||
8 | top: .6rem; | ||
9 | left: 0; | ||
10 | font-size: 1.15rem; | ||
11 | opacity: 1; | ||
12 | color: #b8b8b8; | ||
13 | &.active { | ||
14 | font-size: .8rem; | ||
15 | -webkit-transform: translateY(-160%); | ||
16 | -moz-transform: translateY(-160%); | ||
17 | -ms-transform: translateY(-160%); | ||
18 | -o-transform: translateY(-160%); | ||
19 | transform: translateY(-160%); | ||
20 | } | ||
21 | } | ||
22 | |||
23 | .input-field { | ||
24 | position: relative; | ||
25 | margin-top: 1.6rem; | ||
26 | } | ||
27 | |||
28 | .switch label .lever { | ||
29 | margin-left: 0; | ||
30 | } | ||
31 | |||
32 | .switch.margin { | ||
33 | margin-top: 20px; | ||
34 | } | ||
35 | |||
36 | .progress { | ||
37 | position: relative; | ||
38 | height: 4px; | ||
39 | display: block; | ||
40 | width: 100%; | ||
41 | background-color: #90caf9; | ||
42 | border-radius: 2px; | ||
43 | margin: 0.5rem 0 1rem 0; | ||
44 | overflow: hidden; | ||
45 | .determinate { | ||
46 | position: absolute; | ||
47 | background-color: inherit; | ||
48 | top: 0; | ||
49 | bottom: 0; | ||
50 | background-color: #209bde; | ||
51 | -webkit-transition: width .3s linear; | ||
52 | -moz-transition: width .3s linear; | ||
53 | -o-transition: width .3s linear; | ||
54 | -ms-transition: width .3s linear; | ||
55 | transition: width .3s linear; | ||
56 | } | ||
57 | } | ||
58 | |||
59 | .materialize-textarea-big { | ||
60 | textarea.materialize-textarea { | ||
61 | font-size: 1.14rem; | ||
62 | overflow-y: hidden; | ||
63 | padding: 0; | ||
64 | resize: none; | ||
65 | min-height: 3rem; | ||
66 | margin: 0; | ||
67 | } | ||
68 | label.active { | ||
69 | top: 0; | ||
70 | } | ||
71 | } | ||
72 | |||
73 | [type=checkbox].filled-in:checked + label.imaged:before { | ||
74 | top: 15px; | ||
75 | } | ||
76 | |||
77 | [type=checkbox].filled-in:checked + label.imaged:after { | ||
78 | top: 15px; | ||
79 | } | ||
80 | |||
81 | [type=checkbox].filled-in:not(:checked) + label.imaged:after { | ||
82 | top: 15px; | ||
83 | } | ||
84 | |||
85 | label.imaged { | ||
86 | img{ | ||
87 | height: 50px; | ||
88 | } | ||
89 | } |
app/styles/pass.less
0 → 100644
1 | #pass { | ||
2 | background-color: #ebeced; | ||
3 | height: 100%; | ||
4 | min-height: 500px; | ||
5 | .sign-in-button { | ||
6 | padding: 8px 14px; | ||
7 | border: none; | ||
8 | margin-top: 40px; | ||
9 | background-color: @sky-blue; | ||
10 | color: #fff; | ||
11 | font-size: 14px; | ||
12 | font-weight: normal; | ||
13 | -webkit-border-radius: 3px; | ||
14 | -moz-border-radius: 3px; | ||
15 | border-radius: 3px; | ||
16 | -webkit-box-shadow: none; | ||
17 | -moz-box-shadow: none; | ||
18 | box-shadow: none; | ||
19 | &:active { | ||
20 | top: 0; | ||
21 | background-image: none; | ||
22 | outline: 0; | ||
23 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .3); | ||
24 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .3); | ||
25 | } | ||
26 | } | ||
27 | } | ||
28 | |||
29 | .pass-banner { | ||
30 | background-image: url('/images/banner.jpg'); | ||
31 | background-repeat: no-repeat; | ||
32 | background-size: cover; | ||
33 | width: 100%; | ||
34 | height: 40%; | ||
35 | } | ||
36 | |||
37 | .pass-bottom { | ||
38 | width: 100%; | ||
39 | height: 60%; | ||
40 | position: relative; | ||
41 | } | ||
42 | |||
43 | .pass-window { | ||
44 | width: 372px; | ||
45 | background-color: #ffffff; | ||
46 | border: solid 1px #cecece; | ||
47 | margin: -100px auto 0; | ||
48 | border-radius: 4px; | ||
49 | &-icon { | ||
50 | background-repeat: no-repeat; | ||
51 | height: 100px; | ||
52 | background-color: @gray2; | ||
53 | background-image: url('/images/logo-white.png'); | ||
54 | margin: -1px; | ||
55 | border-radius: 4px 4px 0 0; | ||
56 | background-position: center; | ||
57 | } | ||
58 | &-form { | ||
59 | padding: 10px 25px 25px; | ||
60 | } | ||
61 | } | ||
62 | |||
63 | .pass-footer { | ||
64 | position: absolute; | ||
65 | bottom: -80px; | ||
66 | text-align: center; | ||
67 | width: 100%; | ||
68 | color: #000; | ||
69 | opacity: 0.54; | ||
70 | font-size: 14px; | ||
71 | |||
72 | @media (max-height: 550px) { | ||
73 | position: relative; | ||
74 | padding: 1em; | ||
75 | } | ||
76 | } | ||
77 | |||
78 | #login-form { | ||
79 | width: 526px; | ||
80 | height: 250px; | ||
81 | background-color: #fff; | ||
82 | border-radius: 3px; | ||
83 | box-shadow: 0 1px rgba(0, 0, 0, 0.07); | ||
84 | } | ||
85 | |||
86 | #center { | ||
87 | position: absolute; | ||
88 | width: 526px; | ||
89 | height: 295px; | ||
90 | margin-top: -210px; | ||
91 | margin-left: -263px; | ||
92 | left: 50%; | ||
93 | top: 50%; | ||
94 | } | ||
95 | |||
96 | #enter { | ||
97 | font-size: 13px; | ||
98 | width: 490px; | ||
99 | border: 1px solid #bbb; | ||
100 | height: 44px; | ||
101 | -moz-box-sizing: border-box; | ||
102 | -ms-box-sizing: border-box; | ||
103 | -webkit-box-sizing: border-box; | ||
104 | box-sizing: border-box; | ||
105 | padding: 0 15px; | ||
106 | color: #8e8e8e; | ||
107 | margin: 16px 16px 0 16px; | ||
108 | display: inline-block; | ||
109 | border-radius: 9px; | ||
110 | -moz-box-sizing: border-box; | ||
111 | -ms-box-sizing: border-box; | ||
112 | -webkit-box-sizing: border-box; | ||
113 | box-sizing: border-box; | ||
114 | } | ||
115 | |||
116 | #enter:focus { | ||
117 | outline: none; | ||
118 | } | ||
119 | |||
120 | #login { | ||
121 | display: block; | ||
122 | margin: 40px auto 0 auto; | ||
123 | font-size: 13px; | ||
124 | padding: 15px 23px 13px 20px | ||
125 | } | ||
126 | |||
127 | #message { | ||
128 | display: block; | ||
129 | width: 492px; | ||
130 | line-height: 1.6; | ||
131 | margin: 15px auto 0 auto; | ||
132 | font-size: 13px; | ||
133 | color: #939495; | ||
134 | } | ||
135 | |||
136 | #message-error { | ||
137 | display: block; | ||
138 | width: 492px; | ||
139 | line-height: 1.6; | ||
140 | margin: 15px auto 0; | ||
141 | font-size: 13px; | ||
142 | text-align: center; | ||
143 | color: #F24A65; | ||
144 | } | ||
145 | |||
146 | .loading { | ||
147 | text-align: center; | ||
148 | padding: 60px 25px 35px; | ||
149 | h3 { | ||
150 | font-size: 14px; | ||
151 | color: @black; | ||
152 | padding-top: 25px; | ||
153 | &.heading { | ||
154 | font-weight: 700; | ||
155 | padding-top: 50px; | ||
156 | font-size: 13px; | ||
157 | } | ||
158 | } | ||
159 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/styles/variables.less
0 → 100644
1 | /*List of variables*/ | ||
2 | |||
3 | /*Ebookcoin Colors*/ | ||
4 | |||
5 | @blue: #0288d1; // blue, main | ||
6 | @blue1: #e7f0f5; // blue, super bright | ||
7 | @blue2: #e0ebf1; // blue, super bright hover | ||
8 | @orange: #f57c00; // orange, main | ||
9 | @orange1: #f5eee8; // orange, super bright | ||
10 | @orange2: #f3e7db; // orange, super bright hover | ||
11 | @purple: #663399; // purple, main | ||
12 | @brown: #655740; // brown | ||
13 | @brown1: #544835; // brown dark | ||
14 | @brown2: #be9c77; // brown bright | ||
15 | @gray: #f5f5f5; // gray bright | ||
16 | @gray1: #5f696e; // gray dark1 | ||
17 | @gray2: #393c3e; // gray dark2 | ||
18 | @gray3: #27292a; // gray dark3 | ||
19 | @white: #fff; // white | ||
20 | |||
21 | @text_brown: #9c8678; | ||
22 | @text_brown1: #dcd6cf; | ||
23 | |||
24 | @ethereum: #6f748d; | ||
25 | @bitcoin: #f7931a; | ||
26 | @crypti: #7cb342; | ||
27 | |||
28 | /*Colors*/ | ||
29 | |||
30 | @black: #000000; | ||
31 | @grey-text: #393939; | ||
32 | @white: #ffffff; | ||
33 | @menu-background: #263238; | ||
34 | @menu-icons: #5e676c; | ||
35 | @active-menu: #1c262b; | ||
36 | @navy: #1565c0; | ||
37 | @sky-blue: #039be5; | ||
38 | @dapp-link-color: #1976C2; | ||
39 | |||
40 | @background: #eeeeee; | ||
41 | |||
42 | //@blue: #1976d2; | ||
43 | @green: #84b84e; | ||
44 | @violet: #7e57c2; | ||
45 | @cloud: #546e7a; | ||
46 | @red: #d32f2f; | ||
47 | @error-red: #f34235; | ||
48 | @dark-red: #c62828; | ||
49 | @meant: #dcedc8; | ||
50 | @dark-meant: #7cb342; | ||
51 | @dark-blue: #0288d1; | ||
52 | |||
53 | @light-green: #cbe1b3; | ||
54 | @light-blue: #a3c8ed; | ||
55 | @light-violet: #cbbce7; | ||
56 | @light-cloud: #d7d7d7; | ||
57 | @super-light-violet: #ede7f6; | ||
58 | |||
59 | @grey: #fafafa; | ||
60 | @even-grey: #f5f5f5; | ||
61 | @border-grey: #cecece; | ||
62 | @light-grey: #dcdcdc; | ||
63 | @placeholder-text: #bdbdbd; | ||
64 | |||
65 | /*Font size*/ | ||
66 | @small-text: 12px; | ||
67 | @content-text: 14px; | ||
68 | @normal-text: 16px; | ||
69 | @big-text: 24px; | ||
70 | @widget-text: 18px; | ||
71 | @graph-heading: 18px; | ||
72 | |||
73 | @font-opacity: 0.87; | ||
74 | |||
75 | /**/ | ||
76 | @border-radius: 2px; | ||
77 | @screen-xs-max: 767px; | ||
78 | @screen-xs-min: 768px; | ||
79 | @screen-sm-max: 992px; | ||
80 | @screen-sm-min: 993px; | ||
81 | @hide-transactions-screen: 1500px; | ||
82 | |||
83 | /*Graphs*/ | ||
84 | @grey-graph: #90a4ae; |
app/templates/account.hbs
0 → 100644
1 | {{outlet}} |
app/templates/application.hbs
0 → 100644
1 | {{outlet}} |
app/templates/components/.gitkeep
0 → 100644
File mode changed
1 | {{!-- app/language-select/template.hbs --}} | ||
2 | <div class="row language-selector"> | ||
3 | <div class="col s2 flag"> | ||
4 | <img src="/images/flags/{{i18n.locale}}.png"> | ||
5 | </div> | ||
6 | <div class="col s10"> | ||
7 | <select class="browser-default" {{action 'setLocale' on='change'}}> | ||
8 | {{#each locales as |loc|}} | ||
9 | <option value="{{loc.id}}" selected={{is-equal loc.id i18n.locale}}> | ||
10 | {{loc.text}} | ||
11 | </option> | ||
12 | {{/each}} | ||
13 | </select> | ||
14 | </div> | ||
15 | </div> | ||
16 |
app/templates/loading.hbs
0 → 100644
1 | <!-- <div id="pass" ng-controller="loadingController" ng-class="lang.id"> | ||
2 | <div class="pass-banner"></div> | ||
3 | <div class="pass-bottom"> | ||
4 | <div class="pass-window"> | ||
5 | <div class="pass-window-icon"></div> | ||
6 | <div class="loading clearfix" class="clearfix" ng-controller="loadingController"> | ||
7 | <div class="progress" ng-show="height"> | ||
8 | <div class="determinate" style="width: {{loadingState}}%"></div> | ||
9 | </div> | ||
10 | <h3 class="heading" ng-show="!height || !blocksCount">Blockchain is loading...</h3> | ||
11 | <h3 class="heading" ng-show="height">{{loadingState}}%</h3> | ||
12 | <h3 class="heading" ng-show="height">Blockchain is loading...</h3> | ||
13 | </div> | ||
14 | </div> | ||
15 | </div> | ||
16 | </div> --> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/templates/passphrase.hbs
0 → 100644
1 | <div id="pass"> | ||
2 | <div class="pass-banner"></div> | ||
3 | <div class="pass-bottom"> | ||
4 | <div class="pass-window"> | ||
5 | <div class="pass-window-icon"> | ||
6 | </div> | ||
7 | <form class="clearfix pass-window-form" > | ||
8 | <div class="input-field"> | ||
9 | <input id="password" type="password" autofocus> | ||
10 | <label for="password">{{t "passphrase.yourPassphrase"}}</label> | ||
11 | <span class="pass-error">{{t "passphrase.errorMessage"}}</span> | ||
12 | </div> | ||
13 | <div class="input-group"> | ||
14 | <div class="switch blue-switch margin"> | ||
15 | <label> | ||
16 | <input type="checkbox"> | ||
17 | <span class="lever"></span> | ||
18 | <span>{{t "passphrase.remember"}}</span> | ||
19 | </label> | ||
20 | </div> | ||
21 | </div> | ||
22 | <div class="input-field"> | ||
23 | {{language-selector}} | ||
24 | </div> | ||
25 | <div class="buttons-panel pull-right"> | ||
26 | <a class="btn btn-white waves-effect btn-marging">{{t "passphrase.newAccount"}}</a> | ||
27 | <a class="btn btn-blue waves-effect waves-light" >{{t "passphrase.signIn"}}</a> | ||
28 | </div> | ||
29 | </form> | ||
30 | </div> | ||
31 | <div class="pass-footer clearfix">Ebookcoin © 2016. All Rights Reserved.</div> | ||
32 | </div> | ||
33 | </div> | ||
34 | |||
... | \ No newline at end of file | ... | \ No newline at end of file |
bower.json
0 → 100644
config/environment.js
0 → 100644
1 | /* jshint node: true */ | ||
2 | |||
3 | module.exports = function(environment) { | ||
4 | var ENV = { | ||
5 | modulePrefix: 'ebookcoin', | ||
6 | environment: environment, | ||
7 | rootURL: '/', | ||
8 | locationType: 'auto', | ||
9 | |||
10 | i18n: { | ||
11 | defaultLocale: 'en' | ||
12 | }, | ||
13 | |||
14 | EmberENV: { | ||
15 | FEATURES: { | ||
16 | // Here you can enable experimental features on an ember canary build | ||
17 | // e.g. 'with-controller': true | ||
18 | } | ||
19 | }, | ||
20 | |||
21 | APP: { | ||
22 | // Here you can pass flags/options to your application instance | ||
23 | // when it is created | ||
24 | } | ||
25 | }; | ||
26 | |||
27 | if (environment === 'development') { | ||
28 | ENV.APP.LOG_RESOLVER = true; | ||
29 | ENV.APP.LOG_ACTIVE_GENERATION = true; | ||
30 | ENV.APP.LOG_TRANSITIONS = true; | ||
31 | ENV.APP.LOG_TRANSITIONS_INTERNAL = true; | ||
32 | // ENV.APP.LOG_VIEW_LOOKUPS = true; | ||
33 | } | ||
34 | |||
35 | if (environment === 'test') { | ||
36 | // Testem prefers this... | ||
37 | ENV.locationType = 'none'; | ||
38 | |||
39 | // keep test console output quieter | ||
40 | ENV.APP.LOG_ACTIVE_GENERATION = false; | ||
41 | ENV.APP.LOG_VIEW_LOOKUPS = false; | ||
42 | |||
43 | ENV.APP.rootElement = '#ember-testing'; | ||
44 | } | ||
45 | |||
46 | if (environment === 'production') { | ||
47 | |||
48 | } | ||
49 | |||
50 | return ENV; | ||
51 | }; |
ember-cli-build.js
0 → 100644
1 | /*jshint node:true*/ | ||
2 | /* global require, module */ | ||
3 | var EmberApp = require('ember-cli/lib/broccoli/ember-app'); | ||
4 | |||
5 | module.exports = function(defaults) { | ||
6 | var app = new EmberApp(defaults, { | ||
7 | // Add options here | ||
8 | }); | ||
9 | |||
10 | //app.import("bower_components/bootstrap/dist/css/bootstrap.css"); | ||
11 | //app.import("bower_components/bootstrap/dist/js/bootstrap.js"); | ||
12 | app.import("vendor/materialize/css/materialize.css"); | ||
13 | app.import("vendor/materialize/js/materialize.js"); | ||
14 | // Use `app.import` to add additional libraries to the generated | ||
15 | // output files. | ||
16 | // | ||
17 | // If you need to use different assets in different | ||
18 | // environments, specify an object as the first parameter. That | ||
19 | // object's keys should be the environment name and the values | ||
20 | // should be the asset to use in that environment. | ||
21 | // | ||
22 | // If the library that you are including contains AMD or ES6 | ||
23 | // modules that you would like to import into your application | ||
24 | // please specify an object with the list of modules as keys | ||
25 | // along with the exports of each module as its value. | ||
26 | |||
27 | return app.toTree(); | ||
28 | }; |
favicon.ico
0 → 100644
No preview for this file type
package.json
0 → 100644
1 | { | ||
2 | "name": "ebookcoin", | ||
3 | "version": "0.0.0", | ||
4 | "description": "Small description for ebookcoin goes here", | ||
5 | "private": true, | ||
6 | "directories": { | ||
7 | "doc": "doc", | ||
8 | "test": "tests" | ||
9 | }, | ||
10 | "scripts": { | ||
11 | "build": "ember build", | ||
12 | "start": "ember server", | ||
13 | "test": "ember test" | ||
14 | }, | ||
15 | "repository": "", | ||
16 | "engines": { | ||
17 | "node": ">= 0.10.0" | ||
18 | }, | ||
19 | "author": "", | ||
20 | "license": "MIT", | ||
21 | "devDependencies": { | ||
22 | "broccoli-asset-rev": "^2.4.2", | ||
23 | "ember-ajax": "^2.0.1", | ||
24 | "ember-bootstrap": "0.11.3", | ||
25 | "ember-cli": "2.8.0", | ||
26 | "ember-cli-app-version": "^1.0.0", | ||
27 | "ember-cli-babel": "^5.1.6", | ||
28 | "ember-cli-dependency-checker": "^1.2.0", | ||
29 | "ember-cli-htmlbars": "^1.0.3", | ||
30 | "ember-cli-htmlbars-inline-precompile": "^0.3.1", | ||
31 | "ember-cli-inject-live-reload": "^1.4.0", | ||
32 | "ember-cli-jshint": "^1.0.0", | ||
33 | "ember-cli-less": "^1.5.3", | ||
34 | "ember-cli-qunit": "^2.1.0", | ||
35 | "ember-cli-release": "^0.2.9", | ||
36 | "ember-cli-sri": "^2.1.0", | ||
37 | "ember-cli-test-loader": "^1.1.0", | ||
38 | "ember-cli-uglify": "^1.2.0", | ||
39 | "ember-data": "^2.8.0", | ||
40 | "ember-export-application-global": "^1.0.5", | ||
41 | "ember-i18n": "4.5.0", | ||
42 | "ember-load-initializers": "^0.5.1", | ||
43 | "ember-resolver": "^2.0.3", | ||
44 | "loader.js": "^4.0.1", | ||
45 | "materialize": "1.0.0" | ||
46 | } | ||
47 | } |
public/crossdomain.xml
0 → 100644
1 | <?xml version="1.0"?> | ||
2 | <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> | ||
3 | <cross-domain-policy> | ||
4 | <!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html --> | ||
5 | |||
6 | <!-- Most restrictive policy: --> | ||
7 | <site-control permitted-cross-domain-policies="none"/> | ||
8 | |||
9 | <!-- Least restrictive policy: --> | ||
10 | <!-- | ||
11 | <site-control permitted-cross-domain-policies="all"/> | ||
12 | <allow-access-from domain="*" to-ports="*" secure="false"/> | ||
13 | <allow-http-request-headers-from domain="*" headers="*" secure="false"/> | ||
14 | --> | ||
15 | </cross-domain-policy> |
public/font/material-design-icons
0 → 100644
1 | ../bower_components/materialize/font/material-design-icons | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
public/font/roboto
0 → 100644
1 | ../bower_components/materialize/font/roboto | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
public/images/account.png
0 → 100644
4.22 KB
public/images/apple-touch-icon-114x114.png
0 → 100644
3.26 KB
public/images/apple-touch-icon-120x120.png
0 → 100644
3.51 KB
public/images/apple-touch-icon-144x144.png
0 → 100644
4.13 KB
public/images/apple-touch-icon-152x152.png
0 → 100644
4.36 KB
public/images/apple-touch-icon-57x57.png
0 → 100644
1.56 KB
public/images/apple-touch-icon-60x60.png
0 → 100644
1.64 KB
public/images/apple-touch-icon-72x72.png
0 → 100644
2 KB
public/images/apple-touch-icon-76x76.png
0 → 100644
2.16 KB
public/images/banner.jpg
0 → 100644
607 KB
public/images/ebookchain-logo-40x40.png
0 → 100644
1.1 KB
public/images/ebookchain-logo-70x70.png
0 → 100644
1.98 KB
public/images/favicon-128.png
0 → 100644
3.88 KB
public/images/favicon-16x16.png
0 → 100644
476 Bytes
public/images/favicon-196x196.png
0 → 100644
5.8 KB
public/images/favicon-32x32.png
0 → 100644
900 Bytes
public/images/favicon-96x96.png
0 → 100644
2.93 KB
public/images/favicon.ico
0 → 100644
No preview for this file type
public/images/favicon.png
0 → 100644
1.33 KB
public/images/flags/de.png
0 → 100644
947 Bytes
public/images/flags/en.png
0 → 100644
1.47 KB
public/images/flags/hu.png
0 → 100644
2.79 KB
public/images/flags/nl.png
0 → 100644
2.86 KB
public/images/flags/ru.png
0 → 100644
977 Bytes
public/images/flags/zh-cn.png
0 → 100644
1.29 KB
public/images/github_logo.png
0 → 100644
12.7 KB
public/images/logo-grey.png
0 → 100644
4.57 KB
public/images/logo-white.png
0 → 100644
4.5 KB
public/images/logo.png
0 → 100644
9.55 KB
public/images/mstile-144x144.png
0 → 100644
4.13 KB
public/images/mstile-150x150.png
0 → 100644
4.29 KB
public/images/mstile-28.png
0 → 100644
3.38 KB
public/images/mstile-310x310.png
0 → 100644
9.55 KB
public/images/mstile-70x70.png
0 → 100644
1.98 KB
public/images/nav_logo.png
0 → 100644
3.75 KB
public/images/roller_coaster.png
0 → 100644
3.23 KB
public/images/sia_logo.png
0 → 100644
26.5 KB
public/images/spinner.gif
0 → 100644
11.8 KB
public/images/sprites/arrow.png
0 → 100644
1.17 KB
public/images/sprites/iconset.png
0 → 100644
5.89 KB
public/images/sprites/navicons.png
0 → 100644
7.78 KB
public/images/sprites/widgets.png
0 → 100644
15.6 KB
public/images/weixin-108.png
0 → 100644
5.66 KB
public/robots.txt
0 → 100644
testem.js
0 → 100644
tests/.jshintrc
0 → 100644
1 | { | ||
2 | "predef": [ | ||
3 | "document", | ||
4 | "window", | ||
5 | "location", | ||
6 | "setTimeout", | ||
7 | "$", | ||
8 | "-Promise", | ||
9 | "define", | ||
10 | "console", | ||
11 | "visit", | ||
12 | "exists", | ||
13 | "fillIn", | ||
14 | "click", | ||
15 | "keyEvent", | ||
16 | "triggerEvent", | ||
17 | "find", | ||
18 | "findWithAssert", | ||
19 | "wait", | ||
20 | "DS", | ||
21 | "andThen", | ||
22 | "currentURL", | ||
23 | "currentPath", | ||
24 | "currentRouteName" | ||
25 | ], | ||
26 | "node": false, | ||
27 | "browser": false, | ||
28 | "boss": true, | ||
29 | "curly": true, | ||
30 | "debug": false, | ||
31 | "devel": false, | ||
32 | "eqeqeq": true, | ||
33 | "evil": true, | ||
34 | "forin": false, | ||
35 | "immed": false, | ||
36 | "laxbreak": false, | ||
37 | "newcap": true, | ||
38 | "noarg": true, | ||
39 | "noempty": false, | ||
40 | "nonew": false, | ||
41 | "nomen": false, | ||
42 | "onevar": false, | ||
43 | "plusplus": false, | ||
44 | "regexp": false, | ||
45 | "undef": true, | ||
46 | "sub": true, | ||
47 | "strict": false, | ||
48 | "white": false, | ||
49 | "eqnull": true, | ||
50 | "esversion": 6, | ||
51 | "unused": true | ||
52 | } |
tests/helpers/destroy-app.js
0 → 100644
tests/helpers/module-for-acceptance.js
0 → 100644
1 | import { module } from 'qunit'; | ||
2 | import Ember from 'ember'; | ||
3 | import startApp from '../helpers/start-app'; | ||
4 | import destroyApp from '../helpers/destroy-app'; | ||
5 | |||
6 | const { RSVP: { Promise } } = Ember; | ||
7 | |||
8 | export default function(name, options = {}) { | ||
9 | module(name, { | ||
10 | beforeEach() { | ||
11 | this.application = startApp(); | ||
12 | |||
13 | if (options.beforeEach) { | ||
14 | return options.beforeEach.apply(this, arguments); | ||
15 | } | ||
16 | }, | ||
17 | |||
18 | afterEach() { | ||
19 | let afterEach = options.afterEach && options.afterEach.apply(this, arguments); | ||
20 | return Promise.resolve(afterEach).then(() => destroyApp(this.application)); | ||
21 | } | ||
22 | }); | ||
23 | } |
tests/helpers/resolver.js
0 → 100644
This diff is collapsed.
Click to expand it.
tests/helpers/start-app.js
0 → 100644
This diff is collapsed.
Click to expand it.
tests/index.html
0 → 100644
This diff is collapsed.
Click to expand it.
tests/integration/.gitkeep
0 → 100644
This diff is collapsed.
Click to expand it.
tests/test-helper.js
0 → 100644
This diff is collapsed.
Click to expand it.
tests/unit/.gitkeep
0 → 100644
This diff is collapsed.
Click to expand it.
tests/unit/routes/account-test.js
0 → 100644
This diff is collapsed.
Click to expand it.
tests/unit/routes/passphrase-test.js
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/.gitkeep
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/materialize/LICENSE
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/materialize/README.md
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/materialize/css/materialize.css
0 → 100644
This diff could not be displayed because it is too large.
vendor/materialize/css/materialize.min.css
0 → 100644
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
vendor/materialize/js/materialize.js
0 → 100644
This diff could not be displayed because it is too large.
vendor/materialize/js/materialize.min.js
0 → 100644
This diff could not be displayed because it is too large.
-
Please register or sign in to post a comment