diff --git a/quasar.conf.js b/quasar.conf.js
index 1012a81..8d98ffc 100644
--- a/quasar.conf.js
+++ b/quasar.conf.js
@@ -60,6 +60,7 @@ module.exports = function (ctx) {
"QInput",
"QRadio",
"QBtn",
+ "QBtnToggle",
"QIcon",
"QTabs",
"QTab",
diff --git a/src/App.vue b/src/App.vue
index c43b97e..dfdb874 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -5,8 +5,27 @@
diff --git a/src/components/address_book_details.vue b/src/components/address_book_details.vue
index efcd4f4..816ecfe 100644
--- a/src/components/address_book_details.vue
+++ b/src/components/address_book_details.vue
@@ -11,15 +11,13 @@
Edit address book entry
-
-
-
+
@@ -30,6 +28,7 @@
@@ -38,16 +37,16 @@
-
+
+ v-model="newEntry.starred"
+ checked-icon="star"
+ unchecked-icon="star_border"
+ class="star-entry"
+ />
@@ -57,6 +56,7 @@
@@ -65,7 +65,7 @@
-
+
@@ -91,9 +91,9 @@
Address book details
+ flat no-ripple
+ :disable="!is_ready"
+ @click="edit()" label="Edit" />
@@ -113,7 +113,7 @@
- Recent outgoing transactions to this address
+ Recent transactions with this address
@@ -155,6 +155,7 @@ export default {
}
},
computed: mapState({
+ theme: state => state.gateway.app.config.appearance.theme,
is_ready (state) {
return this.$store.getters["gateway/isReady"]
}
diff --git a/src/components/footer.vue b/src/components/footer.vue
index 76cf78e..7aaff61 100644
--- a/src/components/footer.vue
+++ b/src/components/footer.vue
@@ -1,6 +1,6 @@
-
-
+
diff --git a/src/css/app.styl b/src/css/app.styl
index 4ec714f..4782987 100644
--- a/src/css/app.styl
+++ b/src/css/app.styl
@@ -12,6 +12,31 @@
background: #63c9f3;
}
+:root {
+ --q-color-primary: #497dc6;
+}
+
+* {
+
+ scrollbar-track-color: #fff;
+ scrollbar-arrow-color: #fff;
+ &::-webkit-scrollbar-corner { background-color: #fff;}
+ &::-webkit-scrollbar-track-piece { background-color: #fff;}
+
+ scrollbar-face-color: #646464;
+ scrollbar-base-color: #646464;
+ scrollbar-3dlight-color: #646464;
+ scrollbar-highlight-color: #646464;
+ scrollbar-shadow-color: #646464;
+ scrollbar-dark-shadow-color: #646464;
+ &::-webkit-scrollbar { width: 8px; height: 8px;}
+ &::-webkit-scrollbar-button { background-color: #646464; height:0; width: 0; }
+ &::-webkit-scrollbar-track { background-color: #646464;}
+ &::-webkit-scrollbar-thumb { height: 50px; background-color: #646464; border-radius: 3px;}
+ &::-webkit-resizer { background-color: #646464;}
+}
+
+
h1,h2,h3,h4,h5,h6,
img,
.q-list-header,
@@ -64,6 +89,10 @@ footer,
text-align: left;
}
+.q-layout-page {
+ min-height: 0 !important;
+}
+
.q-layout-header {
background: white;
box-shadow: none;
@@ -171,3 +200,270 @@ footer,
.q-loading + .modal {
z-index: 9999 !important;
}
+
+.identicon {
+ box-shadow: inset rgba(255, 255, 255, 0.6) 0 2px 2px, inset rgba(0, 0, 0, 0.3) 0 -2px 6px;
+ border-radius: 2px;
+}
+
+.q-layout-footer.status-footer {
+ border-top: 1px solid #ccc;
+ padding-top: 2px;
+ background: #fff;
+ box-shadow: none;
+ font-size: 12px;
+
+ .status-line {
+ margin-bottom: 5px;
+
+ div {
+ display: inline-block;
+ padding: 0 8px;
+ }
+
+ div:last-child {
+ float:right;
+ }
+ }
+
+ .status-bars {
+
+ div {
+ height: 3px;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ transition: width 0.5s ease-out;
+ }
+
+ div:first-child {
+ background-color: goldenrod;
+ }
+
+ div:last-child {
+ background-color: green;
+ }
+
+ }
+
+}
+
+
+.tx-list {
+
+ .q-item.tx-in,
+ .q-item.tx-pool {
+ .q-icon {
+ color: #333;
+ }
+ .q-item-label {
+ color: green;
+ }
+ &>div:last-child {
+ text-align:right;
+ &>div:first-child {
+ span {
+ color: green;
+ &:before {
+ content: "+";
+ color: green;
+ }
+ }
+ }
+ }
+ }
+
+ .q-item.tx-out,
+ .q-item.tx-pending {
+ .q-icon {
+ color: #333;
+ }
+ .q-item-label {
+ color: purple;
+ }
+ &>div:last-child {
+ text-align:right;
+ &>div:first-child {
+ span {
+ color: purple;
+ &:before {
+ content: "-";
+ color: purple;
+ }
+ }
+ }
+ }
+ }
+}
+
+
+body.dark {
+
+ &, * {
+ scrollbar-track-color: #111;
+ scrollbar-arrow-color: #111;
+ &::-webkit-scrollbar-corner { background-color: #111;}
+ &::-webkit-scrollbar-track-piece { background-color: #111;}
+ }
+
+ .q-item-sublabel {
+ color: #cecece;
+ }
+ .infoBoxIcon {
+ color: #cecece;
+ }
+
+ .infoBoxContent {
+ .text {
+ color: #cecece;
+ }
+ .value {
+ color: #cecece;
+ }
+ }
+
+ .identicon {
+ box-shadow: inset rgba(0, 0, 0, 0.1) 0 2px 2px, inset rgba(0, 0, 0, 0.3) 0 -2px 6px;
+ border-radius: 2px;
+ }
+
+
+ .q-layout {
+ background: #111;
+ color:#cecece;
+
+
+ .q-layout-header {
+ background: #111;
+ box-shadow: none;
+ border-bottom: 1px solid #333;
+
+ }
+ }
+
+ .q-layout-footer.status-footer {
+ background: #111;
+ color: #cecece;
+ border-top: 1px solid #333;
+ }
+
+ .q-list-dark .q-item,
+ .q-item-dark .q-item,
+ .q-list-header {
+ color: #cecece;
+ }
+
+ .q-stepper-tab.step-waiting,
+ .q-stepper-step-content{
+ color: #cecece;
+ }
+
+
+ .q-popover {
+ background: #222;
+ color:#cecece;
+
+ .q-list-separator > .q-item-division + .q-item-division, .q-item-division + .q-item-separator {
+ border-top: 1px solid #333;
+ }
+
+ }
+
+ .modal.minimized {
+ .q-input {
+ .q-input-target {
+ color: #cecece;
+ }
+ &.q-if:hover:before {
+ color: #cecece;
+ }
+ }
+ }
+
+ .modal {
+
+ .modal-content,
+ .modal-body {
+ background: #111;
+ color:#cecece;
+ }
+
+ .q-layout-header {
+ background: #111;
+ box-shadow: none;
+ border-bottom: 1px solid #333;
+
+ .q-toolbar {
+ &>* {
+ color: #cecece;
+ }
+ }
+ }
+
+ }
+
+
+ .tx-list {
+
+ .q-item.tx-in,
+ .q-item.tx-pool {
+ .q-icon {
+ color: #cecece;
+ }
+ .q-item-label {
+ color: lightgreen;
+ }
+ &>div:last-child {
+ text-align:right;
+ &>div:first-child {
+ span {
+ color: lightgreen;
+ &:before {
+ content: "+";
+ color: lightgreen;
+ }
+ }
+ }
+ }
+ }
+
+ .q-item.tx-out,
+ .q-item.tx-pending {
+ .q-icon {
+ color: #cecece;
+ }
+ .q-item-label {
+ color: mediumpurple;
+ }
+ &>div:last-child {
+ text-align:right;
+ &>div:first-child {
+ span {
+ color: mediumpurple;
+ &:before {
+ content: "-";
+ color: mediumpurple;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .q-layout-footer.status-footer {
+
+ .status-bars {
+
+ div:first-child {
+ background-color: goldenrod;
+ }
+
+ div:last-child {
+ background-color: #497dc6;
+ }
+
+ }
+
+ }
+
+}
diff --git a/src/gateway/gateway.js b/src/gateway/gateway.js
index 6f21bf5..8fa4696 100644
--- a/src/gateway/gateway.js
+++ b/src/gateway/gateway.js
@@ -12,6 +12,14 @@ export class Gateway {
this.token = null
this.scee = new SCEE()
+ this.app.store.commit("gateway/set_app_data", {
+ config: {
+ appearance: {
+ theme: "dark"
+ }
+ }
+ });
+
this.closeDialog = false
this.app.store.commit("gateway/set_app_data", {
@@ -55,7 +63,8 @@ export class Gateway {
},
cancel: {
flat: true,
- label: "CANCEL"
+ label: "CANCEL",
+ color: this.app.store.state.gateway.app.config.appearance.theme=="dark"?"white":"dark"
}
}).then(() => {
this.closeDialog = false
diff --git a/src/layouts/default.vue b/src/layouts/default.vue
deleted file mode 100644
index 2889751..0000000
--- a/src/layouts/default.vue
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
-
-
-
- Switch Wallet
-
-
-
-
- Settings
-
-
-
-
- Exit Ryo GUI Wallet
-
-
-
-
-
-
- Wallet
- Receive
- Send
- Address Book
- TX History
-
-
-
-
-
-
-
-
-
-
-
-
- Daemon: {{ status }}
-
-
- Height: {{ height }}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/layouts/wallet/main.vue b/src/layouts/wallet/main.vue
index 4082d2b..a45a39e 100644
--- a/src/layouts/wallet/main.vue
+++ b/src/layouts/wallet/main.vue
@@ -3,7 +3,7 @@
-
+
Wallet
@@ -36,19 +36,15 @@