Skip to content

Commit 672438d

Browse files
adebayooriyomiAdebayo Oriyomi
andauthored
Update loading icon (Blockstream#404)
* Update loading icon * change load to loader, add loading delay to css Co-authored-by: Adebayo Oriyomi <[email protected]>
1 parent beb2cff commit 672438d

File tree

9 files changed

+64
-17
lines changed

9 files changed

+64
-17
lines changed

client/src/components/loading.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import Snabbdom from 'snabbdom-pragma'
2+
3+
export default (size) =>
4+
<div className="spinner">
5+
<div className={`ring ${size}`}></div>
6+
</div>

client/src/views/addr.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import search from './search'
55
import { txBox } from './tx'
66
import { formatSat, formatNumber } from './util'
77
import { addrTxsPerPage as perPage, maxMempoolTxs } from '../const'
8+
import loader from '../components/loading'
89

910
const staticRoot = process.env.STATIC_ROOT || ''
1011

@@ -114,12 +115,12 @@ export default ({ t, addr, addrQR, addrTxs, goAddr, openTx, spends, tipHeight, l
114115
<div className="transactions">
115116
<h3>{txsShownText(total_txs, est_prev_total_seen_count, shown_txs, t)}</h3>
116117
{ addrTxs ? addrTxs.map(tx => txBox(tx, { openTx, tipHeight, t, spends, addr, ...S }))
117-
: <img src="img/Loading.gif" className="loading-delay" /> }
118+
: loader() }
118119
</div>
119120

120121
<div className="load-more-container">
121122
<div>
122-
{ loading ? <div className="load-more disabled"><span>{t`Load more`}</span><div><img src="img/Loading.gif" /></div></div>
123+
{ loading ? <div className="load-more disabled"><span>{t`Load more`}</span><div>{loader("small")}</div></div>
123124
: pagingNav(addr, last_seen_txid, est_curr_chain_seen_count, prev_paging_txids, next_paging_txids, prev_paging_est_count, t) }
124125
</div>
125126
</div>

client/src/views/asset-list.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import Snabbdom from 'snabbdom-pragma'
22
import { getSupply } from './util'
33
import layout from './layout'
4+
import loader from '../components/loading'
45

56
const staticRoot = process.env.STATIC_ROOT || ''
67
export default ({ assetList, goAssetList, loading, t, ...S }) => {
@@ -13,7 +14,7 @@ export default ({ assetList, goAssetList, loading, t, ...S }) => {
1314
return layout(
1415
<div>
1516
<div className="container">
16-
{ !assets ? <div className="load-more-container"><img src="img/Loading.gif" /></div>
17+
{ !assets ? <div className="load-more-container">{loader()}</div>
1718
: !assets.length ? <p>{t`No registered assets`}</p>
1819
: <div className="assets-table">
1920
<h3 className="table-title">{t`All Assets`}</h3>

client/src/views/asset.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import layout from './layout'
55
import search from './search'
66
import { txBox } from './tx'
77
import { maxMempoolTxs, assetTxsPerPage as perPage, nativeAssetLabel, nativeAssetName } from '../const'
8+
import loader from '../components/loading'
89

910
const staticRoot = process.env.STATIC_ROOT || ''
1011

@@ -237,12 +238,12 @@ export default ({ t, asset, assetTxs, goAsset, openTx, spends, tipHeight, loadin
237238
<div className="transactions">
238239
<h3>{(is_native_asset ? txsShownTextNative : txsShownTextIssued)(total_txs, est_prev_total_seen_count, shown_txs, t)}</h3>
239240
{ assetTxs ? assetTxs.map(tx => txBox(tx, { openTx, tipHeight, t, spends, ...S }))
240-
: <img src="img/Loading.gif" className="loading-delay" /> }
241+
: loader()}
241242
</div>
242243

243244
<div className="load-more-container">
244245
<div>
245-
{ loading ? <div className="load-more disabled"><span>{t`Load more`}</span><div><img src="img/Loading.gif" /></div></div>
246+
{ loading ? <div className="load-more disabled"><span>{t`Load more`}</span><div>{loader("small")}</div></div>
246247
: pagingNav(asset, last_seen_txid, est_curr_chain_seen_count, prev_paging_txids, next_paging_txids, prev_paging_est_count, t) }
247248
</div>
248249
</div>

client/src/views/block.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { txBox } from './tx'
44
import { updateQuery } from '../util'
55
import { formatTime, formatHex, formatNumber } from './util'
66
import { blockTxsPerPage as perPage } from '../const'
7+
import loader from '../components/loading'
78

89

910
const staticRoot = process.env.STATIC_ROOT || ''
@@ -124,12 +125,12 @@ export default ({ t, block: b, blockStatus: status, blockTxs, openTx, spends, op
124125
<div className="transactions">
125126
<h3>{txsShownText(b.tx_count, goBlock.start_index, blockTxs && blockTxs.length, t)}</h3>
126127
{ blockTxs ? blockTxs.map(tx => txBox( { ...tx, status: txsStatus }, { openTx, tipHeight, t, spends }))
127-
: <img src="img/Loading.gif" className="loading-delay" /> }
128+
: loader() }
128129
</div>
129130

130131
<div className="load-more-container">
131132
<div>
132-
{ loading ? <div className="load-more disabled"><span>{t`Load more`}</span><div><img src="img/Loading.gif" /></div></div>
133+
{ loading ? <div className="load-more disabled"><span>{t`Load more`}</span><div>{loader("small")}</div></div>
133134
: pagingNav(b, { ...S, t }) }
134135
</div>
135136
</div>

client/src/views/blocks.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import Snabbdom from 'snabbdom-pragma'
22
import { formatTime, formatNumber } from './util'
3+
import loader from '../components/loading'
34

45
const staticRoot = process.env.STATIC_ROOT || ''
56

67
export const blks = (blocks, viewMore, loadMore, { t, loading, ...S }) =>
78
<div className="block-container">
8-
{ !blocks ? <img src="img/Loading.gif" className="loading-delay" />
9+
{ !blocks ? loader()
910
: !blocks.length ? <p>{t`No recent blocks`}</p>
1011
: <div className="blocks-table">
1112
<h3 className="table-title">{t`Latest Blocks`}</h3>
@@ -36,7 +37,7 @@ export const blks = (blocks, viewMore, loadMore, { t, loading, ...S }) =>
3637
<div className="load-more-container">
3738
<div>
3839
{ loading
39-
? <div className="load-more disabled"><span>{t`Load more`}</span><div><img src="img/Loading.gif" /></div></div>
40+
? <div className="load-more disabled"><span>{t`Load more`}</span><div>{loader("small")}</div></div>
4041
: pagingNav({ ...S, t }) }
4142
</div>
4243
</div>

client/src/views/loading.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import Snabbdom from 'snabbdom-pragma'
22
import layout from './layout'
33

4+
45
export default ({ t, ...S }) => layout(<div>
5-
<div className="loading-delay">
6-
<div className="container text-center">
7-
<h2>{t`Loading...`}</h2>
8-
<img src="img/Loading.gif" />
9-
</div>
10-
</div>
11-
</div>, { t, ...S })
6+
<div className="spinner">
7+
<div className="ring"></div>
8+
<div className="loading">{t`Loading`}</div>
9+
</div>
10+
</div>, { t, ...S })

client/src/views/transactions.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11

22
import Snabbdom from 'snabbdom-pragma'
33
import { formatSat, formatNumber } from './util'
4+
import loader from '../components/loading'
45

56
const staticRoot = process.env.STATIC_ROOT || ''
67

78
export const transactions = (txs, viewMore, { t } ) =>
89
<div className="tx-container">
9-
{ !txs ? <img src="img/Loading.gif" className="loading-delay" />
10+
{ !txs ? loader()
1011
: !txs.length ? <p>{t`No recent transactions`}</p>
1112
: <div className="transactions-table">
1213
<h3 className="table-title">{t`Latest Transactions`}</h3>

www/style.css

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,42 @@ a, a:link, a:visited, a:hover, a:focus {
160160
box-shadow: 0 20px 40px black;
161161
background-image: radial-gradient(circle at 7% 50%, #1c2127, #15181c 80%);
162162
}
163+
164+
/** Loading **/
165+
.spinner{
166+
display: flex;
167+
flex-direction: column;
168+
align-items: center;
169+
gap: 10px;
170+
visibility: hidden;
171+
animation: 0.3s showDelayed;
172+
animation-fill-mode: forwards;
173+
}
174+
175+
.spinner .ring{
176+
border: 4px solid #f3f3f3;
177+
border-radius: 50%;
178+
border-top: 4px solid #00ccff;
179+
width: 50px;
180+
height: 50px;
181+
animation: spin .5s linear infinite;
182+
}
183+
184+
.spinner .small{
185+
width: 25px;
186+
height: 25px;
187+
}
188+
189+
.spinner .loading{
190+
font-size: 16px;
191+
color: white;
192+
}
193+
194+
@keyframes spin {
195+
0% { transform: rotate(0deg); }
196+
100% { transform: rotate(360deg); }
197+
}
198+
163199
/** New Design Ends **/
164200

165201

0 commit comments

Comments
 (0)