forked from cryptobuks1/JsWallet
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.ls
More file actions
229 lines (229 loc) · 8.01 KB
/
Copy pathapp.ls
File metadata and controls
229 lines (229 loc) · 8.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
require! {
\mobx-react : { observer }
\mobx : { observable }
\react
\./pages.ls
\./pages/header.ls
\./pages/mobilemenu.ls
#\./pages/side-menu.ls
\./pages/left-menu.ls
#\./pages/banner.ls
\./description.ls
\./browser/window.ls
\./copy-message.ls
\./modal.ls : { modal-control }
\./get-primary-info.ls
\./pages/confirmation.ls : { confirmation-control }
\./pages/hovered-address.ls
\react-detect-offline : { Offline, Online }
}
.app
button
border-radius: var(--border-btn) !important
input
line-height: normal !important
&::-webkit-scrollbar
display: none
*
-ms-overflow-style: none
scrollbar-width: none
outline: none
::-webkit-scrollbar
display: none
.table-scroll
scrollbar-width: thin
display: block !important
-ms-overflow-style: block !important
scrollbar-width: thin !important
outline: block !important
scrollbar-color: var(--ligh-text) #f8f5f60d
.table-scroll::-webkit-scrollbar
width: 4px
height: 4px
display: block
.table-scroll::-webkit-scrollbar-track
background: #f8f5f60d
border-radius: 10px
.table-scroll::-webkit-scrollbar-thumb
border-radius: 10px
background: #71748f
.table-scroll::-webkit-scrollbar-thumb:hover
background: #ffffff
border-radius: 10px
.table-scroll::-webkit-scrollbar-corner
background: #f8f5f60d
user-select: none
overflow-y: scroll
@import scheme
background: $primary
background-color: var(--bgspare)
scrollbar-width: none
height: 100vh
position: relative
color: white
text-align: center
width: 100vw
.icon-svg
position: relative
height: 12px
top: 2px
margin-right: 3px
>.title
z-index: 3 !important
.title
.header
@media(max-width: 620px)
&.hide
visibility: hidden
@media(max-width: 820px)
text-align: left !important
margin-left: 120px !important
font-size: 12px !important
&.alert
.header
@media(max-width: 820px)
text-align: center !important
margin-left: 0px !important
font-size: 12px !important
.close
position: absolute
font-size: 20px
left: 20px
top: 13px
cursor: pointer
@media(max-width: 820px)
position: absolute
font-size: 20px
left: 50px !important
top: 0 !important
height: 60px
width: 60px
cursor: pointer
border-right: 1px solid var(--border)
@media(max-width: 992px)
position: absolute
font-size: 20px
left: 80px
top: 13px
cursor: pointer
img
@media(max-width: 820px)
top: 16px !important
>.header
text-align: center
font-size: 17px
text-transform: uppercase
letter-spacing: 2px
opacity: .8
line-height: 30px
font-weight: 400
margin: 0
&.alert
padding: 2px
.header
line-height: 44px
@media(max-width: 800px)
visibility: hidden
display: none
&.txn
margin-left: 60px
@media(max-width: 800px)
visibility: visible
margin-top: 0px
margin-left: 0
display: block
.manage-account
@media (max-width: $ipad)
margin-left: 0
.content
max-width: 450px
display: inline-block
width: 100%
&.syncing
background-size: 400% 400% !important
animation: gradient 3s ease infinite
@keyframes gradient
0%
background-position: 0% 50%
50%
background-position: 100% 50%
100%
background-position: 0% 50%
.placeholder-coin
display: none !important
.placeholder
-webkit-mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, #000000 50%, rgba(255, 255, 255, 0.6) 70%)
-webkit-mask-size: 50%
animation: fb 1s infinite
animation-fill-mode: forwards
background: var(--placeholder)
color: transparent !important
width: 100%
display: inline-block
height: 10px
border-radius: calc(var(--border-btn) * 3)
@keyframes fb
0%
-webkit-mask-position: left
100%
-webkit-mask-position: right
@media (max-width: 800px)
.wallet-main, >.content, .history, .search, .filestore, .resources, .staking, .settings-menu, .staking-res, .stats, .monitor
margin: 60px 0 0
>.title
margin: 0
position: fixed
z-index: 11
.error-no-connection
-webkit-mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, #000000 50%, rgba(255, 255, 255, 0.6) 70%)
-webkit-mask-size: 50%
animation: fb 1s infinite
animation-fill-mode: forwards
background: var(--placeholder)
padding: 10px 20px
display: inline-block
.fixed-n-centered
position: fixed
bottom: 0
left: 0
right: 0
z-index: 11
# use var(--background);
define-root = (store)->
style = get-primary-info store
text = ":root { --background: #{style.app.background};--bgspare: #{style.app.bgspare};--bg-secondary: #{style.app.wallet};--bg-primary-light: #{style.app.bg-primary-light};--placeholder: #{style.app.placeholder};--placeholder-menu: #{style.app.placeholder-menu};--color3: #{style.app.color3};--border: #{style.app.border}; --color1: #{style.app.color1}; --color2: #{style.app.color2}; --color-td: #{style.app.color-td};--drag-bg: #{style.app.drag-bg};--td-hover: #{style.app.th};--border-color: #{style.app.border-color};--waves: #{style.app.waves};--primary1: #{style.app.primary1};--primary2: #{style.app.primary2};--primary3: #{style.app.primary3};--primary1-spare: #{style.app.primary1-spare};--primary2-spare: #{style.app.primary2-spare};--primary3-spare: #{style.app.primary3-spare};--input: #{style.app.input};--dark-theme: #{style.app.menu};--border: #{style.app.border};--ligh-text: #{style.app.icon};--alert-spare: #{style.app.alert-spare}; --btn-clip: #{style.app.clip}; --border-btn: #{style.app.border-btn}; --filter: #{style.app.filter}; --confirm: #{style.app.confirm}}"
style.pug #{text}
module.exports = ({ store, web3t })->
return null if not store?
current-page =
pages[store.current.page]
theme = get-primary-info(store)
style =
background: theme.app.background
color: theme.app.text
background-color: theme.app.bgspare
syncing =
| store.current.refreshing => "syncing"
| _ => ""
open-menu = ->
store.current.open-menu = not store.current.open-menu
.pug
define-root store
description store
.app.pug(key="content" style=style class="#{syncing}")
modal-control store, web3t
confirmation-control store, web3t
copy-message store, web3t
#banner store, web3t
if no
if store.current.device is \mobile
header store, web3t
if store.current.device is \mobile
mobilemenu store, web3t
if store.current.device is \desktop
# side-menu store, web3t
left-menu store, web3t
current-page { store, web3t }
hovered-address { store }
Offline.pug
.notification.fixed-n-centered.error-no-connection.pug Warning! You have no internet connection!\nOffline mode is on!