Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
54cfd19
Prepare MD
yxxyun Feb 13, 2016
4539256
Prepare MD
yxxyun Feb 13, 2016
3641dd0
Prepare MD
yxxyun Feb 14, 2016
e66a1ba
Prepare MD
yxxyun Feb 14, 2016
a0fdb26
Prepare MD
yxxyun Feb 14, 2016
18a38a4
Prepare MD
yxxyun Feb 14, 2016
e0c2500
Prepare MD
yxxyun Feb 14, 2016
df2b4fc
Prepare MD icon
yxxyun Feb 14, 2016
3048352
Prepare MD
yxxyun Feb 14, 2016
41135e9
Prepare MD
yxxyun Feb 14, 2016
28e1e72
Prepare MD
yxxyun Feb 14, 2016
eaf6dc8
Prepare MD
yxxyun Feb 14, 2016
b0f7a7c
test new
yxxyun Feb 15, 2016
d7f2e34
Update new.html
yxxyun Feb 15, 2016
a88c23f
Update new.html
yxxyun Feb 15, 2016
16b64b8
Update new.html
yxxyun Feb 15, 2016
25fcc07
Update new.html
yxxyun Feb 15, 2016
d45dbc0
Update new.html
yxxyun Feb 15, 2016
e773fa9
Update new.html
yxxyun Feb 15, 2016
c3af714
Update new.html
yxxyun Feb 15, 2016
1a2b22e
Update new.html
yxxyun Feb 15, 2016
c8ff0b8
Update new.html
yxxyun Feb 15, 2016
707526b
Update new.html
yxxyun Feb 15, 2016
055e299
Delete new.html
yxxyun Feb 15, 2016
31f8962
Prepare MD
yxxyun Feb 15, 2016
f554ef2
Prepare MD
yxxyun Feb 15, 2016
8c09dba
Prepare MD
yxxyun Feb 15, 2016
6e21c6f
Prepare MD
yxxyun Feb 15, 2016
f550331
Prepare MD
yxxyun Feb 15, 2016
56ef30d
Prepare MD
yxxyun Feb 15, 2016
39604a8
Update tab-info.html
yxxyun Feb 15, 2016
65a22e9
Update tab-info.html
yxxyun Feb 15, 2016
ad4f85a
Update tab-info.html
yxxyun Feb 15, 2016
464902e
Update tab-info.html
yxxyun Feb 15, 2016
56760c8
Prepare MD try card
yxxyun Feb 15, 2016
6c7810e
Prepare MD try card
yxxyun Feb 15, 2016
c6257cf
Prepare MD try card
yxxyun Feb 15, 2016
f2b5e62
Update index.css
yxxyun Feb 15, 2016
62eb526
Update index.css
yxxyun Feb 15, 2016
fd1d149
Update index.css
yxxyun Feb 15, 2016
36be1e4
Prepare MD
yxxyun Feb 15, 2016
70f988a
Update tab-info.html
yxxyun Feb 15, 2016
eab8eb8
Update tab-info.html
yxxyun Feb 15, 2016
869a5b9
Update index.css
yxxyun Feb 15, 2016
cbbc53b
Update index.html
yxxyun Feb 15, 2016
227305e
Merge pull request #1 from yxxyun/gh-pages
yxxyun Feb 19, 2016
b496888
update
Mar 4, 2016
b8f424c
add file
Mar 4, 2016
ace07ad
modified to chrome web app
Mar 4, 2016
cda242f
update
Mar 4, 2016
84f50ea
enable offline
Mar 4, 2016
a73fa5f
update
Mar 4, 2016
89f3aaa
update
Mar 4, 2016
feb0426
format
Apr 28, 2016
d4ebd7e
update
Apr 28, 2016
6029107
update
Apr 28, 2016
5509127
update
Apr 28, 2016
6f03c3b
update
Apr 28, 2016
e3d2cb9
fix bug&update ui
Apr 28, 2016
6906653
update ui
Apr 28, 2016
a45466c
update ui
Apr 28, 2016
9b69553
update ui
Apr 28, 2016
1068977
update Chinese
Apr 28, 2016
a593c5d
Update
yxxyun May 3, 2016
238657a
update UI
May 4, 2016
e8bdef5
update UI
May 4, 2016
70a312c
update
May 4, 2016
ab0acea
update
May 4, 2016
5ea0ad9
update md lib
May 4, 2016
d280691
May 4, 2016
613471f
update
May 4, 2016
45510e6
May 4, 2016
5895a3b
May 4, 2016
20a8d2b
split to push for the bad connection
May 4, 2016
101a7cd
separate push
May 4, 2016
e520cbf
May 4, 2016
e524713
May 4, 2016
a2d360c
May 4, 2016
977ca2e
May 4, 2016
09bf050
May 4, 2016
588c15d
May 4, 2016
2ec5b1c
May 5, 2016
77c836f
May 5, 2016
635aa85
May 5, 2016
fe34937
May 5, 2016
f5d320e
May 5, 2016
4b4141c
May 5, 2016
7eb4ed4
update
May 5, 2016
8c0b547
update
May 5, 2016
eef3b9a
update
May 5, 2016
7a56312
typo
May 5, 2016
d82dd7c
fix dropdown
May 5, 2016
ab246c0
fix more dropdown
May 6, 2016
51f2415
update UI
May 6, 2016
7fb1b4e
replace checkbox to toggle
May 6, 2016
b4bfb8d
update UI
May 6, 2016
ce31e10
May 9, 2016
7517c91
update
May 16, 2016
c52560e
update lib
May 16, 2016
6ccd0ee
add QRCODE
May 16, 2016
c0b4023
add QRCODE
May 16, 2016
e7619ae
update ui
May 20, 2016
0ed695e
update ui
May 20, 2016
27b79ff
fmt
May 20, 2016
8823084
hide regularkey only
May 20, 2016
a2a9166
break change
May 20, 2016
114a496
change back
May 20, 2016
d78bce1
update
May 20, 2016
6ad9737
update UI
May 20, 2016
358f11b
update
May 20, 2016
ef38721
fmt
May 20, 2016
7e70167
update
May 20, 2016
c208a44
update
May 20, 2016
b7c5669
update
May 20, 2016
a761711
update UI
May 20, 2016
f6499d1
update
May 20, 2016
545cd96
fix layout
May 20, 2016
2c65309
update UI
May 20, 2016
2492c37
update trade UI
May 21, 2016
737d7e7
update
May 21, 2016
f21bccc
prepare payment
May 21, 2016
540492e
update
yxxyun May 21, 2016
c006637
payment broken,wait next fix
May 21, 2016
e1c5346
fmt
yxxyun May 21, 2016
bc694b7
fmt
yxxyun May 21, 2016
2136278
update
yxxyun May 21, 2016
0730a10
change translate
May 25, 2016
9c9aa9d
update
May 25, 2016
feb923a
update
May 25, 2016
4773acf
update
May 25, 2016
ec75620
fix payment tab
May 26, 2016
d05c18b
update UI
May 26, 2016
4e0a689
update
May 26, 2016
04febc6
update
May 26, 2016
a0bb61b
update
May 26, 2016
030fd19
update
May 26, 2016
b4715b8
update
May 26, 2016
cfb0be8
update memo
May 31, 2016
952c41f
add read secret from QR
Jun 1, 2016
7c7be5d
update ui
Jun 1, 2016
ad32126
update
Jun 1, 2016
6fb3fbb
update
Jun 1, 2016
2675f94
clean
Jun 1, 2016
23de444
update UI
Jun 2, 2016
693bc70
update ui
Jun 2, 2016
f745db5
remove DEFAULT_ACCOUNT and DEFAULT_SECRET
Jun 7, 2016
7c27b99
update
Jun 7, 2016
d66ae75
update UI
Jun 7, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
159 changes: 159 additions & 0 deletions css/index.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
.menu {
overflow: auto;
padding: 0;
}

.menu, .menu * {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}

.menu ul {
padding: 0;
margin: 7px 0;
}

.menu ul li {
list-style: none;
padding: 20px 0 20px 50px;
font-size: 15px;
font-weight: normal;
cursor: pointer;
}

.menu ul li.active {
background-color: #dedede;
position: relative;
}

.menu ul li a {
color: rgb(51, 51, 51);
text-decoration: none;
}

.pages {
position: absolute;
top: 0;
right: 0;
z-index: 4;
padding: 0;
overflow: auto;
}

.pages > div {
padding: 0 5px;
padding-top: 64px;
}

.pages .header {
color: rgb(82, 101, 162);
/*font-size: 24px;*/
/*font-weight: normal;*/
/*margin-top: 5px;*/
/*margin-bottom: 60px;*/
/*letter-spacing: 1.20000004768372px;*/
}

.page {
transform: translateY(1080px);
transition: transform 0 linear;
display: none;
opacity: 0;
font-size: 16px;
}

.page.active {
transform: translateY(0px);
transition: all 0.3s ease-out;
display: block;
opacity: 1;
}



label.input-toggle {
line-height: 0;
font-size: 0;
display: inline-block;
margin: 0;
}
label.input-toggle > span {
display: inline-block;
position: relative;
background-image: -webkit-linear-gradient(left, #848484 0%, #848484 50%, #7cbcbf 50%, #7cbcbf 100%);
background-image: linear-gradient(to right, #848484 0%, #848484 50%, #7cbcbf 50%, #7cbcbf 100%);
background-size: 64px 14px;
background-position: 0%;
border-radius: 32px;
width: 32px;
height: 14px;
cursor: pointer;
-webkit-transition: background-position 0.2s ease-in;
transition: background-position 0.2s ease-in;
}
label.input-toggle > input:checked + span {
background-position: -100%;
}
label.input-toggle > span:after {
content: "";
display: block;
position: absolute;
width: 18px;
height: 18px;
background: #F1F1F1;
-webkit-align-self: center;
-ms-flex-item-align: center;
align-self: center;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
border-radius: 100%;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
-webkit-transition: left 0.2s ease-in, background-color 0.2s ease-in, -webkit-transform 0.3s ease;
transition: left 0.2s ease-in, background-color 0.2s ease-in, -webkit-transform 0.3s ease;
transition: left 0.2s ease-in, background-color 0.2s ease-in, transform 0.3s ease;
transition: left 0.2s ease-in, background-color 0.2s ease-in, transform 0.3s ease, -webkit-transform 0.3s ease;
}
label.input-toggle > input:checked + span:after {
left: calc(100% - 18px);
background-color: #1D8B90;
}
label.input-toggle > span:active:after {
-webkit-transform: translateY(-50%) scale3d(1.15, 0.85, 1);
transform: translateY(-50%) scale3d(1.15, 0.85, 1);
}
label.input-toggle > input:disabled + span:active:after {
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
label.input-toggle > input:disabled + span {
cursor: default;
}
label.input-toggle > input:disabled + span {
background: #D5D5D5;
}
label.input-toggle > input:disabled + span:after {
background: #BDBDBD;
}
label.input-toggle > input {
display: block;
position: absolute;
opacity: 0;
width: 0;
height: 0;
}

.qrcode {
display: block;
margin: 24px auto 16px;
max-width: 100%;
}
.qrcode-link {
display: table;
margin: 24px auto 16px;
}
.qrcode-link .qrcode {
margin: 0;
}
Binary file added favicon.ico
Binary file not shown.
161 changes: 127 additions & 34 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,45 +1,138 @@
<!DOCTYPE html>
<html ng-app="walletApp">
<html ng-app="walletApp" id="ng-app">

<head>
<script src="lib/ripple-0.12.9.1-min.js"></script>
<script src="lib/angular-1.4.4.min.js"></script>
<script src="lib/bootstrap/js/ui-bootstrap-tpls-0.14.3.min.js"></script>
<script src="lib/highcharts/lib/adapters/standalone-framework.js"></script>
<script src="lib/highcharts/lib/highstock.js"></script>
<script src="lib/md5.js"></script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="Material Design Ripple Wallet">
<meta name="keywords" content="Material Design Ripple Wallet">
<meta name="author" content="Federico Zivolo, Kevin Ross, and Bootstrap Material Design contributors,ripplerm,yxxyun">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<title>

<script src="js/mywallet.js"></script>
Ripple Wallet &middot; Material Design

</title>


<!-- Material Design fonts http://fonts.googleapis.com/css?family=Roboto:300,400,500,700 https://fonts.googleapis.com/icon?family=Material+Icons-->
<link rel="stylesheet" href="lib/Roboto/Roboto.css">
<link rel="stylesheet" href="lib/Roboto/MaterialIcons.css">

<!-- Material Design for Bootstrap generic -->

<link href="lib/bootstrap-material-design/css/bootstrap-material-design.min.css" rel="stylesheet">

<script src="lib/ripple-0.12.9.1-min.js"></script>
<script src="lib/angular-1.4.7.min.js"></script>
<script src="lib/bootstrap/js/ui-bootstrap-tpls-0.14.3.min.js"></script>
<script src="lib/highcharts/lib/adapters/standalone-framework.js"></script>
<script src="lib/highcharts/lib/highstock.js"></script>
<script src="lib/md5.js"></script>

<script src="lib/angular-cookies.min.js"></script>
<script src="lib/angular-translate.min.js"></script>
<script src="lib/angular-translate-storage-cookie.min.js"></script>
<script src="lib/angular-translate-storage-local.min.js"></script>

<!-- Page style -->
<link href="css/index.css" rel="stylesheet">

<script src="js/mywallet.js"></script>

<link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
</head>

<body>
<div ng-controller="walletCtrl" class="container">
<table class="table table-bordered table-condensed" style="text-align: center">
<tr>
<td style="text-align: center">Network: <font color="{{(state == 'online') ? 'green' : 'red'}}">{{state}}</font></td>
<td style="text-align: center;">Server: {{server}} </td>
<td style="text-align: center">Last-Closed-Ledger: <font color="blue"> {{ledgerIndex}} </font></td>
</tr>
</table>
<font size="5">Wallet Account: <b>{{activeAccount ? activeAccount : "-"}} </b></font>
<button class="btn btn-primary" ng-click="prepareSetWalletAccount()"><span class="glyphicon glyphicon-pencil"> Change</button></span>

<br>
secret set: <font color="{{remote.secrets[activeAccount] ? 'green' : 'red' }}">{{remote.secrets[activeAccount] ? "&#10004" : "&#10008"}}</font>
<button ng-click="prepareSetWalletSecret()"><span class="glyphicon glyphicon-pencil"></span> {{remote.secrets[activeAccount] ? 'Change' : 'Set' }}</button>
<button ng-show="remote.secrets[activeAccount]" ng-click="showSecret = !showSecret">{{showSecret ? "Hide" : "Show"}}</button> {{remote.secrets[activeAccount] && showSecret ? remote.secrets[activeAccount] : '' }}
<hr>

<!-- Tabs -->
<uib-tabset>
<uib-tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active" disable="tab.disabled" select="tab.select()">
<div ng-include="tab.templete"></div>
</uib-tab>
</uib-tabset>

</div>
<div ng-controller="walletCtrl" class="bmd-layout-container bmd-drawer-f-l bmd-drawer-overlay-md-down bmd-drawer-in-lg-up">
<header class="bmd-layout-header">
<div class="navbar navbar-light bg-faded">
<button class="navbar-toggler hidden-lg-up" type="button" data-toggle="drawer" data-target="#dw-1">
<span class="sr-only">Toggle drawer</span>
<i class="material-icons">menu</i>
</button>
<ul class="nav navbar-nav">
<li class="nav-item">{{ 'Network' | translate }}
<font color="{{(state == 'online') ? 'green' : 'red'}}">{{state? "&#10004" : "&#10008"}}</font>
</li>
<li class="nav-item">{{ 'Secret' | translate }}
<font color="{{remote.secrets[activeAccount] ? 'green' : 'red' }}">{{remote.secrets[activeAccount] ? "&#10004" : "&#10008"}}</font>
</li>
</ul>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<div class="bmd-form-group bmd-collapse-inline pull-xs-right">
<button class="btn bmd-btn-icon" ng-click="prepareSetWalletAccount()">
<i class="material-icons">account_circle</i>
</button>
</div>
</li>
<!-- <li class="nav-item">-->
<!-- <div class="bmd-form-group bmd-collapse-inline pull-xs-right">-->
<!-- <button class="btn bmd-btn-icon" ng-click="prepareSetWalletSecret()">-->
<!-- <i class="material-icons">vpn_key</i>-->
<!--</button>-->
<!-- </div>-->
<!-- </li>-->
<li class="nav-item">
<div class="dropdown">
<button class="btn bmd-btn-icon btn-secondary dropdown-toggle" type="button" id="more-menu-1" data-toggle="dropdown" aria-haspopup="true">
<i class="material-icons">more_vert</i>
</button>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="more-menu-1">
<button class="dropdown-item" type="button">{{ 'Account' | translate }} <b>{{activeAccount ? activeAccount : "-"}} </b></button>
<button class="dropdown-item" type="button">{{ 'Server' | translate }}: {{server}}</button>
<button class="dropdown-item" type="button">{{ 'LCL' | translate }}: <font color="blue"> {{ledgerIndex}} </font></button>
<button class="dropdown-item" type="button" ng-click="changeLanguage('en')" translate="BUTTON_LANG_EN">English</button>
<button class="dropdown-item" type="button" ng-click="changeLanguage('cn')" translate="BUTTON_LANG_CN">中文</button>
</div>
</div>
</li>
</ul>
</div>
</header>

<div id="dw-1" class="bmd-layout-drawer bg-faded menu">
<header>
<a class="navbar-brand">{{ 'Ripple_Wallet' | translate }}</a>
</header>
<ul class="list-group">
<a class="list-group-item" data-target="#Info"><i class="material-icons" role="presentation">info_outline</i>{{ 'Info' | translate }}</a>
<a class="list-group-item" data-target="#Trustlines"><i class="material-icons" role="presentation">playlist_add_check</i>{{ 'Trustlines' | translate }}</a>
<a class="list-group-item" data-target="#Payment"><i class="material-icons" role="presentation">low_priority</i>{{ 'Payment' | translate }}</a>
<a class="list-group-item" data-target="#Trading"><i class="material-icons" role="presentation">trending_up</i>{{ 'Trading' | translate }}</a>
<a class="list-group-item" data-target="#Offers"><i class="material-icons" role="presentation">repeat</i>{{ 'Offers' | translate }}</a>

</ul>
</div>
<main class="bmd-layout-content">
<div class="card page active" style="margin: 1em;padding:2em;word-wrap: break-word; overflow:auto;">
<!-- main content -->
<h4 class="card-title">{{ 'Ripple_Wallet' | translate }}</h4>
<p class="card-text">The Ripple Wallet is an open-source GUI for the Ripple network that facilitates the peer-to-peer exchange of any store of value.</p>
</div>
<div class="page" ng-repeat="tab in tabs" id="{{tab.title}}" ng-init="tab.select()">
<div ng-include="tab.templete"></div>
</div>
<div class="card active" style="margin: 1em;padding:2em;word-wrap: break-word; overflow:auto;">
<!-- main content -->
<h4 class="card-title">{{'Disclaimer'|translate}}</h4>
<p class="card-text">This product is provided "as is" without warranty of any kind and is not endorsed by Ripple Labs inc.</p>
</div>
</main>
</div>
<script src="lib/jquery-2.2.3.min.js"></script>
<script src="lib/tether/js/tether.min.js"></script>
<script src="lib/bootstrap-material-design/js/bootstrap-material-design.iife.min.js"></script>
<script src="lib/qrcode.js"></script>
<script src="lib/qrcode_UTF8.js"></script>
<script src="lib/angular-qrcode.js"></script>
<script src="lib/browser.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src=""></script>
<script src="js/load.js"></script>

</body>

</html>
27 changes: 27 additions & 0 deletions js/launch.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
chrome.app.runtime.onLaunched.addListener(function() {
chrome.storage.local.get('bounds', function(o){
var bounds = {width: 300, height: 400, top: 20, left: 20};
if(typeof o.bounds !== 'undefined') {
if(typeof o.bounds.width === 'number' &&
typeof o.bounds.height === 'number' &&
typeof o.bounds.top === 'number' &&
typeof o.bounds.left === 'number') {
// assign values directly to avoid injection
bounds = {width : o.bounds.width,
height : o.bounds.height,
top : o.bounds.top,
left : o.bounds.left};
}
}
chrome.app.window.create('index.html', {
bounds: bounds,
minWidth: 300,
minHeight: 250
}, function(w){
w.onClosed.addListener(function(){
chrome.storage.local.set({'bounds': w.getBounds()});
});
});
});

});
Loading