Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
frontend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vicotor
frontend
Commits
23362254
Commit
23362254
authored
Mar 14, 2023
by
isstuev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
better types
parent
c5d5c4d0
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
75 additions
and
49 deletions
+75
-49
AddressBlocksValidated.tsx
ui/address/AddressBlocksValidated.tsx
+1
-2
AddressInternalTxs.tsx
ui/address/AddressInternalTxs.tsx
+2
-4
AddressLogs.tsx
ui/address/AddressLogs.tsx
+1
-1
AddressTokenTransfers.tsx
ui/address/AddressTokenTransfers.tsx
+8
-4
AddressCoinBalanceHistory.tsx
ui/address/coinBalance/AddressCoinBalanceHistory.tsx
+1
-1
TokensWithIds.tsx
ui/address/tokens/TokensWithIds.tsx
+1
-1
TokensWithoutIds.tsx
ui/address/tokens/TokensWithoutIds.tsx
+4
-2
BlocksContent.tsx
ui/blocks/BlocksContent.tsx
+1
-1
Accounts.tsx
ui/pages/Accounts.tsx
+1
-1
VerifiedContracts.tsx
ui/pages/VerifiedContracts.tsx
+5
-3
DataListDisplay.tsx
ui/shared/DataListDisplay.tsx
+20
-10
TokenHolders.tsx
ui/token/TokenHolders/TokenHolders.tsx
+1
-1
TokenInventory.tsx
ui/token/TokenInventory.tsx
+1
-1
TokenTransfer.tsx
ui/token/TokenTransfer/TokenTransfer.tsx
+4
-2
Tokens.tsx
ui/tokens/Tokens.tsx
+5
-3
TxInternals.tsx
ui/tx/TxInternals.tsx
+5
-3
TxTokenTransfer.tsx
ui/tx/TxTokenTransfer.tsx
+8
-4
TxsContent.tsx
ui/txs/TxsContent.tsx
+6
-5
No files found.
ui/address/AddressBlocksValidated.tsx
View file @
23362254
...
...
@@ -109,8 +109,7 @@ const AddressBlocksValidated = ({ scrollRef }: Props) => {
isError=
{
query
.
isError
}
isLoading=
{
query
.
isLoading
}
items=
{
query
.
data
?.
items
}
isLongSkeleton
skeletonDesktopColumns=
{
[
'
17%
'
,
'
17%
'
,
'
16%
'
,
'
25%
'
,
'
25%
'
]
}
skeletonProps=
{
{
isLongSkeleton
:
true
,
skeletonDesktopColumns
:
[
'
17%
'
,
'
17%
'
,
'
16%
'
,
'
25%
'
,
'
25%
'
]
}
}
emptyText=
"There are no validated blocks for this address."
content=
{
content
}
actionBar=
{
actionBar
}
...
...
ui/address/AddressInternalTxs.tsx
View file @
23362254
...
...
@@ -68,11 +68,9 @@ const AddressInternalTxs = ({ scrollRef }: {scrollRef?: React.RefObject<HTMLDivE
isError=
{
isError
}
isLoading=
{
isLoading
}
items=
{
data
?.
items
}
isLongSkeleton
skeletonDesktopColumns=
{
[
'
15%
'
,
'
15%
'
,
'
10%
'
,
'
20%
'
,
'
20%
'
,
'
20%
'
]
}
skeletonProps=
{
{
isLongSkeleton
:
true
,
skeletonDesktopColumns
:
[
'
15%
'
,
'
15%
'
,
'
10%
'
,
'
20%
'
,
'
20%
'
,
'
20%
'
]
}
}
filterProps=
{
{
emptyFilteredText
:
`Couldn${ apos }t find any transaction that matches your query.`
,
hasActiveFilters
:
Boolean
(
filterValue
)
}
}
emptyText=
"There are no internal transactions for this address."
emptyFilteredText=
{
`Couldn${ apos }t find any transaction that matches your query.`
}
hasActiveFilters=
{
Boolean
(
filterValue
)
}
content=
{
content
}
actionBar=
{
actionBar
}
/>
...
...
ui/address/AddressLogs.tsx
View file @
23362254
...
...
@@ -37,7 +37,7 @@ const AddressLogs = ({ scrollRef }: {scrollRef?: React.RefObject<HTMLDivElement>
emptyText=
"There are no logs for this address."
content=
{
content
}
actionBar=
{
actionBar
}
customSkeleton=
{
skeleton
}
skeletonProps=
{
{
customSkeleton
:
skeleton
}
}
/>
);
};
...
...
ui/address/AddressTokenTransfers.tsx
View file @
23362254
...
...
@@ -247,11 +247,15 @@ const AddressTokenTransfers = ({ scrollRef }: {scrollRef?: React.RefObject<HTMLD
isError=
{
isError
}
isLoading=
{
isLoading
}
items=
{
data
?.
items
}
isLongSkeleton
skeletonDesktopColumns=
{
[
'
44px
'
,
'
185px
'
,
'
160px
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
]
}
skeletonProps=
{
{
isLongSkeleton
:
true
,
skeletonDesktopColumns
:
[
'
44px
'
,
'
185px
'
,
'
160px
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
],
}
}
emptyText=
"There are no token transfers."
emptyFilteredText=
{
`Couldn${ apos }t find any token transfer that matches your query.`
}
hasActiveFilters=
{
Boolean
(
numActiveFilters
)
}
filterProps=
{
{
emptyFilteredText
:
`Couldn${ apos }t find any token transfer that matches your query.`
,
hasActiveFilters
:
Boolean
(
numActiveFilters
),
}
}
content=
{
content
}
actionBar=
{
actionBar
}
/>
...
...
ui/address/coinBalance/AddressCoinBalanceHistory.tsx
View file @
23362254
...
...
@@ -63,7 +63,7 @@ const AddressCoinBalanceHistory = ({ query }: Props) => {
isError=
{
query
.
isError
}
isLoading=
{
query
.
isLoading
}
items=
{
query
.
data
?.
items
}
skeleton
DesktopColumns=
{
[
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
120px
'
]
}
skeleton
Props=
{
{
skeletonDesktopColumns
:
[
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
120px
'
]
}
}
emptyText=
"There is no coin balance history for this address."
content=
{
content
}
actionBar=
{
actionBar
}
...
...
ui/address/tokens/TokensWithIds.tsx
View file @
23362254
...
...
@@ -64,7 +64,7 @@ const TokensWithIds = ({ tokensQuery }: Props) => {
emptyText=
"There are no tokens of selected type."
content=
{
content
}
actionBar=
{
actionBar
}
customSkeleton=
{
skeleton
}
skeletonProps=
{
{
customSkeleton
:
skeleton
}
}
/>
);
};
...
...
ui/address/tokens/TokensWithoutIds.tsx
View file @
23362254
...
...
@@ -42,8 +42,10 @@ const TokensWithoutIds = ({ tokensQuery }: Props) => {
isError=
{
isError
}
isLoading=
{
isLoading
}
items=
{
data
?.
items
}
isLongSkeleton
skeletonDesktopColumns=
{
[
'
30%
'
,
'
30%
'
,
'
10%
'
,
'
20%
'
,
'
10%
'
]
}
skeletonProps=
{
{
isLongSkeleton
:
true
,
skeletonDesktopColumns
:
[
'
30%
'
,
'
30%
'
,
'
10%
'
,
'
20%
'
,
'
10%
'
],
}
}
emptyText=
"There are no tokens of selected type."
content=
{
content
}
actionBar=
{
actionBar
}
...
...
ui/blocks/BlocksContent.tsx
View file @
23362254
...
...
@@ -97,7 +97,7 @@ const BlocksContent = ({ type, query }: Props) => {
isError=
{
query
.
isError
}
isLoading=
{
query
.
isLoading
}
items=
{
query
.
data
?.
items
}
skeleton
DesktopColumns=
{
[
'
125px
'
,
'
120px
'
,
'
21%
'
,
'
64px
'
,
'
35%
'
,
'
22%
'
,
'
22%
'
]
}
skeleton
Props=
{
{
skeletonDesktopColumns
:
[
'
125px
'
,
'
120px
'
,
'
21%
'
,
'
64px
'
,
'
35%
'
,
'
22%
'
,
'
22%
'
]
}
}
emptyText=
"There are no blocks."
content=
{
content
}
actionBar=
{
actionBar
}
...
...
ui/pages/Accounts.tsx
View file @
23362254
...
...
@@ -56,7 +56,7 @@ const Accounts = () => {
isError=
{
isError
}
isLoading=
{
isLoading
}
items=
{
data
?.
items
}
skeleton
DesktopColumns=
{
[
'
64px
'
,
'
30%
'
,
'
20%
'
,
'
20%
'
,
'
15%
'
,
'
15%
'
]
}
skeleton
Props=
{
{
skeletonDesktopColumns
:
[
'
64px
'
,
'
30%
'
,
'
20%
'
,
'
20%
'
,
'
15%
'
,
'
15%
'
]
}
}
emptyText=
"There are no accounts."
content=
{
content
}
actionBar=
{
actionBar
}
...
...
ui/pages/VerifiedContracts.tsx
View file @
23362254
...
...
@@ -120,10 +120,12 @@ const VerifiedContracts = () => {
isError=
{
isError
}
isLoading=
{
isLoading
}
items=
{
data
?.
items
}
skeleton
DesktopColumns=
{
[
'
50%
'
,
'
130px
'
,
'
130px
'
,
'
50%
'
,
'
80px
'
,
'
110px
'
]
}
skeleton
Props=
{
{
skeletonDesktopColumns
:
[
'
50%
'
,
'
130px
'
,
'
130px
'
,
'
50%
'
,
'
80px
'
,
'
110px
'
]
}
}
emptyText=
"There are no verified contracts."
emptyFilteredText=
{
`Couldn${ apos }t find any contract that matches your query.`
}
hasActiveFilters=
{
Boolean
(
searchTerm
||
type
)
}
filterProps=
{
{
emptyFilteredText
:
`Couldn${ apos }t find any contract that matches your query.`
,
hasActiveFilters
:
Boolean
(
searchTerm
||
type
),
}
}
content=
{
content
}
actionBar=
{
actionBar
}
/>
...
...
ui/shared/DataListDisplay.tsx
View file @
23362254
...
...
@@ -7,20 +7,29 @@ import DataFetchAlert from './DataFetchAlert';
import
SkeletonList
from
'
./skeletons/SkeletonList
'
;
import
SkeletonTable
from
'
./skeletons/SkeletonTable
'
;
type
SkeletonProps
=
{
customSkeleton
:
React
.
ReactNode
}
|
{
skeletonDesktopColumns
:
Array
<
string
>
;
isLongSkeleton
?:
boolean
;
}
type
FilterProps
=
{
hasActiveFilters
:
boolean
;
emptyFilteredText
:
string
;
};
type
Props
=
{
isError
:
boolean
;
isLoading
:
boolean
;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
items
?:
Array
<
any
>
;
emptyText
:
string
;
skeletonDesktopColumns
?:
Array
<
string
>
;
isLongSkeleton
?:
boolean
;
actionBar
?:
React
.
ReactNode
;
content
:
React
.
ReactNode
;
customSkeleton
?:
React
.
ReactNode
;
className
?:
string
;
hasActiveFilters
?:
boolean
;
emptyFilteredText
?:
string
;
skeletonProps
:
SkeletonProps
;
filterProps
?:
FilterProps
;
}
const
DataListDisplay
=
(
props
:
Props
)
=>
{
...
...
@@ -33,13 +42,14 @@ const DataListDisplay = (props: Props) => {
return
(
<>
{
props
.
actionBar
}
{
props
.
customSkeleton
||
(
{
'
customSkeleton
'
in
props
.
skeletonProps
&&
props
.
skeletonProps
.
customSkeleton
}
{
'
skeletonDesktopColumns
'
in
props
.
skeletonProps
&&
(
<>
<
SkeletonList
display=
{
{
base
:
'
block
'
,
lg
:
'
none
'
}
}
/>
<
SkeletonTable
display=
{
{
base
:
'
none
'
,
lg
:
'
block
'
}
}
columns=
{
props
.
skeletonDesktopColumns
||
[]
}
isLong=
{
props
.
isLongSkeleton
}
columns=
{
props
.
skeleton
Props
.
skeleton
DesktopColumns
||
[]
}
isLong=
{
props
.
skeletonProps
.
isLongSkeleton
}
/>
</>
)
}
...
...
@@ -47,11 +57,11 @@ const DataListDisplay = (props: Props) => {
);
}
if
(
props
.
hasActiveFilters
&&
!
props
.
items
?.
length
)
{
if
(
props
.
filterProps
?.
hasActiveFilters
&&
!
props
.
items
?.
length
)
{
return
(
<>
{
props
.
actionBar
}
<
EmptySearchResult
text=
{
props
.
emptyFilteredText
}
/>
<
EmptySearchResult
text=
{
props
.
filterProps
.
emptyFilteredText
}
/>
</>
);
}
...
...
ui/token/TokenHolders/TokenHolders.tsx
View file @
23362254
...
...
@@ -48,7 +48,7 @@ const TokenHoldersContent = ({ holdersQuery, tokenQuery }: Props) => {
isError=
{
holdersQuery
.
isError
||
tokenQuery
.
isError
}
isLoading=
{
holdersQuery
.
isLoading
||
tokenQuery
.
isLoading
}
items=
{
holdersQuery
.
data
?.
items
}
skeleton
DesktopColumns=
{
[
'
100%
'
,
'
300px
'
,
'
175px
'
]
}
skeleton
Props=
{
{
skeletonDesktopColumns
:
[
'
100%
'
,
'
300px
'
,
'
175px
'
]
}
}
emptyText=
"There are no holders for this token."
content=
{
content
}
actionBar=
{
actionBar
}
...
...
ui/token/TokenInventory.tsx
View file @
23362254
...
...
@@ -64,7 +64,7 @@ const TokenInventory = ({ inventoryQuery }: Props) => {
emptyText=
"There are no tokens."
content=
{
content
}
actionBar=
{
actionBar
}
customSkeleton=
{
skeleton
}
skeletonProps=
{
{
customSkeleton
:
skeleton
}
}
/>
);
};
...
...
ui/token/TokenTransfer/TokenTransfer.tsx
View file @
23362254
...
...
@@ -100,8 +100,10 @@ const TokenTransfer = ({ transfersQuery, tokenId }: Props) => {
isError={ isError }
isLoading={ isLoading }
items={ data?.items }
isLongSkeleton
skeletonDesktopColumns={ [ '45%', '15%', '36px', '15%', '25%' ] }
skeletonProps={{
isLongSkeleton: true,
skeletonDesktopColumns: [ '45%', '15%', '36px', '15%', '25%' ],
}}
emptyText="There are no token transfers."
content={ content }
actionBar={ actionBar }
...
...
ui/tokens/Tokens.tsx
View file @
23362254
...
...
@@ -94,10 +94,12 @@ const Tokens = () => {
isError=
{
isError
}
isLoading=
{
isLoading
}
items=
{
data
?.
items
}
skeleton
DesktopColumns=
{
[
'
25px
'
,
'
33%
'
,
'
33%
'
,
'
33%
'
,
'
110px
'
]
}
skeleton
Props=
{
{
skeletonDesktopColumns
:
[
'
25px
'
,
'
33%
'
,
'
33%
'
,
'
33%
'
,
'
110px
'
]
}
}
emptyText=
"There are no tokens."
emptyFilteredText=
{
`Couldn${ apos }t find token that matches your filter query.`
}
hasActiveFilters=
{
Boolean
(
debouncedFilter
||
type
)
}
filterProps=
{
{
emptyFilteredText
:
`Couldn${ apos }t find token that matches your filter query.`
,
hasActiveFilters
:
Boolean
(
debouncedFilter
||
type
),
}
}
content=
{
content
}
actionBar=
{
actionBar
}
/>
...
...
ui/tx/TxInternals.tsx
View file @
23362254
...
...
@@ -120,10 +120,12 @@ const TxInternals = () => {
isError=
{
isError
||
txInfo
.
isError
}
isLoading=
{
isLoading
||
txInfo
.
isLoading
}
items=
{
data
?.
items
}
skeleton
DesktopColumns=
{
[
'
28%
'
,
'
20%
'
,
'
24px
'
,
'
20%
'
,
'
16%
'
,
'
16%
'
]
}
skeleton
Props=
{
{
skeletonDesktopColumns
:
[
'
28%
'
,
'
20%
'
,
'
24px
'
,
'
20%
'
,
'
16%
'
,
'
16%
'
]
}
}
emptyText=
"There are no internal transactions for this transaction."
// emptyFilteredText={ `Couldn${ apos }t find any transaction that matches your query.` }
// hasActiveFilters={ Boolean(filters.length || searchTerm) }
// filterProps={{
// emptyFilteredText: `Couldn${ apos }t find any transaction that matches your query.`.
// hasActiveFilters: Boolean(filters.length || searchTerm),
// }}
content=
{
content
}
actionBar=
{
actionBar
}
/>
...
...
ui/tx/TxTokenTransfer.tsx
View file @
23362254
...
...
@@ -84,11 +84,15 @@ const TxTokenTransfer = () => {
isError=
{
txsInfo
.
isError
||
tokenTransferQuery
.
isError
}
isLoading=
{
txsInfo
.
isLoading
||
tokenTransferQuery
.
isLoading
}
items=
{
tokenTransferQuery
.
data
?.
items
}
isLongSkeleton
skeletonDesktopColumns=
{
[
'
185px
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
]
}
skeletonProps=
{
{
isLongSkeleton
:
true
,
skeletonDesktopColumns
:
[
'
185px
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
],
}
}
emptyText=
"There are no token transfers."
emptyFilteredText=
{
`Couldn${ apos }t find any token transfer that matches your query.`
}
hasActiveFilters=
{
Boolean
(
numActiveFilters
)
}
filterProps=
{
{
emptyFilteredText
:
`Couldn${ apos }t find any token transfer that matches your query.`
,
hasActiveFilters
:
Boolean
(
numActiveFilters
),
}
}
content=
{
content
}
actionBar=
{
actionBar
}
/>
...
...
ui/txs/TxsContent.tsx
View file @
23362254
...
...
@@ -107,11 +107,12 @@ const TxsContent = ({
isError=
{
isError
}
isLoading=
{
isLoading
}
items=
{
data
?.
items
}
isLongSkeleton=
{
hasLongSkeleton
}
skeletonDesktopColumns=
{
showBlockInfo
?
skeletonProps=
{
{
isLongSkeleton
:
hasLongSkeleton
,
skeletonDesktopColumns
:
showBlockInfo
?
[
'
32px
'
,
'
22%
'
,
'
160px
'
,
'
20%
'
,
'
18%
'
,
'
292px
'
,
'
20%
'
,
'
20%
'
]
:
[
'
32px
'
,
'
22%
'
,
'
160px
'
,
'
20%
'
,
'
292px
'
,
'
20%
'
,
'
20%
'
]
}
[
'
32px
'
,
'
22%
'
,
'
160px
'
,
'
20%
'
,
'
292px
'
,
'
20%
'
,
'
20%
'
],
}
}
emptyText=
"There are no transactions."
content=
{
content
}
actionBar=
{
actionBar
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment