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
59b7b3bb
Unverified
Commit
59b7b3bb
authored
Dec 23, 2022
by
tom goriunov
Committed by
GitHub
Dec 23, 2022
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #451 from blockscout/common-skeleton
сommon skeleton for lists
parents
ba9a6a97
56728402
Changes
38
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
136 additions
and
345 deletions
+136
-345
AddressBlocksValidated.tsx
ui/address/AddressBlocksValidated.tsx
+3
-3
AddressBlocksValidatedListItem.tsx
...ddress/blocksValidated/AddressBlocksValidatedListItem.tsx
+3
-3
AddressBlocksValidatedSkeletonMobile.tsx
.../blocksValidated/AddressBlocksValidatedSkeletonMobile.tsx
+0
-43
AddressCoinBalanceHistory.tsx
ui/address/coinBalance/AddressCoinBalanceHistory.tsx
+3
-3
AddressCoinBalanceListItem.tsx
ui/address/coinBalance/AddressCoinBalanceListItem.tsx
+3
-3
AddressCoinBalanceSkeletonMobile.tsx
ui/address/coinBalance/AddressCoinBalanceSkeletonMobile.tsx
+0
-43
AddressDetailsSkeleton.tsx
ui/address/details/AddressDetailsSkeleton.tsx
+5
-6
AddressIntTxsListItem.tsx
ui/address/internals/AddressIntTxsListItem.tsx
+3
-3
AddressIntTxsSkeletonDesktop.tsx
ui/address/internals/AddressIntTxsSkeletonDesktop.tsx
+1
-1
ApiKeyListItem.tsx
ui/apiKey/ApiKeyTable/ApiKeyListItem.tsx
+3
-3
BlocksContent.tsx
ui/blocks/BlocksContent.tsx
+3
-3
BlocksListItem.tsx
ui/blocks/BlocksListItem.tsx
+3
-3
BlocksSkeletonMobile.tsx
ui/blocks/BlocksSkeletonMobile.tsx
+0
-37
CustomAbiListItem.tsx
ui/customAbi/CustomAbiTable/CustomAbiListItem.tsx
+3
-3
ApiKeys.tsx
ui/pages/ApiKeys.tsx
+3
-3
CustomAbi.tsx
ui/pages/CustomAbi.tsx
+3
-3
Watchlist.tsx
ui/pages/Watchlist.tsx
+3
-3
AddressTagListItem.tsx
ui/privateTags/AddressTagTable/AddressTagListItem.tsx
+3
-3
PrivateAddressTags.tsx
ui/privateTags/PrivateAddressTags.tsx
+3
-3
PrivateTransactionTags.tsx
ui/privateTags/PrivateTransactionTags.tsx
+3
-3
TransactionTagListItem.tsx
...rivateTags/TransactionTagTable/TransactionTagListItem.tsx
+3
-3
PublicTagListItem.tsx
ui/publicTags/PublicTagTable/PublicTagListItem.tsx
+3
-3
PublicTagsData.tsx
ui/publicTags/PublicTagsData.tsx
+3
-3
ListItemMobile.tsx
ui/shared/ListItemMobile.tsx
+4
-5
TokenTransfer.tsx
ui/shared/TokenTransfer/TokenTransfer.tsx
+3
-3
TokenTransferListItem.tsx
ui/shared/TokenTransfer/TokenTransferListItem.tsx
+3
-3
TokenTransferSkeletonMobile.tsx
ui/shared/TokenTransfer/TokenTransferSkeletonMobile.tsx
+0
-55
SkeletonList.tsx
ui/shared/skeletons/SkeletonList.tsx
+40
-0
SkeletonListAccount.tsx
ui/shared/skeletons/SkeletonListAccount.tsx
+4
-5
SkeletonTable.tsx
ui/shared/skeletons/SkeletonTable.tsx
+0
-0
TxInternals.tsx
ui/tx/TxInternals.tsx
+4
-4
TxInternalsListItem.tsx
ui/tx/internals/TxInternalsListItem.tsx
+3
-3
TxInternalsSkeletonDesktop.tsx
ui/tx/internals/TxInternalsSkeletonDesktop.tsx
+0
-11
TxStateListItem.tsx
ui/tx/state/TxStateListItem.tsx
+3
-3
TxsContent.tsx
ui/txs/TxsContent.tsx
+9
-4
TxsSkeletonDesktop.tsx
ui/txs/TxsSkeletonDesktop.tsx
+0
-21
TxsSkeletonMobile.tsx
ui/txs/TxsSkeletonMobile.tsx
+0
-41
WatchListItem.tsx
ui/watchlist/WatchlistTable/WatchListItem.tsx
+3
-3
No files found.
ui/address/AddressBlocksValidated.tsx
View file @
59b7b3bb
...
@@ -14,12 +14,12 @@ import useSocketMessage from 'lib/socket/useSocketMessage';
...
@@ -14,12 +14,12 @@ import useSocketMessage from 'lib/socket/useSocketMessage';
import
ActionBar
from
'
ui/shared/ActionBar
'
;
import
ActionBar
from
'
ui/shared/ActionBar
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonList
from
'
ui/shared/skeletons/SkeletonList
'
;
import
SkeletonTable
from
'
ui/shared/skeletons/SkeletonTable
'
;
import
SocketAlert
from
'
ui/shared/SocketAlert
'
;
import
SocketAlert
from
'
ui/shared/SocketAlert
'
;
import
{
default
as
Thead
}
from
'
ui/shared/TheadSticky
'
;
import
{
default
as
Thead
}
from
'
ui/shared/TheadSticky
'
;
import
AddressBlocksValidatedListItem
from
'
./blocksValidated/AddressBlocksValidatedListItem
'
;
import
AddressBlocksValidatedListItem
from
'
./blocksValidated/AddressBlocksValidatedListItem
'
;
import
AddressBlocksValidatedSkeletonMobile
from
'
./blocksValidated/AddressBlocksValidatedSkeletonMobile
'
;
import
AddressBlocksValidatedTableItem
from
'
./blocksValidated/AddressBlocksValidatedTableItem
'
;
import
AddressBlocksValidatedTableItem
from
'
./blocksValidated/AddressBlocksValidatedTableItem
'
;
interface
Props
{
interface
Props
{
...
@@ -79,7 +79,7 @@ const AddressBlocksValidated = ({ addressQuery }: Props) => {
...
@@ -79,7 +79,7 @@ const AddressBlocksValidated = ({ addressQuery }: Props) => {
<SkeletonTable columns={ [ '17%', '17%', '16%', '25%', '25%' ] }/>
<SkeletonTable columns={ [ '17%', '17%', '16%', '25%', '25%' ] }/>
</Hide>
</Hide>
<Show below="lg">
<Show below="lg">
<
AddressBlocksValidatedSkeletonMobile
/>
<
SkeletonList
/>
</Show>
</Show>
</>
</>
);
);
...
...
ui/address/blocksValidated/AddressBlocksValidatedListItem.tsx
View file @
59b7b3bb
...
@@ -8,7 +8,7 @@ import appConfig from 'configs/app/config';
...
@@ -8,7 +8,7 @@ import appConfig from 'configs/app/config';
import
getBlockTotalReward
from
'
lib/block/getBlockTotalReward
'
;
import
getBlockTotalReward
from
'
lib/block/getBlockTotalReward
'
;
import
useTimeAgoIncrement
from
'
lib/hooks/useTimeAgoIncrement
'
;
import
useTimeAgoIncrement
from
'
lib/hooks/useTimeAgoIncrement
'
;
import
link
from
'
lib/link/link
'
;
import
link
from
'
lib/link/link
'
;
import
AccountListItemMobile
from
'
ui/shared/Account
ListItemMobile
'
;
import
ListItemMobile
from
'
ui/shared/
ListItemMobile
'
;
import
Utilization
from
'
ui/shared/Utilization/Utilization
'
;
import
Utilization
from
'
ui/shared/Utilization/Utilization
'
;
type
Props
=
Block
&
{
type
Props
=
Block
&
{
...
@@ -21,7 +21,7 @@ const AddressBlocksValidatedListItem = (props: Props) => {
...
@@ -21,7 +21,7 @@ const AddressBlocksValidatedListItem = (props: Props) => {
const
totalReward
=
getBlockTotalReward
(
props
);
const
totalReward
=
getBlockTotalReward
(
props
);
return
(
return
(
<
AccountListItemMobile
rowGap=
{
2
}
>
<
ListItemMobile
rowGap=
{
2
}
isAnimated
>
<
Flex
justifyContent=
"space-between"
w=
"100%"
>
<
Flex
justifyContent=
"space-between"
w=
"100%"
>
<
Link
href=
{
blockUrl
}
fontWeight=
"700"
>
{
props
.
height
}
</
Link
>
<
Link
href=
{
blockUrl
}
fontWeight=
"700"
>
{
props
.
height
}
</
Link
>
<
Text
variant=
"secondary"
>
{
timeAgo
}
</
Text
>
<
Text
variant=
"secondary"
>
{
timeAgo
}
</
Text
>
...
@@ -39,7 +39,7 @@ const AddressBlocksValidatedListItem = (props: Props) => {
...
@@ -39,7 +39,7 @@ const AddressBlocksValidatedListItem = (props: Props) => {
<
Text
fontWeight=
{
500
}
flexShrink=
{
0
}
>
Reward
{
appConfig
.
network
.
currency
.
symbol
}
</
Text
>
<
Text
fontWeight=
{
500
}
flexShrink=
{
0
}
>
Reward
{
appConfig
.
network
.
currency
.
symbol
}
</
Text
>
<
Text
variant=
"secondary"
>
{
totalReward
.
toFixed
()
}
</
Text
>
<
Text
variant=
"secondary"
>
{
totalReward
.
toFixed
()
}
</
Text
>
</
Flex
>
</
Flex
>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/address/blocksValidated/AddressBlocksValidatedSkeletonMobile.tsx
deleted
100644 → 0
View file @
ba9a6a97
import
{
Skeleton
,
Flex
,
Box
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
React
from
'
react
'
;
const
AddressBlocksValidatedSkeletonMobile
=
()
=>
{
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
return
(
<
Box
>
{
Array
.
from
(
Array
(
2
)).
map
((
item
,
index
)
=>
(
<
Flex
key=
{
index
}
rowGap=
{
3
}
flexDirection=
"column"
paddingY=
{
6
}
borderTopWidth=
"1px"
borderColor=
{
borderColor
}
_last=
{
{
borderBottomWidth
:
'
1px
'
,
}
}
>
<
Flex
justifyContent=
"space-between"
w=
"100%"
h=
{
6
}
>
<
Skeleton
w=
"100px"
/>
<
Skeleton
w=
"100px"
/>
</
Flex
>
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"40px"
/>
<
Skeleton
w=
"40px"
/>
</
Flex
>
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"70px"
/>
<
Skeleton
w=
"70px"
/>
</
Flex
>
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"100px"
/>
<
Skeleton
w=
"120px"
/>
</
Flex
>
</
Flex
>
))
}
</
Box
>
);
};
export
default
AddressBlocksValidatedSkeletonMobile
;
ui/address/coinBalance/AddressCoinBalanceHistory.tsx
View file @
59b7b3bb
...
@@ -9,11 +9,11 @@ import ActionBar from 'ui/shared/ActionBar';
...
@@ -9,11 +9,11 @@ import ActionBar from 'ui/shared/ActionBar';
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
type
{
Props
as
PaginationProps
}
from
'
ui/shared/Pagination
'
;
import
type
{
Props
as
PaginationProps
}
from
'
ui/shared/Pagination
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonList
from
'
ui/shared/skeletons/SkeletonList
'
;
import
SkeletonTable
from
'
ui/shared/skeletons/SkeletonTable
'
;
import
{
default
as
Thead
}
from
'
ui/shared/TheadSticky
'
;
import
{
default
as
Thead
}
from
'
ui/shared/TheadSticky
'
;
import
AddressCoinBalanceListItem
from
'
./AddressCoinBalanceListItem
'
;
import
AddressCoinBalanceListItem
from
'
./AddressCoinBalanceListItem
'
;
import
AddressCoinBalanceSkeletonMobile
from
'
./AddressCoinBalanceSkeletonMobile
'
;
import
AddressCoinBalanceTableItem
from
'
./AddressCoinBalanceTableItem
'
;
import
AddressCoinBalanceTableItem
from
'
./AddressCoinBalanceTableItem
'
;
interface
Props
{
interface
Props
{
...
@@ -33,7 +33,7 @@ const AddressCoinBalanceHistory = ({ query }: Props) => {
...
@@ -33,7 +33,7 @@ const AddressCoinBalanceHistory = ({ query }: Props) => {
<
SkeletonTable
columns=
{
[
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
120px
'
]
}
/>
<
SkeletonTable
columns=
{
[
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
25%
'
,
'
120px
'
]
}
/>
</
Hide
>
</
Hide
>
<
Show
below=
"lg"
>
<
Show
below=
"lg"
>
<
AddressCoinBalanceSkeletonMobile
/>
<
SkeletonList
/>
</
Show
>
</
Show
>
</>
</>
);
);
...
...
ui/address/coinBalance/AddressCoinBalanceListItem.tsx
View file @
59b7b3bb
...
@@ -8,9 +8,9 @@ import appConfig from 'configs/app/config';
...
@@ -8,9 +8,9 @@ import appConfig from 'configs/app/config';
import
{
WEI
,
ZERO
}
from
'
lib/consts
'
;
import
{
WEI
,
ZERO
}
from
'
lib/consts
'
;
import
useTimeAgoIncrement
from
'
lib/hooks/useTimeAgoIncrement
'
;
import
useTimeAgoIncrement
from
'
lib/hooks/useTimeAgoIncrement
'
;
import
link
from
'
lib/link/link
'
;
import
link
from
'
lib/link/link
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
type
Props
=
AddressCoinBalanceHistoryItem
&
{
type
Props
=
AddressCoinBalanceHistoryItem
&
{
page
:
number
;
page
:
number
;
...
@@ -23,7 +23,7 @@ const AddressCoinBalanceListItem = (props: Props) => {
...
@@ -23,7 +23,7 @@ const AddressCoinBalanceListItem = (props: Props) => {
const
timeAgo
=
useTimeAgoIncrement
(
props
.
block_timestamp
,
props
.
page
===
1
);
const
timeAgo
=
useTimeAgoIncrement
(
props
.
block_timestamp
,
props
.
page
===
1
);
return
(
return
(
<
AccountListItemMobile
rowGap=
{
2
}
>
<
ListItemMobile
rowGap=
{
2
}
isAnimated
>
<
Flex
justifyContent=
"space-between"
w=
"100%"
>
<
Flex
justifyContent=
"space-between"
w=
"100%"
>
<
Text
fontWeight=
{
600
}
>
{
BigNumber
(
props
.
value
).
div
(
WEI
).
toFixed
(
8
)
}
{
appConfig
.
network
.
currency
.
symbol
}
</
Text
>
<
Text
fontWeight=
{
600
}
>
{
BigNumber
(
props
.
value
).
div
(
WEI
).
toFixed
(
8
)
}
{
appConfig
.
network
.
currency
.
symbol
}
</
Text
>
<
Stat
flexGrow=
"0"
>
<
Stat
flexGrow=
"0"
>
...
@@ -51,7 +51,7 @@ const AddressCoinBalanceListItem = (props: Props) => {
...
@@ -51,7 +51,7 @@ const AddressCoinBalanceListItem = (props: Props) => {
<
Text
fontWeight=
{
500
}
flexShrink=
{
0
}
>
Age
</
Text
>
<
Text
fontWeight=
{
500
}
flexShrink=
{
0
}
>
Age
</
Text
>
<
Text
variant=
"secondary"
>
{
timeAgo
}
</
Text
>
<
Text
variant=
"secondary"
>
{
timeAgo
}
</
Text
>
</
Flex
>
</
Flex
>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/address/coinBalance/AddressCoinBalanceSkeletonMobile.tsx
deleted
100644 → 0
View file @
ba9a6a97
import
{
Skeleton
,
Flex
,
Box
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
React
from
'
react
'
;
const
AddressCoinBalanceSkeletonMobile
=
()
=>
{
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
return
(
<
Box
>
{
Array
.
from
(
Array
(
2
)).
map
((
item
,
index
)
=>
(
<
Flex
key=
{
index
}
rowGap=
{
3
}
flexDirection=
"column"
paddingY=
{
6
}
borderTopWidth=
"1px"
borderColor=
{
borderColor
}
_last=
{
{
borderBottomWidth
:
'
1px
'
,
}
}
>
<
Flex
justifyContent=
"space-between"
w=
"100%"
h=
{
6
}
>
<
Skeleton
w=
"170px"
/>
<
Skeleton
w=
"120px"
/>
</
Flex
>
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"40px"
/>
<
Skeleton
w=
"80px"
/>
</
Flex
>
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"40px"
/>
<
Skeleton
w=
"150px"
/>
</
Flex
>
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"30px"
/>
<
Skeleton
w=
"60px"
/>
</
Flex
>
</
Flex
>
))
}
</
Box
>
);
};
export
default
AddressCoinBalanceSkeletonMobile
;
ui/address/details/AddressDetailsSkeleton.tsx
View file @
59b7b3bb
...
@@ -8,14 +8,13 @@ const AddressDetailsSkeleton = () => {
...
@@ -8,14 +8,13 @@ const AddressDetailsSkeleton = () => {
<
Box
>
<
Box
>
<
Flex
align=
"center"
>
<
Flex
align=
"center"
>
<
SkeletonCircle
boxSize=
{
6
}
flexShrink=
{
0
}
/>
<
SkeletonCircle
boxSize=
{
6
}
flexShrink=
{
0
}
/>
<
Skeleton
h=
{
6
}
w=
{
{
base
:
'
100px
'
,
lg
:
'
420px
'
}
}
ml=
{
2
}
/>
<
Skeleton
h=
{
6
}
w=
{
{
base
:
'
100px
'
,
lg
:
'
420px
'
}
}
ml=
{
2
}
borderRadius=
"full"
/>
<
Skeleton
h=
{
6
}
w=
"24px"
ml=
{
2
}
flexShrink=
{
0
}
/>
<
Skeleton
h=
{
8
}
w=
"36px"
ml=
{
3
}
flexShrink=
{
0
}
/>
<
Skeleton
h=
{
8
}
w=
"48px"
ml=
{
3
}
flexShrink=
{
0
}
/>
<
Skeleton
h=
{
8
}
w=
"36px"
ml=
{
3
}
flexShrink=
{
0
}
/>
<
Skeleton
h=
{
8
}
w=
"48px"
ml=
{
3
}
flexShrink=
{
0
}
/>
</
Flex
>
</
Flex
>
<
Flex
align=
"center"
columnGap=
{
4
}
mt=
{
8
}
>
<
Flex
align=
"center"
columnGap=
{
4
}
mt=
{
8
}
>
<
Skeleton
h=
{
6
}
w=
"200px"
/>
<
Skeleton
h=
{
6
}
w=
"200px"
borderRadius=
"full"
/>
<
Skeleton
h=
{
6
}
w=
"80px"
/>
<
Skeleton
h=
{
6
}
w=
"80px"
borderRadius=
"full"
/>
</
Flex
>
</
Flex
>
<
Grid
columnGap=
{
8
}
rowGap=
{
{
base
:
5
,
lg
:
7
}
}
templateColumns=
{
{
base
:
'
1fr
'
,
lg
:
'
150px 1fr
'
}
}
maxW=
"1000px"
mt=
{
8
}
>
<
Grid
columnGap=
{
8
}
rowGap=
{
{
base
:
5
,
lg
:
7
}
}
templateColumns=
{
{
base
:
'
1fr
'
,
lg
:
'
150px 1fr
'
}
}
maxW=
"1000px"
mt=
{
8
}
>
<
DetailsSkeletonRow
w=
"30%"
/>
<
DetailsSkeletonRow
w=
"30%"
/>
...
...
ui/address/internals/AddressIntTxsListItem.tsx
View file @
59b7b3bb
...
@@ -8,11 +8,11 @@ import appConfig from 'configs/app/config';
...
@@ -8,11 +8,11 @@ import appConfig from 'configs/app/config';
import
eastArrowIcon
from
'
icons/arrows/east.svg
'
;
import
eastArrowIcon
from
'
icons/arrows/east.svg
'
;
import
dayjs
from
'
lib/date/dayjs
'
;
import
dayjs
from
'
lib/date/dayjs
'
;
import
link
from
'
lib/link/link
'
;
import
link
from
'
lib/link/link
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
AddressIcon
from
'
ui/shared/address/AddressIcon
'
;
import
AddressIcon
from
'
ui/shared/address/AddressIcon
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
InOutTag
from
'
ui/shared/InOutTag
'
;
import
InOutTag
from
'
ui/shared/InOutTag
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
TxStatus
from
'
ui/shared/TxStatus
'
;
import
TxStatus
from
'
ui/shared/TxStatus
'
;
import
{
TX_INTERNALS_ITEMS
}
from
'
ui/tx/internals/utils
'
;
import
{
TX_INTERNALS_ITEMS
}
from
'
ui/tx/internals/utils
'
;
...
@@ -38,7 +38,7 @@ const TxInternalsListItem = ({
...
@@ -38,7 +38,7 @@ const TxInternalsListItem = ({
const
isIn
=
Boolean
(
currentAddress
&&
currentAddress
===
to
?.
hash
);
const
isIn
=
Boolean
(
currentAddress
&&
currentAddress
===
to
?.
hash
);
return
(
return
(
<
Account
ListItemMobile
rowGap=
{
3
}
>
<
ListItemMobile
rowGap=
{
3
}
>
<
Flex
>
<
Flex
>
{
typeTitle
&&
<
Tag
colorScheme=
"cyan"
mr=
{
2
}
>
{
typeTitle
}
</
Tag
>
}
{
typeTitle
&&
<
Tag
colorScheme=
"cyan"
mr=
{
2
}
>
{
typeTitle
}
</
Tag
>
}
<
TxStatus
status=
{
success
?
'
ok
'
:
'
error
'
}
errorText=
{
error
}
/>
<
TxStatus
status=
{
success
?
'
ok
'
:
'
error
'
}
errorText=
{
error
}
/>
...
@@ -71,7 +71,7 @@ const TxInternalsListItem = ({
...
@@ -71,7 +71,7 @@ const TxInternalsListItem = ({
{
BigNumber
(
value
).
div
(
BigNumber
(
10
**
appConfig
.
network
.
currency
.
decimals
)).
toFormat
()
}
{
BigNumber
(
value
).
div
(
BigNumber
(
10
**
appConfig
.
network
.
currency
.
decimals
)).
toFormat
()
}
</
Text
>
</
Text
>
</
HStack
>
</
HStack
>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/address/internals/AddressIntTxsSkeletonDesktop.tsx
View file @
59b7b3bb
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonTable
from
'
ui/shared/
skeletons/
SkeletonTable
'
;
const
TxInternalsSkeletonDesktop
=
()
=>
{
const
TxInternalsSkeletonDesktop
=
()
=>
{
return
(
return
(
...
...
ui/apiKey/ApiKeyTable/ApiKeyListItem.tsx
View file @
59b7b3bb
...
@@ -2,8 +2,8 @@ import React, { useCallback } from 'react';
...
@@ -2,8 +2,8 @@ import React, { useCallback } from 'react';
import
type
{
ApiKey
}
from
'
types/api/account
'
;
import
type
{
ApiKey
}
from
'
types/api/account
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
ApiKeySnippet
from
'
ui/shared/ApiKeySnippet
'
;
import
ApiKeySnippet
from
'
ui/shared/ApiKeySnippet
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
interface
Props
{
interface
Props
{
...
@@ -23,10 +23,10 @@ const ApiKeyListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
...
@@ -23,10 +23,10 @@ const ApiKeyListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
},
[
item
,
onDeleteClick
]);
},
[
item
,
onDeleteClick
]);
return
(
return
(
<
Account
ListItemMobile
>
<
ListItemMobile
>
<
ApiKeySnippet
apiKey=
{
item
.
api_key
}
name=
{
item
.
name
}
/>
<
ApiKeySnippet
apiKey=
{
item
.
api_key
}
name=
{
item
.
name
}
/>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/blocks/BlocksContent.tsx
View file @
59b7b3bb
...
@@ -11,13 +11,13 @@ import useIsMobile from 'lib/hooks/useIsMobile';
...
@@ -11,13 +11,13 @@ import useIsMobile from 'lib/hooks/useIsMobile';
import
useSocketChannel
from
'
lib/socket/useSocketChannel
'
;
import
useSocketChannel
from
'
lib/socket/useSocketChannel
'
;
import
useSocketMessage
from
'
lib/socket/useSocketMessage
'
;
import
useSocketMessage
from
'
lib/socket/useSocketMessage
'
;
import
BlocksList
from
'
ui/blocks/BlocksList
'
;
import
BlocksList
from
'
ui/blocks/BlocksList
'
;
import
BlocksSkeletonMobile
from
'
ui/blocks/BlocksSkeletonMobile
'
;
import
BlocksTable
from
'
ui/blocks/BlocksTable
'
;
import
BlocksTable
from
'
ui/blocks/BlocksTable
'
;
import
ActionBar
from
'
ui/shared/ActionBar
'
;
import
ActionBar
from
'
ui/shared/ActionBar
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
type
{
Props
as
PaginationProps
}
from
'
ui/shared/Pagination
'
;
import
type
{
Props
as
PaginationProps
}
from
'
ui/shared/Pagination
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonList
from
'
ui/shared/skeletons/SkeletonList
'
;
import
SkeletonTable
from
'
ui/shared/skeletons/SkeletonTable
'
;
type
QueryResult
=
UseQueryResult
<
BlocksResponse
>
&
{
type
QueryResult
=
UseQueryResult
<
BlocksResponse
>
&
{
pagination
:
PaginationProps
;
pagination
:
PaginationProps
;
...
@@ -83,7 +83,7 @@ const BlocksContent = ({ type, query }: Props) => {
...
@@ -83,7 +83,7 @@ const BlocksContent = ({ type, query }: Props) => {
return
(
return
(
<>
<>
<
Show
below=
"lg"
key=
"skeleton-mobile"
ssr=
{
false
}
>
<
Show
below=
"lg"
key=
"skeleton-mobile"
ssr=
{
false
}
>
<
BlocksSkeletonMobile
/>
<
SkeletonList
/>
</
Show
>
</
Show
>
<
Hide
below=
"lg"
key=
"skeleton-desktop"
ssr=
{
false
}
>
<
Hide
below=
"lg"
key=
"skeleton-desktop"
ssr=
{
false
}
>
<
SkeletonTable
columns=
{
[
'
125px
'
,
'
120px
'
,
'
21%
'
,
'
64px
'
,
'
35%
'
,
'
22%
'
,
'
22%
'
]
}
/>
<
SkeletonTable
columns=
{
[
'
125px
'
,
'
120px
'
,
'
21%
'
,
'
64px
'
,
'
35%
'
,
'
22%
'
,
'
22%
'
]
}
/>
...
...
ui/blocks/BlocksListItem.tsx
View file @
59b7b3bb
...
@@ -12,9 +12,9 @@ import { WEI } from 'lib/consts';
...
@@ -12,9 +12,9 @@ import { WEI } from 'lib/consts';
import
link
from
'
lib/link/link
'
;
import
link
from
'
lib/link/link
'
;
import
getNetworkValidatorTitle
from
'
lib/networks/getNetworkValidatorTitle
'
;
import
getNetworkValidatorTitle
from
'
lib/networks/getNetworkValidatorTitle
'
;
import
BlockTimestamp
from
'
ui/blocks/BlockTimestamp
'
;
import
BlockTimestamp
from
'
ui/blocks/BlockTimestamp
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
GasUsedToTargetRatio
from
'
ui/shared/GasUsedToTargetRatio
'
;
import
GasUsedToTargetRatio
from
'
ui/shared/GasUsedToTargetRatio
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
Utilization
from
'
ui/shared/Utilization/Utilization
'
;
import
Utilization
from
'
ui/shared/Utilization/Utilization
'
;
interface
Props
{
interface
Props
{
...
@@ -29,7 +29,7 @@ const BlocksListItem = ({ data, isPending, enableTimeIncrement }: Props) => {
...
@@ -29,7 +29,7 @@ const BlocksListItem = ({ data, isPending, enableTimeIncrement }: Props) => {
const
txFees
=
BigNumber
(
data
.
tx_fees
||
0
);
const
txFees
=
BigNumber
(
data
.
tx_fees
||
0
);
return
(
return
(
<
AccountListItemMobile
rowGap=
{
3
}
key=
{
String
(
data
.
height
)
}
>
<
ListItemMobile
rowGap=
{
3
}
key=
{
String
(
data
.
height
)
}
isAnimated
>
<
Flex
justifyContent=
"space-between"
w=
"100%"
>
<
Flex
justifyContent=
"space-between"
w=
"100%"
>
<
Flex
columnGap=
{
2
}
alignItems=
"center"
>
<
Flex
columnGap=
{
2
}
alignItems=
"center"
>
{
isPending
&&
<
Spinner
size=
"sm"
/>
}
{
isPending
&&
<
Spinner
size=
"sm"
/>
}
...
@@ -76,7 +76,7 @@ const BlocksListItem = ({ data, isPending, enableTimeIncrement }: Props) => {
...
@@ -76,7 +76,7 @@ const BlocksListItem = ({ data, isPending, enableTimeIncrement }: Props) => {
<
Utilization
ml=
{
4
}
value=
{
burntFees
.
div
(
txFees
).
toNumber
()
}
/>
<
Utilization
ml=
{
4
}
value=
{
burntFees
.
div
(
txFees
).
toNumber
()
}
/>
</
Flex
>
</
Flex
>
</
Box
>
</
Box
>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/blocks/BlocksSkeletonMobile.tsx
deleted
100644 → 0
View file @
ba9a6a97
import
{
Skeleton
,
Flex
,
Box
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
React
from
'
react
'
;
const
BlocksSkeletonMobile
=
()
=>
{
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
return
(
<
Box
>
{
Array
.
from
(
Array
(
2
)).
map
((
item
,
index
)
=>
(
<
Flex
key=
{
index
}
rowGap=
{
3
}
flexDirection=
"column"
paddingY=
{
6
}
borderTopWidth=
"1px"
borderColor=
{
borderColor
}
_last=
{
{
borderBottomWidth
:
'
1px
'
,
}
}
>
<
Flex
h=
{
6
}
justifyContent=
"space-between"
>
<
Skeleton
w=
"75px"
/>
<
Skeleton
w=
"90px"
/>
</
Flex
>
<
Skeleton
h=
{
6
}
w=
"130px"
/>
<
Skeleton
h=
{
6
}
w=
"180px"
/>
<
Skeleton
h=
{
6
}
w=
"60px"
/>
<
Skeleton
h=
{
6
}
w=
"100%"
/>
<
Skeleton
h=
{
6
}
w=
"170px"
/>
<
Skeleton
h=
{
6
}
w=
"100%"
/>
</
Flex
>
))
}
</
Box
>
);
};
export
default
BlocksSkeletonMobile
;
ui/customAbi/CustomAbiTable/CustomAbiListItem.tsx
View file @
59b7b3bb
...
@@ -2,8 +2,8 @@ import React, { useCallback } from 'react';
...
@@ -2,8 +2,8 @@ import React, { useCallback } from 'react';
import
type
{
CustomAbi
}
from
'
types/api/account
'
;
import
type
{
CustomAbi
}
from
'
types/api/account
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
AddressSnippet
from
'
ui/shared/AddressSnippet
'
;
import
AddressSnippet
from
'
ui/shared/AddressSnippet
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
interface
Props
{
interface
Props
{
...
@@ -23,10 +23,10 @@ const CustomAbiListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
...
@@ -23,10 +23,10 @@ const CustomAbiListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
},
[
item
,
onDeleteClick
]);
},
[
item
,
onDeleteClick
]);
return
(
return
(
<
Account
ListItemMobile
>
<
ListItemMobile
>
<
AddressSnippet
address=
{
item
.
contract_address_hash
}
subtitle=
{
item
.
name
}
isContract
/>
<
AddressSnippet
address=
{
item
.
contract_address_hash
}
subtitle=
{
item
.
name
}
isContract
/>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/pages/ApiKeys.tsx
View file @
59b7b3bb
...
@@ -17,8 +17,8 @@ import AccountPageDescription from 'ui/shared/AccountPageDescription';
...
@@ -17,8 +17,8 @@ import AccountPageDescription from 'ui/shared/AccountPageDescription';
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Page
from
'
ui/shared/Page/Page
'
;
import
Page
from
'
ui/shared/Page/Page
'
;
import
PageTitle
from
'
ui/shared/Page/PageTitle
'
;
import
PageTitle
from
'
ui/shared/Page/PageTitle
'
;
import
Skeleton
AccountMobile
from
'
ui/shared/SkeletonAccountMobile
'
;
import
Skeleton
ListAccount
from
'
ui/shared/skeletons/SkeletonListAccount
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonTable
from
'
ui/shared/
skeletons/
SkeletonTable
'
;
const
DATA_LIMIT
=
3
;
const
DATA_LIMIT
=
3
;
...
@@ -63,7 +63,7 @@ const ApiKeysPage: React.FC = () => {
...
@@ -63,7 +63,7 @@ const ApiKeysPage: React.FC = () => {
const
content
=
(()
=>
{
const
content
=
(()
=>
{
if
(
isLoading
&&
!
data
)
{
if
(
isLoading
&&
!
data
)
{
const
loader
=
isMobile
?
<
Skeleton
AccountMobile
/>
:
(
const
loader
=
isMobile
?
<
Skeleton
ListAccount
/>
:
(
<>
<>
<
SkeletonTable
columns=
{
[
'
100%
'
,
'
108px
'
]
}
/>
<
SkeletonTable
columns=
{
[
'
100%
'
,
'
108px
'
]
}
/>
<
Skeleton
height=
"48px"
width=
"156px"
marginTop=
{
8
}
/>
<
Skeleton
height=
"48px"
width=
"156px"
marginTop=
{
8
}
/>
...
...
ui/pages/CustomAbi.tsx
View file @
59b7b3bb
...
@@ -16,8 +16,8 @@ import AccountPageDescription from 'ui/shared/AccountPageDescription';
...
@@ -16,8 +16,8 @@ import AccountPageDescription from 'ui/shared/AccountPageDescription';
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Page
from
'
ui/shared/Page/Page
'
;
import
Page
from
'
ui/shared/Page/Page
'
;
import
PageTitle
from
'
ui/shared/Page/PageTitle
'
;
import
PageTitle
from
'
ui/shared/Page/PageTitle
'
;
import
Skeleton
AccountMobile
from
'
ui/shared/SkeletonAccountMobile
'
;
import
Skeleton
ListAccount
from
'
ui/shared/skeletons/SkeletonListAccount
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonTable
from
'
ui/shared/
skeletons/
SkeletonTable
'
;
const
CustomAbiPage
:
React
.
FC
=
()
=>
{
const
CustomAbiPage
:
React
.
FC
=
()
=>
{
const
customAbiModalProps
=
useDisclosure
();
const
customAbiModalProps
=
useDisclosure
();
...
@@ -60,7 +60,7 @@ const CustomAbiPage: React.FC = () => {
...
@@ -60,7 +60,7 @@ const CustomAbiPage: React.FC = () => {
const
content
=
(()
=>
{
const
content
=
(()
=>
{
if
(
isLoading
&&
!
data
)
{
if
(
isLoading
&&
!
data
)
{
const
loader
=
isMobile
?
<
Skeleton
AccountMobile
/>
:
(
const
loader
=
isMobile
?
<
Skeleton
ListAccount
/>
:
(
<>
<>
<
SkeletonTable
columns=
{
[
'
100%
'
,
'
108px
'
]
}
/>
<
SkeletonTable
columns=
{
[
'
100%
'
,
'
108px
'
]
}
/>
<
Skeleton
height=
"44px"
width=
"156px"
marginTop=
{
8
}
/>
<
Skeleton
height=
"44px"
width=
"156px"
marginTop=
{
8
}
/>
...
...
ui/pages/Watchlist.tsx
View file @
59b7b3bb
...
@@ -12,8 +12,8 @@ import AccountPageDescription from 'ui/shared/AccountPageDescription';
...
@@ -12,8 +12,8 @@ import AccountPageDescription from 'ui/shared/AccountPageDescription';
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Page
from
'
ui/shared/Page/Page
'
;
import
Page
from
'
ui/shared/Page/Page
'
;
import
PageTitle
from
'
ui/shared/Page/PageTitle
'
;
import
PageTitle
from
'
ui/shared/Page/PageTitle
'
;
import
Skeleton
AccountMobile
from
'
ui/shared/SkeletonAccountMobile
'
;
import
Skeleton
ListAccount
from
'
ui/shared/skeletons/SkeletonListAccount
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonTable
from
'
ui/shared/
skeletons/
SkeletonTable
'
;
import
AddressModal
from
'
ui/watchlist/AddressModal/AddressModal
'
;
import
AddressModal
from
'
ui/watchlist/AddressModal/AddressModal
'
;
import
DeleteAddressModal
from
'
ui/watchlist/DeleteAddressModal
'
;
import
DeleteAddressModal
from
'
ui/watchlist/DeleteAddressModal
'
;
import
WatchListItem
from
'
ui/watchlist/WatchlistTable/WatchListItem
'
;
import
WatchListItem
from
'
ui/watchlist/WatchlistTable/WatchListItem
'
;
...
@@ -73,7 +73,7 @@ const WatchList: React.FC = () => {
...
@@ -73,7 +73,7 @@ const WatchList: React.FC = () => {
let
content
;
let
content
;
if
(
isLoading
&&
!
data
)
{
if
(
isLoading
&&
!
data
)
{
const
loader
=
isMobile
?
<
Skeleton
AccountMobile
showFooterSlot
/>
:
(
const
loader
=
isMobile
?
<
Skeleton
ListAccount
showFooterSlot
/>
:
(
<>
<>
<
SkeletonTable
columns=
{
[
'
70%
'
,
'
30%
'
,
'
160px
'
,
'
108px
'
]
}
/>
<
SkeletonTable
columns=
{
[
'
70%
'
,
'
30%
'
,
'
160px
'
,
'
108px
'
]
}
/>
<
Skeleton
height=
"44px"
width=
"156px"
marginTop=
{
8
}
/>
<
Skeleton
height=
"44px"
width=
"156px"
marginTop=
{
8
}
/>
...
...
ui/privateTags/AddressTagTable/AddressTagListItem.tsx
View file @
59b7b3bb
...
@@ -3,8 +3,8 @@ import React, { useCallback } from 'react';
...
@@ -3,8 +3,8 @@ import React, { useCallback } from 'react';
import
type
{
AddressTag
}
from
'
types/api/account
'
;
import
type
{
AddressTag
}
from
'
types/api/account
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
AddressSnippet
from
'
ui/shared/AddressSnippet
'
;
import
AddressSnippet
from
'
ui/shared/AddressSnippet
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
interface
Props
{
interface
Props
{
...
@@ -23,7 +23,7 @@ const AddressTagListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
...
@@ -23,7 +23,7 @@ const AddressTagListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
},
[
item
,
onDeleteClick
]);
},
[
item
,
onDeleteClick
]);
return
(
return
(
<
Account
ListItemMobile
>
<
ListItemMobile
>
<
Flex
alignItems=
"flex-start"
flexDirection=
"column"
maxW=
"100%"
>
<
Flex
alignItems=
"flex-start"
flexDirection=
"column"
maxW=
"100%"
>
<
AddressSnippet
address=
{
item
.
address_hash
}
/>
<
AddressSnippet
address=
{
item
.
address_hash
}
/>
<
HStack
spacing=
{
3
}
mt=
{
4
}
>
<
HStack
spacing=
{
3
}
mt=
{
4
}
>
...
@@ -34,7 +34,7 @@ const AddressTagListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
...
@@ -34,7 +34,7 @@ const AddressTagListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
</
HStack
>
</
HStack
>
</
Flex
>
</
Flex
>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/privateTags/PrivateAddressTags.tsx
View file @
59b7b3bb
...
@@ -9,8 +9,8 @@ import useFetch from 'lib/hooks/useFetch';
...
@@ -9,8 +9,8 @@ import useFetch from 'lib/hooks/useFetch';
import
useIsMobile
from
'
lib/hooks/useIsMobile
'
;
import
useIsMobile
from
'
lib/hooks/useIsMobile
'
;
import
AccountPageDescription
from
'
ui/shared/AccountPageDescription
'
;
import
AccountPageDescription
from
'
ui/shared/AccountPageDescription
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Skeleton
AccountMobile
from
'
ui/shared/SkeletonAccountMobile
'
;
import
Skeleton
ListAccount
from
'
ui/shared/skeletons/SkeletonListAccount
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonTable
from
'
ui/shared/
skeletons/
SkeletonTable
'
;
import
AddressModal
from
'
./AddressModal/AddressModal
'
;
import
AddressModal
from
'
./AddressModal/AddressModal
'
;
import
AddressTagListItem
from
'
./AddressTagTable/AddressTagListItem
'
;
import
AddressTagListItem
from
'
./AddressTagTable/AddressTagListItem
'
;
...
@@ -57,7 +57,7 @@ const PrivateAddressTags = () => {
...
@@ -57,7 +57,7 @@ const PrivateAddressTags = () => {
);
);
if
(
isLoading
&&
!
addressTagsData
)
{
if
(
isLoading
&&
!
addressTagsData
)
{
const
loader
=
isMobile
?
<
Skeleton
AccountMobile
/>
:
(
const
loader
=
isMobile
?
<
Skeleton
ListAccount
/>
:
(
<>
<>
<
SkeletonTable
columns=
{
[
'
60%
'
,
'
40%
'
,
'
108px
'
]
}
/>
<
SkeletonTable
columns=
{
[
'
60%
'
,
'
40%
'
,
'
108px
'
]
}
/>
<
Skeleton
height=
"44px"
width=
"156px"
marginTop=
{
8
}
/>
<
Skeleton
height=
"44px"
width=
"156px"
marginTop=
{
8
}
/>
...
...
ui/privateTags/PrivateTransactionTags.tsx
View file @
59b7b3bb
...
@@ -9,8 +9,8 @@ import useFetch from 'lib/hooks/useFetch';
...
@@ -9,8 +9,8 @@ import useFetch from 'lib/hooks/useFetch';
import
useIsMobile
from
'
lib/hooks/useIsMobile
'
;
import
useIsMobile
from
'
lib/hooks/useIsMobile
'
;
import
AccountPageDescription
from
'
ui/shared/AccountPageDescription
'
;
import
AccountPageDescription
from
'
ui/shared/AccountPageDescription
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Skeleton
AccountMobile
from
'
ui/shared/SkeletonAccountMobile
'
;
import
Skeleton
ListAccount
from
'
ui/shared/skeletons/SkeletonListAccount
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonTable
from
'
ui/shared/
skeletons/
SkeletonTable
'
;
import
DeletePrivateTagModal
from
'
./DeletePrivateTagModal
'
;
import
DeletePrivateTagModal
from
'
./DeletePrivateTagModal
'
;
import
TransactionModal
from
'
./TransactionModal/TransactionModal
'
;
import
TransactionModal
from
'
./TransactionModal/TransactionModal
'
;
...
@@ -60,7 +60,7 @@ const PrivateTransactionTags = () => {
...
@@ -60,7 +60,7 @@ const PrivateTransactionTags = () => {
);
);
if
(
isLoading
&&
!
transactionTagsData
)
{
if
(
isLoading
&&
!
transactionTagsData
)
{
const
loader
=
isMobile
?
<
Skeleton
AccountMobile
/>
:
(
const
loader
=
isMobile
?
<
Skeleton
ListAccount
/>
:
(
<>
<>
<
SkeletonTable
columns=
{
[
'
75%
'
,
'
25%
'
,
'
108px
'
]
}
/>
<
SkeletonTable
columns=
{
[
'
75%
'
,
'
25%
'
,
'
108px
'
]
}
/>
<
Skeleton
height=
"44px"
width=
"156px"
marginTop=
{
8
}
/>
<
Skeleton
height=
"44px"
width=
"156px"
marginTop=
{
8
}
/>
...
...
ui/privateTags/TransactionTagTable/TransactionTagListItem.tsx
View file @
59b7b3bb
...
@@ -3,7 +3,7 @@ import React, { useCallback } from 'react';
...
@@ -3,7 +3,7 @@ import React, { useCallback } from 'react';
import
type
{
TransactionTag
}
from
'
types/api/account
'
;
import
type
{
TransactionTag
}
from
'
types/api/account
'
;
import
AccountListItemMobile
from
'
ui/shared/Account
ListItemMobile
'
;
import
ListItemMobile
from
'
ui/shared/
ListItemMobile
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
TransactionSnippet
from
'
ui/shared/TransactionSnippet
'
;
import
TransactionSnippet
from
'
ui/shared/TransactionSnippet
'
;
...
@@ -23,7 +23,7 @@ const TransactionTagListItem = ({ item, onEditClick, onDeleteClick }: Props) =>
...
@@ -23,7 +23,7 @@ const TransactionTagListItem = ({ item, onEditClick, onDeleteClick }: Props) =>
},
[
item
,
onDeleteClick
]);
},
[
item
,
onDeleteClick
]);
return
(
return
(
<
Account
ListItemMobile
>
<
ListItemMobile
>
<
Flex
alignItems=
"flex-start"
flexDirection=
"column"
maxW=
"100%"
>
<
Flex
alignItems=
"flex-start"
flexDirection=
"column"
maxW=
"100%"
>
<
TransactionSnippet
hash=
{
item
.
transaction_hash
}
/>
<
TransactionSnippet
hash=
{
item
.
transaction_hash
}
/>
<
HStack
spacing=
{
3
}
mt=
{
4
}
>
<
HStack
spacing=
{
3
}
mt=
{
4
}
>
...
@@ -34,7 +34,7 @@ const TransactionTagListItem = ({ item, onEditClick, onDeleteClick }: Props) =>
...
@@ -34,7 +34,7 @@ const TransactionTagListItem = ({ item, onEditClick, onDeleteClick }: Props) =>
</
HStack
>
</
HStack
>
</
Flex
>
</
Flex
>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/publicTags/PublicTagTable/PublicTagListItem.tsx
View file @
59b7b3bb
...
@@ -3,8 +3,8 @@ import React, { useCallback } from 'react';
...
@@ -3,8 +3,8 @@ import React, { useCallback } from 'react';
import
type
{
PublicTag
}
from
'
types/api/account
'
;
import
type
{
PublicTag
}
from
'
types/api/account
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
AddressSnippet
from
'
ui/shared/AddressSnippet
'
;
import
AddressSnippet
from
'
ui/shared/AddressSnippet
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
TruncatedTextTooltip
from
'
ui/shared/TruncatedTextTooltip
'
;
import
TruncatedTextTooltip
from
'
ui/shared/TruncatedTextTooltip
'
;
...
@@ -24,7 +24,7 @@ const PublicTagListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
...
@@ -24,7 +24,7 @@ const PublicTagListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
},
[
item
,
onDeleteClick
]);
},
[
item
,
onDeleteClick
]);
return
(
return
(
<
Account
ListItemMobile
>
<
ListItemMobile
>
<
VStack
spacing=
{
3
}
alignItems=
"flex-start"
maxW=
"100%"
>
<
VStack
spacing=
{
3
}
alignItems=
"flex-start"
maxW=
"100%"
>
<
VStack
spacing=
{
4
}
alignItems=
"unset"
maxW=
"100%"
>
<
VStack
spacing=
{
4
}
alignItems=
"unset"
maxW=
"100%"
>
{
item
.
addresses
.
map
((
address
)
=>
<
AddressSnippet
key=
{
address
}
address=
{
address
}
/>)
}
{
item
.
addresses
.
map
((
address
)
=>
<
AddressSnippet
key=
{
address
}
address=
{
address
}
/>)
}
...
@@ -49,7 +49,7 @@ const PublicTagListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
...
@@ -49,7 +49,7 @@ const PublicTagListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
</
HStack
>
</
HStack
>
</
VStack
>
</
VStack
>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/publicTags/PublicTagsData.tsx
View file @
59b7b3bb
...
@@ -10,8 +10,8 @@ import useIsMobile from 'lib/hooks/useIsMobile';
...
@@ -10,8 +10,8 @@ import useIsMobile from 'lib/hooks/useIsMobile';
import
PublicTagListItem
from
'
ui/publicTags/PublicTagTable/PublicTagListItem
'
;
import
PublicTagListItem
from
'
ui/publicTags/PublicTagTable/PublicTagListItem
'
;
import
AccountPageDescription
from
'
ui/shared/AccountPageDescription
'
;
import
AccountPageDescription
from
'
ui/shared/AccountPageDescription
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Skeleton
AccountMobile
from
'
ui/shared/SkeletonAccountMobile
'
;
import
Skeleton
ListAccount
from
'
ui/shared/skeletons/SkeletonListAccount
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonTable
from
'
ui/shared/
skeletons/
SkeletonTable
'
;
import
DeletePublicTagModal
from
'
./DeletePublicTagModal
'
;
import
DeletePublicTagModal
from
'
./DeletePublicTagModal
'
;
import
PublicTagTable
from
'
./PublicTagTable/PublicTagTable
'
;
import
PublicTagTable
from
'
./PublicTagTable/PublicTagTable
'
;
...
@@ -58,7 +58,7 @@ const PublicTagsData = ({ changeToFormScreen, onTagDelete }: Props) => {
...
@@ -58,7 +58,7 @@ const PublicTagsData = ({ changeToFormScreen, onTagDelete }: Props) => {
);
);
if
(
isLoading
)
{
if
(
isLoading
)
{
const
loader
=
isMobile
?
<
Skeleton
AccountMobile
/>
:
(
const
loader
=
isMobile
?
<
Skeleton
ListAccount
/>
:
(
<>
<>
<
SkeletonTable
columns=
{
[
'
50%
'
,
'
25%
'
,
'
25%
'
,
'
108px
'
]
}
/>
<
SkeletonTable
columns=
{
[
'
50%
'
,
'
25%
'
,
'
25%
'
,
'
108px
'
]
}
/>
<
Skeleton
height=
"48px"
width=
"270px"
marginTop=
{
8
}
/>
<
Skeleton
height=
"48px"
width=
"270px"
marginTop=
{
8
}
/>
...
...
ui/shared/
Account
ListItemMobile.tsx
→
ui/shared/ListItemMobile.tsx
View file @
59b7b3bb
...
@@ -5,18 +5,17 @@ import React from 'react';
...
@@ -5,18 +5,17 @@ import React from 'react';
interface
Props
{
interface
Props
{
children
:
React
.
ReactNode
;
children
:
React
.
ReactNode
;
className
?:
string
;
className
?:
string
;
key
?:
string
;
isAnimated
?:
boolean
;
}
}
const
AccountListItemMobile
=
({
children
,
className
,
key
}:
Props
)
=>
{
const
ListItemMobile
=
({
children
,
className
,
isAnimated
}:
Props
)
=>
{
return
(
return
(
<
Flex
<
Flex
as=
{
motion
.
div
}
as=
{
motion
.
div
}
initial=
{
{
opacity
:
0
,
scale
:
0.97
}
}
initial=
{
isAnimated
?
{
opacity
:
0
,
scale
:
0.97
}
:
{
opacity
:
1
,
scale
:
1
}
}
animate=
{
{
opacity
:
1
,
scale
:
1
}
}
animate=
{
{
opacity
:
1
,
scale
:
1
}
}
transitionDuration=
"normal"
transitionDuration=
"normal"
transitionTimingFunction=
"linear"
transitionTimingFunction=
"linear"
key=
{
key
}
rowGap=
{
6
}
rowGap=
{
6
}
alignItems=
"flex-start"
alignItems=
"flex-start"
flexDirection=
"column"
flexDirection=
"column"
...
@@ -33,4 +32,4 @@ const AccountListItemMobile = ({ children, className, key }: Props) => {
...
@@ -33,4 +32,4 @@ const AccountListItemMobile = ({ children, className, key }: Props) => {
);
);
};
};
export
default
chakra
(
Account
ListItemMobile
);
export
default
chakra
(
ListItemMobile
);
ui/shared/TokenTransfer/TokenTransfer.tsx
View file @
59b7b3bb
...
@@ -17,11 +17,11 @@ import EmptySearchResult from 'ui/apps/EmptySearchResult';
...
@@ -17,11 +17,11 @@ import EmptySearchResult from 'ui/apps/EmptySearchResult';
import
ActionBar
from
'
ui/shared/ActionBar
'
;
import
ActionBar
from
'
ui/shared/ActionBar
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
import
SkeletonList
from
'
ui/shared/skeletons/SkeletonList
'
;
import
SkeletonTable
from
'
ui/shared/skeletons/SkeletonTable
'
;
import
{
flattenTotal
}
from
'
ui/shared/TokenTransfer/helpers
'
;
import
{
flattenTotal
}
from
'
ui/shared/TokenTransfer/helpers
'
;
import
TokenTransferFilter
from
'
ui/shared/TokenTransfer/TokenTransferFilter
'
;
import
TokenTransferFilter
from
'
ui/shared/TokenTransfer/TokenTransferFilter
'
;
import
TokenTransferList
from
'
ui/shared/TokenTransfer/TokenTransferList
'
;
import
TokenTransferList
from
'
ui/shared/TokenTransfer/TokenTransferList
'
;
import
TokenTransferSkeletonMobile
from
'
ui/shared/TokenTransfer/TokenTransferSkeletonMobile
'
;
import
TokenTransferTable
from
'
ui/shared/TokenTransfer/TokenTransferTable
'
;
import
TokenTransferTable
from
'
ui/shared/TokenTransfer/TokenTransferTable
'
;
import
{
TOKEN_TYPE
}
from
'
./helpers
'
;
import
{
TOKEN_TYPE
}
from
'
./helpers
'
;
...
@@ -95,7 +95,7 @@ const TokenTransfer = ({
...
@@ -95,7 +95,7 @@ const TokenTransfer = ({
/>
/>
</
Hide
>
</
Hide
>
<
Show
below=
"lg"
>
<
Show
below=
"lg"
>
<
TokenTransferSkeletonMobile
showTxInfo=
{
showTxInfo
}
/>
<
SkeletonList
/>
</
Show
>
</
Show
>
</>
</>
);
);
...
...
ui/shared/TokenTransfer/TokenTransferListItem.tsx
View file @
59b7b3bb
...
@@ -7,12 +7,12 @@ import type { TokenTransfer } from 'types/api/tokenTransfer';
...
@@ -7,12 +7,12 @@ import type { TokenTransfer } from 'types/api/tokenTransfer';
import
eastArrowIcon
from
'
icons/arrows/east.svg
'
;
import
eastArrowIcon
from
'
icons/arrows/east.svg
'
;
import
transactionIcon
from
'
icons/transactions.svg
'
;
import
transactionIcon
from
'
icons/transactions.svg
'
;
import
useTimeAgoIncrement
from
'
lib/hooks/useTimeAgoIncrement
'
;
import
useTimeAgoIncrement
from
'
lib/hooks/useTimeAgoIncrement
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
AdditionalInfoButton
from
'
ui/shared/AdditionalInfoButton
'
;
import
AdditionalInfoButton
from
'
ui/shared/AdditionalInfoButton
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
AddressIcon
from
'
ui/shared/address/AddressIcon
'
;
import
AddressIcon
from
'
ui/shared/address/AddressIcon
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
InOutTag
from
'
ui/shared/InOutTag
'
;
import
InOutTag
from
'
ui/shared/InOutTag
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
TokenSnippet
from
'
ui/shared/TokenSnippet/TokenSnippet
'
;
import
TokenSnippet
from
'
ui/shared/TokenSnippet/TokenSnippet
'
;
import
{
getTokenTransferTypeText
}
from
'
ui/shared/TokenTransfer/helpers
'
;
import
{
getTokenTransferTypeText
}
from
'
ui/shared/TokenTransfer/helpers
'
;
import
TokenTransferNft
from
'
ui/shared/TokenTransfer/TokenTransferNft
'
;
import
TokenTransferNft
from
'
ui/shared/TokenTransfer/TokenTransferNft
'
;
...
@@ -49,7 +49,7 @@ const TokenTransferListItem = ({
...
@@ -49,7 +49,7 @@ const TokenTransferListItem = ({
const
addressWidth
=
`calc((100% -
${
baseAddress
?
'
50px
'
:
'
0px
'
}
) / 2)`
;
const
addressWidth
=
`calc((100% -
${
baseAddress
?
'
50px
'
:
'
0px
'
}
) / 2)`
;
return
(
return
(
<
AccountListItemMobile
rowGap=
{
3
}
>
<
ListItemMobile
rowGap=
{
3
}
isAnimated
>
<
Flex
w=
"100%"
flexWrap=
"wrap"
rowGap=
{
1
}
position=
"relative"
>
<
Flex
w=
"100%"
flexWrap=
"wrap"
rowGap=
{
1
}
position=
"relative"
>
<
TokenSnippet
hash=
{
token
.
address
}
w=
"auto"
maxW=
"calc(100% - 140px)"
name=
{
token
.
name
||
'
Unnamed token
'
}
/>
<
TokenSnippet
hash=
{
token
.
address
}
w=
"auto"
maxW=
"calc(100% - 140px)"
name=
{
token
.
name
||
'
Unnamed token
'
}
/>
<
Tag
flexShrink=
{
0
}
ml=
{
2
}
mr=
{
2
}
>
{
token
.
type
}
</
Tag
>
<
Tag
flexShrink=
{
0
}
ml=
{
2
}
mr=
{
2
}
>
{
token
.
type
}
</
Tag
>
...
@@ -98,7 +98,7 @@ const TokenTransferListItem = ({
...
@@ -98,7 +98,7 @@ const TokenTransferListItem = ({
<
Text
variant=
"secondary"
>
{
value
}
</
Text
>
<
Text
variant=
"secondary"
>
{
value
}
</
Text
>
</
Flex
>
</
Flex
>
)
}
)
}
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/shared/TokenTransfer/TokenTransferSkeletonMobile.tsx
deleted
100644 → 0
View file @
ba9a6a97
import
{
Skeleton
,
SkeletonCircle
,
Flex
,
Box
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
React
from
'
react
'
;
const
TokenTransferSkeletonMobile
=
({
showTxInfo
}:
{
showTxInfo
?:
boolean
})
=>
{
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
return
(
<
Box
>
{
Array
.
from
(
Array
(
2
)).
map
((
item
,
index
)
=>
(
<
Flex
key=
{
index
}
rowGap=
{
3
}
flexDirection=
"column"
paddingY=
{
6
}
borderTopWidth=
"1px"
borderColor=
{
borderColor
}
_last=
{
{
borderBottomWidth
:
'
1px
'
,
}
}
>
<
Flex
h=
{
6
}
>
<
SkeletonCircle
size=
"6"
mr=
{
2
}
flexShrink=
{
0
}
/>
<
Skeleton
w=
"100px"
mr=
{
2
}
/>
<
Skeleton
w=
"50px"
/>
{
showTxInfo
&&
<
Skeleton
w=
"24px"
ml=
"auto"
/>
}
</
Flex
>
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"70px"
/>
<
Skeleton
w=
"24px"
/>
<
Skeleton
w=
"90px"
/>
</
Flex
>
{
showTxInfo
&&
(
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"70px"
flexShrink=
{
0
}
/>
<
Skeleton
w=
"100%"
/>
</
Flex
>
)
}
<
Flex
h=
{
6
}
>
<
SkeletonCircle
size=
"6"
mr=
{
2
}
flexShrink=
{
0
}
/>
<
Skeleton
flexGrow=
{
1
}
mr=
{
3
}
/>
<
Skeleton
w=
"50px"
mr=
{
3
}
/>
<
SkeletonCircle
size=
"6"
mr=
{
2
}
flexShrink=
{
0
}
/>
<
Skeleton
flexGrow=
{
1
}
mr=
{
3
}
/>
</
Flex
>
<
Flex
h=
{
6
}
columnGap=
{
2
}
>
<
Skeleton
w=
"45px"
/>
<
Skeleton
w=
"90px"
/>
</
Flex
>
</
Flex
>
))
}
</
Box
>
);
};
export
default
TokenTransferSkeletonMobile
;
ui/
tx/internals/TxInternalsSkeletonMobile
.tsx
→
ui/
shared/skeletons/SkeletonList
.tsx
View file @
59b7b3bb
import
{
Skeleton
,
SkeletonCircle
,
Flex
,
Box
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
{
Box
,
Flex
,
Skeleton
,
SkeletonCircle
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
React
from
'
react
'
;
import
React
from
'
react
'
;
const
TxInternalsSkeletonMobile
=
()
=>
{
const
SkeletonList
=
()
=>
{
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
return
(
return
(
...
@@ -9,38 +9,32 @@ const TxInternalsSkeletonMobile = () => {
...
@@ -9,38 +9,32 @@ const TxInternalsSkeletonMobile = () => {
{
Array
.
from
(
Array
(
2
)).
map
((
item
,
index
)
=>
(
{
Array
.
from
(
Array
(
2
)).
map
((
item
,
index
)
=>
(
<
Flex
<
Flex
key=
{
index
}
key=
{
index
}
rowGap=
{
3
}
rowGap=
{
4
}
flexDirection=
"column"
flexDirection=
"column"
paddingY=
{
6
}
paddingY=
{
6
}
borderTopWidth=
"1px"
borderTopWidth=
"1px"
borderColor=
{
borderColor
}
borderColor=
{
borderColor
}
_last=
{
{
_last=
{
{
borderBottomWidth
:
'
1
px
'
,
borderBottomWidth
:
'
0
px
'
,
}
}
}
}
>
>
<
Flex
h=
{
6
}
>
<
Flex
h=
{
4
}
>
<
Skeleton
w=
"
100px"
mr=
{
2
}
/>
<
Skeleton
w=
"
30%"
mr=
{
2
}
borderRadius=
"full"
/>
<
Skeleton
w=
"
90px
"
/>
<
Skeleton
w=
"
15%"
borderRadius=
"full
"
/>
</
Flex
>
</
Flex
>
<
Flex
h=
{
6
}
>
<
Flex
h=
{
4
}
>
<
SkeletonCircle
size=
"6"
mr=
{
2
}
flexShrink=
{
0
}
/>
<
SkeletonCircle
boxSize=
{
4
}
mr=
{
2
}
flexShrink=
{
0
}
/>
<
Skeleton
flexGrow=
{
1
}
mr=
{
3
}
/>
<
Skeleton
flexGrow=
{
1
}
mr=
{
3
}
borderRadius=
"full"
/>
<
Skeleton
w=
{
6
}
mr=
{
3
}
/>
<
Skeleton
w=
{
6
}
mr=
{
3
}
borderRadius=
"full"
/>
<
SkeletonCircle
size=
"6"
mr=
{
2
}
flexShrink=
{
0
}
/>
<
SkeletonCircle
boxSize=
{
4
}
mr=
{
2
}
flexShrink=
{
0
}
/>
<
Skeleton
flexGrow=
{
1
}
mr=
{
3
}
/>
<
Skeleton
flexGrow=
{
1
}
mr=
{
3
}
borderRadius=
"full"
/>
</
Flex
>
<
Flex
h=
{
6
}
>
<
Skeleton
w=
"70px"
mr=
{
2
}
/>
<
Skeleton
w=
"30px"
/>
</
Flex
>
<
Flex
h=
{
6
}
>
<
Skeleton
w=
"70px"
mr=
{
2
}
/>
<
Skeleton
w=
"60px"
/>
</
Flex
>
</
Flex
>
<
Skeleton
w=
"75%"
h=
{
4
}
borderRadius=
"full"
/>
<
Skeleton
w=
"60%"
h=
{
4
}
borderRadius=
"full"
/>
</
Flex
>
</
Flex
>
))
}
))
}
</
Box
>
</
Box
>
);
);
};
};
export
default
TxInternalsSkeletonMobile
;
export
default
SkeletonList
;
ui/shared/
SkeletonAccountMobile
.tsx
→
ui/shared/
skeletons/SkeletonListAccount
.tsx
View file @
59b7b3bb
...
@@ -5,7 +5,7 @@ interface Props {
...
@@ -5,7 +5,7 @@ interface Props {
showFooterSlot
?:
boolean
;
showFooterSlot
?:
boolean
;
}
}
const
Skeleton
AccountMobile
=
({
showFooterSlot
}:
Props
)
=>
{
const
Skeleton
ListAccount
=
({
showFooterSlot
}:
Props
)
=>
{
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
return
(
return
(
...
@@ -18,9 +18,8 @@ const SkeletonAccountMobile = ({ showFooterSlot }: Props) => {
...
@@ -18,9 +18,8 @@ const SkeletonAccountMobile = ({ showFooterSlot }: Props) => {
paddingY=
{
6
}
paddingY=
{
6
}
borderTopWidth=
"1px"
borderTopWidth=
"1px"
borderColor=
{
borderColor
}
borderColor=
{
borderColor
}
_first=
{
{
_last=
{
{
borderTopWidth
:
'
0
'
,
borderBottomWidth
:
'
0px
'
,
pt
:
'
0
'
,
}
}
}
}
>
>
<
Flex
columnGap=
{
2
}
w=
"100%"
alignItems=
"center"
>
<
Flex
columnGap=
{
2
}
w=
"100%"
alignItems=
"center"
>
...
@@ -45,4 +44,4 @@ const SkeletonAccountMobile = ({ showFooterSlot }: Props) => {
...
@@ -45,4 +44,4 @@ const SkeletonAccountMobile = ({ showFooterSlot }: Props) => {
);
);
};
};
export
default
Skeleton
AccountMobile
;
export
default
Skeleton
ListAccount
;
ui/shared/SkeletonTable.tsx
→
ui/shared/
skeletons/
SkeletonTable.tsx
View file @
59b7b3bb
File moved
ui/tx/TxInternals.tsx
View file @
59b7b3bb
...
@@ -14,9 +14,9 @@ import DataFetchAlert from 'ui/shared/DataFetchAlert';
...
@@ -14,9 +14,9 @@ import DataFetchAlert from 'ui/shared/DataFetchAlert';
// import FilterInput from 'ui/shared/FilterInput';
// import FilterInput from 'ui/shared/FilterInput';
// import TxInternalsFilter from 'ui/tx/internals/TxInternalsFilter';
// import TxInternalsFilter from 'ui/tx/internals/TxInternalsFilter';
import
Pagination
from
'
ui/shared/Pagination
'
;
import
Pagination
from
'
ui/shared/Pagination
'
;
import
SkeletonList
from
'
ui/shared/skeletons/SkeletonList
'
;
import
SkeletonTable
from
'
ui/shared/skeletons/SkeletonTable
'
;
import
TxInternalsList
from
'
ui/tx/internals/TxInternalsList
'
;
import
TxInternalsList
from
'
ui/tx/internals/TxInternalsList
'
;
import
TxInternalsSkeletonDesktop
from
'
ui/tx/internals/TxInternalsSkeletonDesktop
'
;
import
TxInternalsSkeletonMobile
from
'
ui/tx/internals/TxInternalsSkeletonMobile
'
;
import
TxInternalsTable
from
'
ui/tx/internals/TxInternalsTable
'
;
import
TxInternalsTable
from
'
ui/tx/internals/TxInternalsTable
'
;
import
type
{
Sort
,
SortField
}
from
'
ui/tx/internals/utils
'
;
import
type
{
Sort
,
SortField
}
from
'
ui/tx/internals/utils
'
;
import
TxPendingAlert
from
'
ui/tx/TxPendingAlert
'
;
import
TxPendingAlert
from
'
ui/tx/TxPendingAlert
'
;
...
@@ -103,8 +103,8 @@ const TxInternals = () => {
...
@@ -103,8 +103,8 @@ const TxInternals = () => {
if
(
isLoading
||
txInfo
.
isLoading
)
{
if
(
isLoading
||
txInfo
.
isLoading
)
{
return
(
return
(
<>
<>
<
Show
below=
"lg"
><
TxInternalsSkeletonMobile
/></
Show
>
<
Show
below=
"lg"
><
SkeletonList
/></
Show
>
<
Hide
below=
"lg"
><
TxInternalsSkeletonDesktop
/></
Hide
>
<
Hide
below=
"lg"
><
SkeletonTable
columns=
{
[
'
28%
'
,
'
20%
'
,
'
24px
'
,
'
20%
'
,
'
16%
'
,
'
16%
'
]
}
/></
Hide
>
</>
</>
);
);
}
}
...
...
ui/tx/internals/TxInternalsListItem.tsx
View file @
59b7b3bb
...
@@ -6,10 +6,10 @@ import type { InternalTransaction } from 'types/api/internalTransaction';
...
@@ -6,10 +6,10 @@ import type { InternalTransaction } from 'types/api/internalTransaction';
import
appConfig
from
'
configs/app/config
'
;
import
appConfig
from
'
configs/app/config
'
;
import
eastArrowIcon
from
'
icons/arrows/east.svg
'
;
import
eastArrowIcon
from
'
icons/arrows/east.svg
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
AddressIcon
from
'
ui/shared/address/AddressIcon
'
;
import
AddressIcon
from
'
ui/shared/address/AddressIcon
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
TxStatus
from
'
ui/shared/TxStatus
'
;
import
TxStatus
from
'
ui/shared/TxStatus
'
;
import
{
TX_INTERNALS_ITEMS
}
from
'
ui/tx/internals/utils
'
;
import
{
TX_INTERNALS_ITEMS
}
from
'
ui/tx/internals/utils
'
;
...
@@ -20,7 +20,7 @@ const TxInternalsListItem = ({ type, from, to, value, success, error, gas_limit:
...
@@ -20,7 +20,7 @@ const TxInternalsListItem = ({ type, from, to, value, success, error, gas_limit:
const
toData
=
to
?
to
:
createdContract
;
const
toData
=
to
?
to
:
createdContract
;
return
(
return
(
<
Account
ListItemMobile
rowGap=
{
3
}
>
<
ListItemMobile
rowGap=
{
3
}
>
<
Flex
>
<
Flex
>
{
typeTitle
&&
<
Tag
colorScheme=
"cyan"
mr=
{
2
}
>
{
typeTitle
}
</
Tag
>
}
{
typeTitle
&&
<
Tag
colorScheme=
"cyan"
mr=
{
2
}
>
{
typeTitle
}
</
Tag
>
}
<
TxStatus
status=
{
success
?
'
ok
'
:
'
error
'
}
errorText=
{
error
}
/>
<
TxStatus
status=
{
success
?
'
ok
'
:
'
error
'
}
errorText=
{
error
}
/>
...
@@ -46,7 +46,7 @@ const TxInternalsListItem = ({ type, from, to, value, success, error, gas_limit:
...
@@ -46,7 +46,7 @@ const TxInternalsListItem = ({ type, from, to, value, success, error, gas_limit:
<
Text
fontSize=
"sm"
fontWeight=
{
500
}
>
Gas limit
</
Text
>
<
Text
fontSize=
"sm"
fontWeight=
{
500
}
>
Gas limit
</
Text
>
<
Text
fontSize=
"sm"
variant=
"secondary"
>
{
BigNumber
(
gasLimit
).
toFormat
()
}
</
Text
>
<
Text
fontSize=
"sm"
variant=
"secondary"
>
{
BigNumber
(
gasLimit
).
toFormat
()
}
</
Text
>
</
HStack
>
</
HStack
>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/tx/internals/TxInternalsSkeletonDesktop.tsx
deleted
100644 → 0
View file @
ba9a6a97
import
React
from
'
react
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
const
TxInternalsSkeletonDesktop
=
()
=>
{
return
(
<
SkeletonTable
columns=
{
[
'
28%
'
,
'
20%
'
,
'
24px
'
,
'
20%
'
,
'
16%
'
,
'
16%
'
]
}
/>
);
};
export
default
TxInternalsSkeletonDesktop
;
ui/tx/state/TxStateListItem.tsx
View file @
59b7b3bb
...
@@ -8,10 +8,10 @@ import appConfig from 'configs/app/config';
...
@@ -8,10 +8,10 @@ import appConfig from 'configs/app/config';
import
type
{
data
}
from
'
data/txState
'
;
import
type
{
data
}
from
'
data/txState
'
;
import
{
nbsp
}
from
'
lib/html-entities
'
;
import
{
nbsp
}
from
'
lib/html-entities
'
;
import
getNetworkValidatorTitle
from
'
lib/networks/getNetworkValidatorTitle
'
;
import
getNetworkValidatorTitle
from
'
lib/networks/getNetworkValidatorTitle
'
;
import
AccountListItemMobile
from
'
ui/shared/AccountListItemMobile
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
Address
from
'
ui/shared/address/Address
'
;
import
AddressIcon
from
'
ui/shared/address/AddressIcon
'
;
import
AddressIcon
from
'
ui/shared/address/AddressIcon
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
AddressLink
from
'
ui/shared/address/AddressLink
'
;
import
ListItemMobile
from
'
ui/shared/ListItemMobile
'
;
import
TxStateStorageItem
from
'
./TxStateStorageItem
'
;
import
TxStateStorageItem
from
'
./TxStateStorageItem
'
;
...
@@ -22,7 +22,7 @@ const TxStateListItem = ({ storage, address, miner, after, before, diff }: Props
...
@@ -22,7 +22,7 @@ const TxStateListItem = ({ storage, address, miner, after, before, diff }: Props
const
hasStorageData
=
Boolean
(
storage
?.
length
);
const
hasStorageData
=
Boolean
(
storage
?.
length
);
return
(
return
(
<
Account
ListItemMobile
>
<
ListItemMobile
>
<
AccordionItem
isDisabled=
{
!
hasStorageData
}
border=
{
0
}
w=
"100%"
display=
"flex"
flexDirection=
"column"
>
<
AccordionItem
isDisabled=
{
!
hasStorageData
}
border=
{
0
}
w=
"100%"
display=
"flex"
flexDirection=
"column"
>
{
({
isExpanded
})
=>
(
{
({
isExpanded
})
=>
(
<>
<>
...
@@ -94,7 +94,7 @@ const TxStateListItem = ({ storage, address, miner, after, before, diff }: Props
...
@@ -94,7 +94,7 @@ const TxStateListItem = ({ storage, address, miner, after, before, diff }: Props
</>
</>
)
}
)
}
</
AccordionItem
>
</
AccordionItem
>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
ui/txs/TxsContent.tsx
View file @
59b7b3bb
...
@@ -7,12 +7,12 @@ import type { TxsResponse } from 'types/api/transaction';
...
@@ -7,12 +7,12 @@ import type { TxsResponse } from 'types/api/transaction';
import
useIsMobile
from
'
lib/hooks/useIsMobile
'
;
import
useIsMobile
from
'
lib/hooks/useIsMobile
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
DataFetchAlert
from
'
ui/shared/DataFetchAlert
'
;
import
type
{
Props
as
PaginationProps
}
from
'
ui/shared/Pagination
'
;
import
type
{
Props
as
PaginationProps
}
from
'
ui/shared/Pagination
'
;
import
SkeletonList
from
'
ui/shared/skeletons/SkeletonList
'
;
import
SkeletonTable
from
'
ui/shared/skeletons/SkeletonTable
'
;
import
TxsHeaderMobile
from
'
./TxsHeaderMobile
'
;
import
TxsHeaderMobile
from
'
./TxsHeaderMobile
'
;
import
TxsListItem
from
'
./TxsListItem
'
;
import
TxsListItem
from
'
./TxsListItem
'
;
import
TxsNewItemNotice
from
'
./TxsNewItemNotice
'
;
import
TxsNewItemNotice
from
'
./TxsNewItemNotice
'
;
import
TxsSkeletonDesktop
from
'
./TxsSkeletonDesktop
'
;
import
TxsSkeletonMobile
from
'
./TxsSkeletonMobile
'
;
import
TxsTable
from
'
./TxsTable
'
;
import
TxsTable
from
'
./TxsTable
'
;
import
useTxsSort
from
'
./useTxsSort
'
;
import
useTxsSort
from
'
./useTxsSort
'
;
...
@@ -42,8 +42,13 @@ const TxsContent = ({ filter, query, showBlockInfo = true, showSocketInfo = true
...
@@ -42,8 +42,13 @@ const TxsContent = ({ filter, query, showBlockInfo = true, showSocketInfo = true
if
(
isLoading
)
{
if
(
isLoading
)
{
return
(
return
(
<>
<>
<
Show
below=
"lg"
ssr=
{
false
}
><
TxsSkeletonMobile
showBlockInfo=
{
showBlockInfo
}
/></
Show
>
<
Show
below=
"lg"
ssr=
{
false
}
><
SkeletonList
/></
Show
>
<
Hide
below=
"lg"
ssr=
{
false
}
><
TxsSkeletonDesktop
showBlockInfo=
{
showBlockInfo
}
/></
Hide
>
<
Hide
below=
"lg"
ssr=
{
false
}
>
<
SkeletonTable
columns=
{
showBlockInfo
?
[
'
32px
'
,
'
22%
'
,
'
160px
'
,
'
20%
'
,
'
18%
'
,
'
292px
'
,
'
20%
'
,
'
20%
'
]
:
[
'
32px
'
,
'
22%
'
,
'
160px
'
,
'
20%
'
,
'
292px
'
,
'
20%
'
,
'
20%
'
]
}
/>
</
Hide
>
</>
</>
);
);
}
}
...
...
ui/txs/TxsSkeletonDesktop.tsx
deleted
100644 → 0
View file @
ba9a6a97
import
{
Box
}
from
'
@chakra-ui/react
'
;
import
React
from
'
react
'
;
import
SkeletonTable
from
'
ui/shared/SkeletonTable
'
;
interface
Props
{
showBlockInfo
:
boolean
;
}
const
TxsInternalsSkeletonDesktop
=
({
showBlockInfo
}:
Props
)
=>
{
return
(
<
Box
mb=
{
8
}
>
<
SkeletonTable
columns=
{
showBlockInfo
?
[
'
32px
'
,
'
22%
'
,
'
160px
'
,
'
20%
'
,
'
18%
'
,
'
292px
'
,
'
20%
'
,
'
20%
'
]
:
[
'
32px
'
,
'
22%
'
,
'
160px
'
,
'
20%
'
,
'
292px
'
,
'
20%
'
,
'
20%
'
]
}
/>
</
Box
>
);
};
export
default
TxsInternalsSkeletonDesktop
;
ui/txs/TxsSkeletonMobile.tsx
deleted
100644 → 0
View file @
ba9a6a97
import
{
Skeleton
,
Flex
,
Box
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
React
from
'
react
'
;
interface
Props
{
showBlockInfo
:
boolean
;
}
const
TxInternalsSkeletonMobile
=
({
showBlockInfo
}:
Props
)
=>
{
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
return
(
<
Box
>
{
Array
.
from
(
Array
(
2
)).
map
((
item
,
index
)
=>
(
<
Flex
key=
{
index
}
flexDirection=
"column"
paddingBottom=
{
3
}
paddingTop=
{
4
}
borderTopWidth=
"1px"
borderColor=
{
borderColor
}
_last=
{
{
borderBottomWidth
:
'
1px
'
,
}
}
>
<
Flex
h=
{
6
}
>
<
Skeleton
w=
"100px"
mr=
{
2
}
h=
{
6
}
/>
<
Skeleton
w=
"100px"
h=
{
6
}
/>
</
Flex
>
<
Skeleton
w=
"100%"
h=
"30px"
mt=
{
3
}
/>
<
Skeleton
w=
"50%"
h=
{
6
}
mt=
{
3
}
/>
<
Skeleton
w=
"50%"
h=
{
6
}
mt=
{
2
}
/>
{
showBlockInfo
&&
<
Skeleton
w=
"100%"
h=
{
6
}
mt=
{
6
}
/>
}
<
Skeleton
w=
"50%"
h=
{
6
}
mt=
{
2
}
/>
<
Skeleton
w=
"50%"
h=
{
6
}
mt=
{
2
}
/>
</
Flex
>
))
}
</
Box
>
);
};
export
default
TxInternalsSkeletonMobile
;
ui/watchlist/WatchlistTable/WatchListItem.tsx
View file @
59b7b3bb
...
@@ -6,7 +6,7 @@ import type { TWatchlistItem } from 'types/client/account';
...
@@ -6,7 +6,7 @@ import type { TWatchlistItem } from 'types/client/account';
import
useFetch
from
'
lib/hooks/useFetch
'
;
import
useFetch
from
'
lib/hooks/useFetch
'
;
import
useToast
from
'
lib/hooks/useToast
'
;
import
useToast
from
'
lib/hooks/useToast
'
;
import
AccountListItemMobile
from
'
ui/shared/Account
ListItemMobile
'
;
import
ListItemMobile
from
'
ui/shared/
ListItemMobile
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
TableItemActionButtons
from
'
ui/shared/TableItemActionButtons
'
;
import
WatchListAddressItem
from
'
./WatchListAddressItem
'
;
import
WatchListAddressItem
from
'
./WatchListAddressItem
'
;
...
@@ -79,7 +79,7 @@ const WatchListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
...
@@ -79,7 +79,7 @@ const WatchListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
},
[
mutate
]);
},
[
mutate
]);
return
(
return
(
<
Account
ListItemMobile
>
<
ListItemMobile
>
<
Box
maxW=
"100%"
>
<
Box
maxW=
"100%"
>
<
WatchListAddressItem
item=
{
item
}
/>
<
WatchListAddressItem
item=
{
item
}
/>
<
HStack
spacing=
{
3
}
mt=
{
6
}
>
<
HStack
spacing=
{
3
}
mt=
{
6
}
>
...
@@ -103,7 +103,7 @@ const WatchListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
...
@@ -103,7 +103,7 @@ const WatchListItem = ({ item, onEditClick, onDeleteClick }: Props) => {
</
HStack
>
</
HStack
>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
<
TableItemActionButtons
onDeleteClick=
{
onItemDeleteClick
}
onEditClick=
{
onItemEditClick
}
/>
</
Flex
>
</
Flex
>
</
Account
ListItemMobile
>
</
ListItemMobile
>
);
);
};
};
...
...
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