Commit 7744de45 7744de4519fd02c241c63c2ac3836ddeb1c35bb6 by Evanlai

add login page

1 parent 47655c57
Showing 135 changed files with 1609 additions and 1 deletions
{
"directory": "bower_components",
"analytics": false
}
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 2
[*.hbs]
insert_final_newline = false
[*.{diff,md}]
trim_trailing_whitespace = false
{
/**
Ember CLI sends analytics information by default. The data is completely
anonymous, but there are times when you might want to disable this behavior.
Setting `disableAnalytics` to true will prevent any data from being sent.
*/
"disableAnalytics": true,
"liveReload": false
}
# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
/dist
/tmp
# dependencies
/node_modules
/bower_components
# misc
/.sass-cache
/connect.lock
/coverage/*
/libpeerconnection.log
npm-debug.log
testem.log
{
"predef": [
"document",
"window",
"-Promise"
],
"browser": true,
"boss": true,
"curly": true,
"debug": false,
"devel": true,
"eqeqeq": true,
"evil": true,
"forin": false,
"immed": false,
"laxbreak": false,
"newcap": true,
"noarg": true,
"noempty": false,
"nonew": false,
"nomen": false,
"onevar": false,
"plusplus": false,
"regexp": false,
"undef": true,
"sub": true,
"strict": false,
"white": false,
"eqnull": true,
"esversion": 6,
"unused": true
}
---
language: node_js
node_js:
- "4"
sudo: false
cache:
directories:
- node_modules
before_install:
- npm config set spin false
- npm install -g bower
- bower --version
- npm install phantomjs-prebuilt
- node_modules/phantomjs-prebuilt/bin/phantomjs --version
install:
- npm install
- bower install
script:
- npm test
{
"ignore_dirs": ["tmp", "dist"]
}
Hello, test
\ No newline at end of file
# Ebookcoin
This README outlines the details of collaborating on this Ember application.
A short introduction of this app could easily go here.
## Prerequisites
You will need the following things properly installed on your computer.
* [Git](http://git-scm.com/)
* [Node.js](http://nodejs.org/) (with NPM)
* [Bower](http://bower.io/)
* [Ember CLI](http://ember-cli.com/)
* [PhantomJS](http://phantomjs.org/)
## Installation
* `git clone <repository-url>` this repository
* `cd ebookcoin`
* `npm install`
* `bower install`
## Running / Development
* `ember serve`
* Visit your app at [http://localhost:4200](http://localhost:4200).
### Code Generators
Make use of the many generators for code, try `ember help generate` for more details
### Running Tests
* `ember test`
* `ember test --server`
### Building
* `ember build` (development)
* `ember build --environment production` (production)
### Deploying
Specify what it takes to deploy your app.
## Further Reading / Useful Links
* [ember.js](http://emberjs.com/)
* [ember-cli](http://ember-cli.com/)
* Development Browser Extensions
* [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi)
* [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/)
......
import Ember from 'ember';
import Resolver from './resolver';
import loadInitializers from 'ember-load-initializers';
import config from './config/environment';
let App;
Ember.MODEL_FACTORY_INJECTIONS = true;
App = Ember.Application.extend({
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix,
Resolver
});
loadInitializers(App, config.modulePrefix);
export default App;
File mode changed
import Ember from 'ember';
export default Ember.Component.extend({
i18n: Ember.inject.service(),
classNames: ['language-selector'],
locales: Ember.computed('i18n.locale', 'i18n.locales', function() {
const i18n = this.get('i18n');
return this.get('i18n.locales').map(function(loc) {
return {
id: loc,
text: i18n.t('site.language.' + loc)
};
});
}),
actions: {
setLocale() {
this.set('i18n.locale', this.$('select').val());
}
}
});
File mode changed
File mode changed
import Ember from 'ember';
export function isEqual([leftSide, rightSide]) {
return leftSide === rightSide;
}
export default Ember.Helper.helper(isEqual);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Ebookcoin</title>
<meta name="description" content="Ebookcoin - Decentralized Application Platform">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{content-for "head"}}
<link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link rel="stylesheet" href="{{rootURL}}assets/ebookcoin.css">
{{content-for "head-footer"}}
</head>
<body>
{{content-for "body"}}
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/ebookcoin.js"></script>
{{content-for "body-footer"}}
</body>
</html>
// Ember-I18n includes configuration for common locales. Most users
// can safely delete this file. Use it if you need to override behavior
// for a locale or define behavior for a locale that Ember-I18n
// doesn't know about.
export default {
// rtl: [true|FALSE],
//
// pluralForm: function(count) {
// if (count === 0) { return 'zero'; }
// if (count === 1) { return 'one'; }
// if (count === 2) { return 'two'; }
// if (count < 5) { return 'few'; }
// if (count >= 5) { return 'many'; }
// return 'other';
// }
};
export default {
site: {
title: "A new driving force for human creation!",
language: {
en: "English",
"en-us": "English American",
"zh-cn": "中文"
}
},
passphrase: {
newAccount: "NEW ACCOUNT",
yourPassphrase: "Your Passphrase",
signIn: "SIGN IN",
remember: "Remember during this session",
errorMessage: "Passphrase must contain less than 100 characters."
}
};
\ No newline at end of file
// Ember-I18n includes configuration for common locales. Most users
// can safely delete this file. Use it if you need to override behavior
// for a locale or define behavior for a locale that Ember-I18n
// doesn't know about.
export default {
// rtl: [true|FALSE],
//
// pluralForm: function(count) {
// if (count === 0) { return 'zero'; }
// if (count === 1) { return 'one'; }
// if (count === 2) { return 'two'; }
// if (count < 5) { return 'few'; }
// if (count >= 5) { return 'many'; }
// return 'other';
// }
};
export default {
site: {
title: "A new driving force for human creation!",
language: {
en: "English",
"en-us": "English American",
"zh-cn": "中文"
}
},
passphrase: {
newAccount: "新帐户",
yourPassphrase: "您的主密码",
signIn: "登陆",
remember: "保持Session状态",
errorMessage: "主密码必须小于100个字符"
}
};
\ No newline at end of file
File mode changed
import Resolver from 'ember-resolver';
export default Resolver;
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType,
rootURL: config.rootURL
});
Router.map(function() {
this.route('passphrase', { path: '/' });
this.route('account');
});
export default Router;
File mode changed
import Ember from 'ember';
export default Ember.Route.extend({
});
import Ember from 'ember';
export default Ember.Route.extend({
});
#account {
#paddingFix {
.button {
margin: 0px;
padding: 15px 13px 13px;
&.label {
width: 235px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
&.forging {
width: inherit;
}
}
}
}
.raw-buttons {
#buttons {
display: inline-block;
.container {
display: inline-block;
}
}
.send, .free {
width: 141px;
}
}
#transactions {
margin-bottom: 20px;
}
}
.account-block {
color: @white;
font-size: @content-text;
background-color: @gray3;
/* box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 0.8) inset;
-webkit-box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 0.8) inset;*/
padding: 17px 8px;
.icon {
width: 64px;
height: 64px;
border-radius: 50%;
overflow: hidden;
margin: 0 auto 20px;
}
.name {
letter-spacing: 0.5px;
padding: 5px 0;
text-align: center;
display: block;
margin: 0 auto;
&.name-add {
cursor: pointer;
}
}
.address {
display: block;
margin: 0 auto;
padding: 5px 0 0;
text-align: center;
}
}
/*@import "materialize";*/
/*@font-face {
font-family: "Material Icons";
font-style: normal;
font-weight: 400;
src: url("/font/material-google/MaterialIcons-Regular.eot"); /* For IE6-8
src: local("Material Icons"),
local("MaterialIcons-Regular"),
url("/font/material-google/MaterialIcons-Regular.woff2") format("woff2"),
url("/font/material-google/MaterialIcons-Regular.woff") format("woff"),
url("/font/material-google/MaterialIcons-Regular.ttf") format("truetype");
}
*/
/*JOINT STYLES*/
/* html5doctor.com Reset v1.6.1 - http://cssreset.com */
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 {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 14px;
vertical-align: baseline;
background: transparent
}
body {
line-height: 1;
background-color: @background;
}
body>.ember-view{
height: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block
}
nav ul {
list-style: none
}
blockquote, q {
quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
content: none
}
a {
margin: 0;
padding: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent
}
ins {
background-color: #ff9;
color: #000;
text-decoration: none
}
mark {
background-color: #ff9;
color: #000;
font-style: italic;
font-weight: bold
}
del {
text-decoration: line-through
}
abbr[title], dfn[title] {
border-bottom: 1px dotted;
cursor: help
}
table {
border-collapse: collapse;
border-spacing: 0
}
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0
}
input, select {
vertical-align: middle
}
html, body {
height: 100%;
position: relative;
font-family: "Roboto", sans-serif;
overflow-x: hidden;
}
.height {
position: relative;
min-height: 100% !important;
height: 100%;
}
.container-fluid {
position: relative;
}
.partials-rules {
position: absolute;
top: 26px;
left: 26px;
right: 26px;
}
h1 {
font-size: 20px;
font-weight: bold;
}
h2.account-id {
font-size: 15px;
font-weight: bold;
color: #9b9d9e;
float: right;
margin-top: 8px;
a {
color: #9b9d9e;
}
}
h3.start-red {
font-size: 14px;
font-weight: bold;
color: #b25b5b;
display: inline-block;
}
.red {
color: #b25b5b;
}
.green {
color: #61b26e;
}
h3.start-green {
color: #61b26e;
font-size: 14px;
font-weight: bold;
display: inline-block;
}
.raw-buttons {
min-width: 986px;
height: 56px;
margin-top: 26px;
margin-bottom: 22px;
}
.button {
border: none;
margin: 0 0 0 26px;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 15px 16px 13px 16px;
background-color: #fff;
color: #9b9d9e;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: 0px 3px 0px #d4d5d6;
-moz-box-shadow: 0px 3px 0px #d4d5d6;
box-shadow: 0px 3px 0px #d4d5d6;
cursor: pointer;
font-size: 14px;
font-weight: bold;
position: relative;
&:first-child {
margin: 0;
}
&:focus {
outline: none;
}
&:active {
top: 3px;
-webkit-box-shadow: 0px 0px 0px #d4d5d6;
-moz-box-shadow: 0px 0px 0px #d4d5d6;
box-shadow: 0px 0px 0px #d4d5d6;
}
&.green {
background-color: #61b26e;
color: #fff;
-webkit-box-shadow: 0px 3px 0px #50955c;
-moz-box-shadow: 0px 3px 0px #50955c;
box-shadow: 0px 3px 0px #50955c;
&:active {
top: 3px;
-webkit-box-shadow: 0px 0px 0px #50955c;
-moz-box-shadow: 0px 0px 0px #50955c;
box-shadow: 0px 0px 0px #50955c;
}
&:disabled {
top: 0px;
background-color: rgba(97, 178, 110, 0.3);
-webkit-box-shadow: 0px 3px 0px rgba(80, 149, 92, 0.3);
-moz-box-shadow: 0px 3px 0px rgba(80, 149, 92, 0.3);
box-shadow: 0px 3px 0px rgba(80, 149, 92, 0.3);
}
}
&.red {
background-color: #ED4A4A;
color: #fff;
-webkit-box-shadow: 0px 3px 0px #E67A7A;
-moz-box-shadow: 0px 3px 0px #E67A7A;
box-shadow: 0px 3px 0px #E67A7A;
&:active {
top: 3px;
-webkit-box-shadow: 0px 0px 0px #E67A7A;
-moz-box-shadow: 0px 0px 0px #E67A7A;
box-shadow: 0px 0px 0px #E67A7A;
}
&:disabled {
top: 0px;
background-color: rgba(237, 74, 74, 0.3);
-webkit-box-shadow: 0px 3px 0px rgba(230, 122, 122, 0.3);
-moz-box-shadow: 0px 3px 0px rgba(230, 122, 122, 0.3);
box-shadow: 0px 3px 0px rgba(230, 122, 122, 0.3);
}
}
&.static {
cursor: default;
&:active {
top: 0;
-webkit-box-shadow: 0px 3px 0px #d4d5d6;
-moz-box-shadow: 0px 3px 0px #d4d5d6;
box-shadow: 0px 3px 0px #d4d5d6;
}
}
&.small {
font-size: 13px;
padding: 7px;
}
span {
color: #4f5051;
}
}
.row {
height: 31px;
}
table {
margin-top: 25px;
background-color: #fff;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: 0px 1px 0px #dbdcdd;
-moz-box-shadow: 0px 1px 0px #dbdcdd;
box-shadow: 0 1px 0 #dbdcdd;
th {
color: #9b9d9e;
vertical-align: middle;
font-weight: normal;
font-size: 14px;
border-bottom: 1px solid #ebeced;
}
td {
color: #9b9d9e;
vertical-align: middle;
font-weight: bold;
text-align: center;
font-size: 15px;
}
tr {
&.green td {
color: #61b26e;
}
}
}
.pointer {
cursor: pointer;
text-decoration: underline;
&:hover {
color: black;
}
}
.form {
display: block;
margin-top: 50px;
.input-text {
padding: 5px;
border-radius: 5px;
font-size: 14px;
color: #777;
width: 100%;
outline: 0;
margin-bottom: 10px;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
&:active {
outline: 0;
}
}
.button {
margin-top: 20px;
margin-left: 5px;
display: inline-block;
}
}
label {
font-size: 14px;
}
.pull-left {
float: left;
}
.pull-right {
float: right;
}
p.description {
font-size: 14px;
clear: both;
margin-top: 40px;
line-height: 1.3;
}
.instruction {
font-size: 14px;
width: 100%;
position: relative;
line-height: 1.3;
margin-top: 5px;
list-style-type: circle;
ul {
width: 100%;
font-size: 14px;
line-height: 1.3;
li {
display: block;
word-wrap: break-word;
width: 100%;
margin-left: 15px;
margin-top: 2px;
}
}
}
.forging-link {
color: #4f5051;
position: absolute;
top: 20px;
right: 20px;
font-size: 13px;
font-weight: bold;
a {
text-decoration: none;
color: #4f5051;
&.disabled {
color: #4f5051;
}
}
}
.syncLabel {
position: absolute;;
bottom: 10px;
right: 10px;
width: 230px;
line-height: 1.25;
background: rgba(0, 0, 0, 0.2);
font-size: 13px;
padding: 7px;
border-radius: 7px;
cursor: pointer;
}
#message-error {
display: block;
width: 492px;
line-height: 1.6;
margin: 15px auto 0 auto;
font-size: 13px;
text-align: center;
color: #F24A65;
}
.no-select {
-webkit-user-select: none; /* Chrome/Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10+ */
/* Rules below not implemented in browsers yet */
-o-user-select: none;
user-select: none;
}
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px white inset;
}
/*END OF JOINT STYLES*/
@import "pass";
@import "language";
@import "images";
@import "variables";
@import "elements";
@import "material";
@import "buttons";
/*@import "sidebar";
@import "panels";
@import "index";
@import "account";
@import "blockchain";
@import "mining";
@import "modal";
@import "block-modal";
@import "forging";
@import "delegates";
@import "ngtable";
@import "media";
@import "nav";
@import "page";
@import "grid";
@import "inputs";
@import "mixins";
@import "images";
@import "empty";
@import "mediaqueries";
@import "pie-chart";
@import "settings";
@import "dapps";
@import "multi";
*/
.btn {
display: inline-block;
padding: 0 14px;
font-size: 14px;
font-weight: normal;
line-height: 36px;
border: none;
border-radius: @border-radius;
&.btn-blue-nav {
background-color: @blue !important;
&:hover, &:focus, &.focus {
color: @white
}
}
&.btn-blue {
background-color: @blue !important;
&[disabled]{
-webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12);
-moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12);
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12);
}
&:hover, &:focus, &.focus {
color: @white
}
}
&.btn-sky-blue {
background-color: @sky-blue !important;
&:hover, &:focus, &.focus {
color: @white
}
}
&.btn-dark-meant {
background-color: transparent;
box-shadow: none;
color: #212121;
&:hover, &:focus, &.focus {
background-color: @dark-meant;
box-shadow: none;
color: @white;
}
}
&.btn-white {
background-color: @white !important;
color: @black;
&:hover, &:focus, &.focus {
color: @black
}
}
&.btn-marging {
margin-right: 10px;
}
}
.buttons-panel {
margin-top: 40px;
}
.logo-grey {
background-image: url('/images/logo-grey.png');
background-repeat: no-repeat;
width: 176px;
height: 43px;
}
.small-user-icon {
height: 48px;
width: 48px;
}
/* Language Settings */
.language-selector {
.flag {
text-align: center;
img {
margin-top: 10px;
}
}
}
/* Language Overrides */
/* Chinese */
.zh {
font-family: "Microsoft Yahei", "Roboto", sans-serif;
}
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] {
height: 2.2rem;
width: 100%;
font-size: 1.15rem;
}
.input-field label {
top: .6rem;
left: 0;
font-size: 1.15rem;
opacity: 1;
color: #b8b8b8;
&.active {
font-size: .8rem;
-webkit-transform: translateY(-160%);
-moz-transform: translateY(-160%);
-ms-transform: translateY(-160%);
-o-transform: translateY(-160%);
transform: translateY(-160%);
}
}
.input-field {
position: relative;
margin-top: 1.6rem;
}
.switch label .lever {
margin-left: 0;
}
.switch.margin {
margin-top: 20px;
}
.progress {
position: relative;
height: 4px;
display: block;
width: 100%;
background-color: #90caf9;
border-radius: 2px;
margin: 0.5rem 0 1rem 0;
overflow: hidden;
.determinate {
position: absolute;
background-color: inherit;
top: 0;
bottom: 0;
background-color: #209bde;
-webkit-transition: width .3s linear;
-moz-transition: width .3s linear;
-o-transition: width .3s linear;
-ms-transition: width .3s linear;
transition: width .3s linear;
}
}
.materialize-textarea-big {
textarea.materialize-textarea {
font-size: 1.14rem;
overflow-y: hidden;
padding: 0;
resize: none;
min-height: 3rem;
margin: 0;
}
label.active {
top: 0;
}
}
[type=checkbox].filled-in:checked + label.imaged:before {
top: 15px;
}
[type=checkbox].filled-in:checked + label.imaged:after {
top: 15px;
}
[type=checkbox].filled-in:not(:checked) + label.imaged:after {
top: 15px;
}
label.imaged {
img{
height: 50px;
}
}
#pass {
background-color: #ebeced;
height: 100%;
min-height: 500px;
.sign-in-button {
padding: 8px 14px;
border: none;
margin-top: 40px;
background-color: @sky-blue;
color: #fff;
font-size: 14px;
font-weight: normal;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
&:active {
top: 0;
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .3);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .3);
}
}
}
.pass-banner {
background-image: url('/images/banner.jpg');
background-repeat: no-repeat;
background-size: cover;
width: 100%;
height: 40%;
}
.pass-bottom {
width: 100%;
height: 60%;
position: relative;
}
.pass-window {
width: 372px;
background-color: #ffffff;
border: solid 1px #cecece;
margin: -100px auto 0;
border-radius: 4px;
&-icon {
background-repeat: no-repeat;
height: 100px;
background-color: @gray2;
background-image: url('/images/logo-white.png');
margin: -1px;
border-radius: 4px 4px 0 0;
background-position: center;
}
&-form {
padding: 10px 25px 25px;
}
}
.pass-footer {
position: absolute;
bottom: -80px;
text-align: center;
width: 100%;
color: #000;
opacity: 0.54;
font-size: 14px;
@media (max-height: 550px) {
position: relative;
padding: 1em;
}
}
#login-form {
width: 526px;
height: 250px;
background-color: #fff;
border-radius: 3px;
box-shadow: 0 1px rgba(0, 0, 0, 0.07);
}
#center {
position: absolute;
width: 526px;
height: 295px;
margin-top: -210px;
margin-left: -263px;
left: 50%;
top: 50%;
}
#enter {
font-size: 13px;
width: 490px;
border: 1px solid #bbb;
height: 44px;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0 15px;
color: #8e8e8e;
margin: 16px 16px 0 16px;
display: inline-block;
border-radius: 9px;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
#enter:focus {
outline: none;
}
#login {
display: block;
margin: 40px auto 0 auto;
font-size: 13px;
padding: 15px 23px 13px 20px
}
#message {
display: block;
width: 492px;
line-height: 1.6;
margin: 15px auto 0 auto;
font-size: 13px;
color: #939495;
}
#message-error {
display: block;
width: 492px;
line-height: 1.6;
margin: 15px auto 0;
font-size: 13px;
text-align: center;
color: #F24A65;
}
.loading {
text-align: center;
padding: 60px 25px 35px;
h3 {
font-size: 14px;
color: @black;
padding-top: 25px;
&.heading {
font-weight: 700;
padding-top: 50px;
font-size: 13px;
}
}
}
\ No newline at end of file
/*List of variables*/
/*Ebookcoin Colors*/
@blue: #0288d1; // blue, main
@blue1: #e7f0f5; // blue, super bright
@blue2: #e0ebf1; // blue, super bright hover
@orange: #f57c00; // orange, main
@orange1: #f5eee8; // orange, super bright
@orange2: #f3e7db; // orange, super bright hover
@purple: #663399; // purple, main
@brown: #655740; // brown
@brown1: #544835; // brown dark
@brown2: #be9c77; // brown bright
@gray: #f5f5f5; // gray bright
@gray1: #5f696e; // gray dark1
@gray2: #393c3e; // gray dark2
@gray3: #27292a; // gray dark3
@white: #fff; // white
@text_brown: #9c8678;
@text_brown1: #dcd6cf;
@ethereum: #6f748d;
@bitcoin: #f7931a;
@crypti: #7cb342;
/*Colors*/
@black: #000000;
@grey-text: #393939;
@white: #ffffff;
@menu-background: #263238;
@menu-icons: #5e676c;
@active-menu: #1c262b;
@navy: #1565c0;
@sky-blue: #039be5;
@dapp-link-color: #1976C2;
@background: #eeeeee;
//@blue: #1976d2;
@green: #84b84e;
@violet: #7e57c2;
@cloud: #546e7a;
@red: #d32f2f;
@error-red: #f34235;
@dark-red: #c62828;
@meant: #dcedc8;
@dark-meant: #7cb342;
@dark-blue: #0288d1;
@light-green: #cbe1b3;
@light-blue: #a3c8ed;
@light-violet: #cbbce7;
@light-cloud: #d7d7d7;
@super-light-violet: #ede7f6;
@grey: #fafafa;
@even-grey: #f5f5f5;
@border-grey: #cecece;
@light-grey: #dcdcdc;
@placeholder-text: #bdbdbd;
/*Font size*/
@small-text: 12px;
@content-text: 14px;
@normal-text: 16px;
@big-text: 24px;
@widget-text: 18px;
@graph-heading: 18px;
@font-opacity: 0.87;
/**/
@border-radius: 2px;
@screen-xs-max: 767px;
@screen-xs-min: 768px;
@screen-sm-max: 992px;
@screen-sm-min: 993px;
@hide-transactions-screen: 1500px;
/*Graphs*/
@grey-graph: #90a4ae;
{{!-- app/language-select/template.hbs --}}
<div class="row language-selector">
<div class="col s2 flag">
<img src="/images/flags/{{i18n.locale}}.png">
</div>
<div class="col s10">
<select class="browser-default" {{action 'setLocale' on='change'}}>
{{#each locales as |loc|}}
<option value="{{loc.id}}" selected={{is-equal loc.id i18n.locale}}>
{{loc.text}}
</option>
{{/each}}
</select>
</div>
</div>
<!-- <div id="pass" ng-controller="loadingController" ng-class="lang.id">
<div class="pass-banner"></div>
<div class="pass-bottom">
<div class="pass-window">
<div class="pass-window-icon"></div>
<div class="loading clearfix" class="clearfix" ng-controller="loadingController">
<div class="progress" ng-show="height">
<div class="determinate" style="width: {{loadingState}}%"></div>
</div>
<h3 class="heading" ng-show="!height || !blocksCount">Blockchain is loading...</h3>
<h3 class="heading" ng-show="height">{{loadingState}}%</h3>
<h3 class="heading" ng-show="height">Blockchain is loading...</h3>
</div>
</div>
</div>
</div> -->
\ No newline at end of file
<div id="pass">
<div class="pass-banner"></div>
<div class="pass-bottom">
<div class="pass-window">
<div class="pass-window-icon">
</div>
<form class="clearfix pass-window-form" >
<div class="input-field">
<input id="password" type="password" autofocus>
<label for="password">{{t "passphrase.yourPassphrase"}}</label>
<span class="pass-error">{{t "passphrase.errorMessage"}}</span>
</div>
<div class="input-group">
<div class="switch blue-switch margin">
<label>
<input type="checkbox">
<span class="lever"></span>
<span>{{t "passphrase.remember"}}</span>
</label>
</div>
</div>
<div class="input-field">
{{language-selector}}
</div>
<div class="buttons-panel pull-right">
<a class="btn btn-white waves-effect btn-marging">{{t "passphrase.newAccount"}}</a>
<a class="btn btn-blue waves-effect waves-light" >{{t "passphrase.signIn"}}</a>
</div>
</form>
</div>
<div class="pass-footer clearfix">Ebookcoin © 2016. All Rights Reserved.</div>
</div>
</div>
\ No newline at end of file
{
"name": "ebookcoin",
"dependencies": {
"ember": "~2.8.0",
"ember-cli-shims": "0.1.1",
"bootstrap": "=3.3.6"
}
}
/* jshint node: true */
module.exports = function(environment) {
var ENV = {
modulePrefix: 'ebookcoin',
environment: environment,
rootURL: '/',
locationType: 'auto',
i18n: {
defaultLocale: 'en'
},
EmberENV: {
FEATURES: {
// Here you can enable experimental features on an ember canary build
// e.g. 'with-controller': true
}
},
APP: {
// Here you can pass flags/options to your application instance
// when it is created
}
};
if (environment === 'development') {
ENV.APP.LOG_RESOLVER = true;
ENV.APP.LOG_ACTIVE_GENERATION = true;
ENV.APP.LOG_TRANSITIONS = true;
ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
// ENV.APP.LOG_VIEW_LOOKUPS = true;
}
if (environment === 'test') {
// Testem prefers this...
ENV.locationType = 'none';
// keep test console output quieter
ENV.APP.LOG_ACTIVE_GENERATION = false;
ENV.APP.LOG_VIEW_LOOKUPS = false;
ENV.APP.rootElement = '#ember-testing';
}
if (environment === 'production') {
}
return ENV;
};
/*jshint node:true*/
/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
// Add options here
});
//app.import("bower_components/bootstrap/dist/css/bootstrap.css");
//app.import("bower_components/bootstrap/dist/js/bootstrap.js");
app.import("vendor/materialize/css/materialize.css");
app.import("vendor/materialize/js/materialize.js");
// Use `app.import` to add additional libraries to the generated
// output files.
//
// If you need to use different assets in different
// environments, specify an object as the first parameter. That
// object's keys should be the environment name and the values
// should be the asset to use in that environment.
//
// If the library that you are including contains AMD or ES6
// modules that you would like to import into your application
// please specify an object with the list of modules as keys
// along with the exports of each module as its value.
return app.toTree();
};
No preview for this file type
{
"name": "ebookcoin",
"version": "0.0.0",
"description": "Small description for ebookcoin goes here",
"private": true,
"directories": {
"doc": "doc",
"test": "tests"
},
"scripts": {
"build": "ember build",
"start": "ember server",
"test": "ember test"
},
"repository": "",
"engines": {
"node": ">= 0.10.0"
},
"author": "",
"license": "MIT",
"devDependencies": {
"broccoli-asset-rev": "^2.4.2",
"ember-ajax": "^2.0.1",
"ember-bootstrap": "0.11.3",
"ember-cli": "2.8.0",
"ember-cli-app-version": "^1.0.0",
"ember-cli-babel": "^5.1.6",
"ember-cli-dependency-checker": "^1.2.0",
"ember-cli-htmlbars": "^1.0.3",
"ember-cli-htmlbars-inline-precompile": "^0.3.1",
"ember-cli-inject-live-reload": "^1.4.0",
"ember-cli-jshint": "^1.0.0",
"ember-cli-less": "^1.5.3",
"ember-cli-qunit": "^2.1.0",
"ember-cli-release": "^0.2.9",
"ember-cli-sri": "^2.1.0",
"ember-cli-test-loader": "^1.1.0",
"ember-cli-uglify": "^1.2.0",
"ember-data": "^2.8.0",
"ember-export-application-global": "^1.0.5",
"ember-i18n": "4.5.0",
"ember-load-initializers": "^0.5.1",
"ember-resolver": "^2.0.3",
"loader.js": "^4.0.1",
"materialize": "1.0.0"
}
}
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->
<!-- Most restrictive policy: -->
<site-control permitted-cross-domain-policies="none"/>
<!-- Least restrictive policy: -->
<!--
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*" secure="false"/>
-->
</cross-domain-policy>
../bower_components/materialize/font/material-design-icons
\ No newline at end of file
../bower_components/materialize/font/roboto
\ No newline at end of file
No preview for this file type
# http://www.robotstxt.org
User-agent: *
Disallow:
/*jshint node:true*/
module.exports = {
"framework": "qunit",
"test_page": "tests/index.html?hidepassed",
"disable_watching": true,
"launch_in_ci": [
"PhantomJS"
],
"launch_in_dev": [
"PhantomJS",
"Chrome"
]
};
{
"predef": [
"document",
"window",
"location",
"setTimeout",
"$",
"-Promise",
"define",
"console",
"visit",
"exists",
"fillIn",
"click",
"keyEvent",
"triggerEvent",
"find",
"findWithAssert",
"wait",
"DS",
"andThen",
"currentURL",
"currentPath",
"currentRouteName"
],
"node": false,
"browser": false,
"boss": true,
"curly": true,
"debug": false,
"devel": false,
"eqeqeq": true,
"evil": true,
"forin": false,
"immed": false,
"laxbreak": false,
"newcap": true,
"noarg": true,
"noempty": false,
"nonew": false,
"nomen": false,
"onevar": false,
"plusplus": false,
"regexp": false,
"undef": true,
"sub": true,
"strict": false,
"white": false,
"eqnull": true,
"esversion": 6,
"unused": true
}
import Ember from 'ember';
export default function destroyApp(application) {
Ember.run(application, 'destroy');
}
import { module } from 'qunit';
import Ember from 'ember';
import startApp from '../helpers/start-app';
import destroyApp from '../helpers/destroy-app';
const { RSVP: { Promise } } = Ember;
export default function(name, options = {}) {
module(name, {
beforeEach() {
this.application = startApp();
if (options.beforeEach) {
return options.beforeEach.apply(this, arguments);
}
},
afterEach() {
let afterEach = options.afterEach && options.afterEach.apply(this, arguments);
return Promise.resolve(afterEach).then(() => destroyApp(this.application));
}
});
}
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.