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
d7f50704
Unverified
Commit
d7f50704
authored
Jul 19, 2022
by
tom goriunov
Committed by
GitHub
Jul 19, 2022
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'main' into color-mode-smooth-transition
parents
9cd266cd
e1cb1434
Changes
47
Hide whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
157 additions
and
108 deletions
+157
-108
.eslintrc.js
.eslintrc.js
+8
-0
linters.yml
.github/workflows/linters.yml
+11
-0
additional.d.ts
additional.d.ts
+1
-1
next.config.js
next.config.js
+5
-5
package.json
package.json
+1
-1
_app.tsx
pages/_app.tsx
+1
-1
_document.tsx
pages/_document.tsx
+1
-1
api-keys.tsx
pages/api-keys.tsx
+1
-1
index.tsx
pages/index.tsx
+1
-1
private-tags.tsx
pages/private-tags.tsx
+1
-1
watchlist.tsx
pages/watchlist.tsx
+1
-1
Heading.ts
theme/components/Heading.ts
+23
-0
index.ts
theme/components/index.ts
+2
-0
tsconfig.json
tsconfig.json
+5
-1
ApiKeyForm.tsx
ui/apiKey/ApiKeyModal/ApiKeyForm.tsx
+1
-1
ApiKeyModal.tsx
ui/apiKey/ApiKeyModal/ApiKeyModal.tsx
+2
-2
ApiKeyTable.tsx
ui/apiKey/ApiKeyTable/ApiKeyTable.tsx
+1
-1
ApiKeyTableItem.tsx
ui/apiKey/ApiKeyTable/ApiKeyTableItem.tsx
+4
-4
DeleteApiKeyModal.tsx
ui/apiKey/DeleteApiKeyModal.tsx
+1
-1
AccountNavigation.tsx
ui/navigation/AccountNavigation.tsx
+5
-5
MainNavigation.tsx
ui/navigation/MainNavigation.tsx
+5
-5
NavFooter.tsx
ui/navigation/NavFooter.tsx
+5
-5
Navigation.tsx
ui/navigation/Navigation.tsx
+2
-2
ApiKeys.tsx
ui/pages/ApiKeys.tsx
+9
-9
PrivateTags.tsx
ui/pages/PrivateTags.tsx
+5
-4
Watchlist.tsx
ui/pages/Watchlist.tsx
+8
-8
AddressForm.tsx
ui/privateTags/AddressModal/AddressForm.tsx
+3
-3
AddressModal.tsx
ui/privateTags/AddressModal/AddressModal.tsx
+2
-2
AddressTagTable.tsx
ui/privateTags/AddressTagTable/AddressTagTable.tsx
+1
-1
AddressTagTableItem.tsx
ui/privateTags/AddressTagTable/AddressTagTableItem.tsx
+5
-5
DeletePrivateTagModal.tsx
ui/privateTags/DeletePrivateTagModal.tsx
+1
-1
PrivateAddressTags.tsx
ui/privateTags/PrivateAddressTags.tsx
+2
-2
PrivateTransactionTags.tsx
ui/privateTags/PrivateTransactionTags.tsx
+2
-2
TransactionForm.tsx
ui/privateTags/TransactionModal/TransactionForm.tsx
+3
-3
TransactionModal.tsx
ui/privateTags/TransactionModal/TransactionModal.tsx
+2
-2
TransactionTagTable.tsx
ui/privateTags/TransactionTagTable/TransactionTagTable.tsx
+1
-1
TransactionTagTableItem.tsx
...ivateTags/TransactionTagTable/TransactionTagTableItem.tsx
+4
-4
CopyToClipboard.tsx
ui/shared/CopyToClipboard.tsx
+1
-1
DeleteButton.tsx
ui/shared/DeleteButton.tsx
+1
-1
EditButton.tsx
ui/shared/EditButton.tsx
+1
-1
Page.tsx
ui/shared/Page/Page.tsx
+2
-2
AddressForm.tsx
ui/watchlist/AddressModal/AddressForm.tsx
+3
-3
AddressModal.tsx
ui/watchlist/AddressModal/AddressModal.tsx
+2
-2
DeleteAddressModal.tsx
ui/watchlist/DeleteAddressModal.tsx
+1
-1
WatchListAddressItem.tsx
ui/watchlist/WatchlistTable/WatchListAddressItem.tsx
+6
-6
WatchListTableItem.tsx
ui/watchlist/WatchlistTable/WatchListTableItem.tsx
+3
-3
WatchlistTable.tsx
ui/watchlist/WatchlistTable/WatchlistTable.tsx
+1
-1
No files found.
.eslintrc.js
View file @
d7f50704
...
@@ -243,4 +243,12 @@ module.exports = {
...
@@ -243,4 +243,12 @@ module.exports = {
'
regexp/no-useless-character-class
'
:
'
error
'
,
'
regexp/no-useless-character-class
'
:
'
error
'
,
'
regexp/no-useless-dollar-replacements
'
:
'
error
'
,
'
regexp/no-useless-dollar-replacements
'
:
'
error
'
,
},
},
overrides
:
[
{
files
:
[
'
*.js
'
,
'
*.jsx
'
],
rules
:
{
'
@typescript-eslint/no-var-requires
'
:
'
off
'
,
},
},
],
};
};
.github/workflows/linters.yml
0 → 100644
View file @
d7f50704
name
:
Linters
on
:
[
pull_request
]
jobs
:
eslint
:
runs-on
:
ubuntu-latest
steps
:
-
uses
:
actions/checkout@v2
-
name
:
Install dependencies
run
:
yarn
-
name
:
Run ESLint
run
:
yarn lint:eslint
\ No newline at end of file
additional.d.ts
View file @
d7f50704
/// <reference types="next-react-svg" />
/// <reference types="next-react-svg" />
\ No newline at end of file
next.config.js
View file @
d7f50704
const
withReactSvg
=
require
(
'
next-react-svg
'
)
const
withReactSvg
=
require
(
'
next-react-svg
'
)
;
const
path
=
require
(
'
path
'
)
const
path
=
require
(
'
path
'
)
;
module
.
exports
=
withReactSvg
({
module
.
exports
=
withReactSvg
({
include
:
path
.
resolve
(
__dirname
,
'
icons
'
),
include
:
path
.
resolve
(
__dirname
,
'
icons
'
),
reactStrictMode
:
true
,
reactStrictMode
:
true
,
webpack
(
config
,
options
)
{
webpack
(
config
)
{
return
config
return
config
}
},
})
})
\ No newline at end of file
package.json
View file @
d7f50704
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
"dev"
:
"next dev"
,
"dev"
:
"next dev"
,
"build"
:
"next build"
,
"build"
:
"next build"
,
"start"
:
"next start"
,
"start"
:
"next start"
,
"lint
"
:
"next lint
"
,
"lint
:eslint"
:
"./node_modules/.bin/eslint . --ext .js,.jsx,.ts,.tsx
"
,
"prepare"
:
"husky install"
"prepare"
:
"husky install"
},
},
"dependencies"
:
{
"dependencies"
:
{
...
...
pages/_app.tsx
View file @
d7f50704
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
type
{
AppProps
}
from
'
next/app
'
;
import
type
{
AppProps
}
from
'
next/app
'
;
import
{
ChakraProvider
}
from
'
@chakra-ui/react
'
;
import
{
ChakraProvider
}
from
'
@chakra-ui/react
'
;
import
theme
from
'
../theme/index
'
;
import
theme
from
'
theme
'
;
function
MyApp
({
Component
,
pageProps
}:
AppProps
)
{
function
MyApp
({
Component
,
pageProps
}:
AppProps
)
{
return
(
return
(
...
...
pages/_document.tsx
View file @
d7f50704
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
Document
,
{
Html
,
Head
,
Main
,
NextScript
}
from
'
next/document
'
import
Document
,
{
Html
,
Head
,
Main
,
NextScript
}
from
'
next/document
'
import
{
ColorModeScript
}
from
'
@chakra-ui/react
'
;
import
{
ColorModeScript
}
from
'
@chakra-ui/react
'
;
import
theme
from
'
../
theme
'
import
theme
from
'
theme
'
class
MyDocument
extends
Document
{
class
MyDocument
extends
Document
{
render
()
{
render
()
{
...
...
pages/api-keys.tsx
View file @
d7f50704
...
@@ -2,7 +2,7 @@ import React from 'react';
...
@@ -2,7 +2,7 @@ import React from 'react';
import
type
{
NextPage
}
from
'
next
'
;
import
type
{
NextPage
}
from
'
next
'
;
import
Head
from
'
next/head
'
import
Head
from
'
next/head
'
import
ApiKeys
from
'
../
ui/pages/ApiKeys
'
;
import
ApiKeys
from
'
ui/pages/ApiKeys
'
;
const
ApiKeysPage
:
NextPage
=
()
=>
{
const
ApiKeysPage
:
NextPage
=
()
=>
{
return
(
return
(
...
...
pages/index.tsx
View file @
d7f50704
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
type
{
NextPage
}
from
'
next
'
;
import
type
{
NextPage
}
from
'
next
'
;
import
{
Center
}
from
'
@chakra-ui/react
'
;
import
{
Center
}
from
'
@chakra-ui/react
'
;
import
Page
from
'
../ui
/Page/Page
'
;
import
Page
from
'
ui/shared
/Page/Page
'
;
const
Home
:
NextPage
=
()
=>
{
const
Home
:
NextPage
=
()
=>
{
return
(
return
(
...
...
pages/private-tags.tsx
View file @
d7f50704
...
@@ -2,7 +2,7 @@ import React from 'react';
...
@@ -2,7 +2,7 @@ import React from 'react';
import
type
{
NextPage
}
from
'
next
'
;
import
type
{
NextPage
}
from
'
next
'
;
import
Head
from
'
next/head
'
import
Head
from
'
next/head
'
import
PrivateTags
from
'
../
ui/pages/PrivateTags
'
;
import
PrivateTags
from
'
ui/pages/PrivateTags
'
;
const
PrivateTagsPage
:
NextPage
=
()
=>
{
const
PrivateTagsPage
:
NextPage
=
()
=>
{
return
(
return
(
...
...
pages/watchlist.tsx
View file @
d7f50704
...
@@ -2,7 +2,7 @@ import React from 'react';
...
@@ -2,7 +2,7 @@ import React from 'react';
import
type
{
NextPage
}
from
'
next
'
;
import
type
{
NextPage
}
from
'
next
'
;
import
Head
from
'
next/head
'
import
Head
from
'
next/head
'
import
WatchList
from
'
../
ui/pages/Watchlist
'
;
import
WatchList
from
'
ui/pages/Watchlist
'
;
const
WatchListPage
:
NextPage
=
()
=>
{
const
WatchListPage
:
NextPage
=
()
=>
{
return
(
return
(
...
...
theme/components/Heading.ts
0 → 100644
View file @
d7f50704
import
type
{
ComponentStyleConfig
}
from
'
@chakra-ui/theme
'
;
const
baseStyle
=
{
fontWeight
:
'
500
'
,
letterSpacing
:
'
-0.5px
'
,
}
// WIP
// designer promised to sync theme and page mock-ups
// so that's not the final point yet
const
sizes
=
{
lg
:
{
fontSize
:
'
32px
'
,
lineHeight
:
'
40px
'
,
},
}
const
Heading
:
ComponentStyleConfig
=
{
sizes
,
baseStyle
,
}
export
default
Heading
;
theme/components/index.ts
View file @
d7f50704
import
Button
from
'
./Button
'
;
import
Button
from
'
./Button
'
;
import
Form
from
'
./Form
'
;
import
Form
from
'
./Form
'
;
import
Heading
from
'
./Heading
'
;
import
Input
from
'
./Input
'
;
import
Input
from
'
./Input
'
;
import
Link
from
'
./Link
'
;
import
Link
from
'
./Link
'
;
import
Modal
from
'
./Modal
'
;
import
Modal
from
'
./Modal
'
;
...
@@ -10,6 +11,7 @@ import Tooltip from './Tooltip';
...
@@ -10,6 +11,7 @@ import Tooltip from './Tooltip';
const
components
=
{
const
components
=
{
Button
,
Button
,
Heading
,
Input
,
Input
,
Form
,
Form
,
Link
,
Link
,
...
...
tsconfig.json
View file @
d7f50704
...
@@ -13,7 +13,11 @@
...
@@ -13,7 +13,11 @@
"resolveJsonModule"
:
true
,
"resolveJsonModule"
:
true
,
"isolatedModules"
:
true
,
"isolatedModules"
:
true
,
"jsx"
:
"preserve"
,
"jsx"
:
"preserve"
,
"incremental"
:
true
"incremental"
:
true
,
"baseUrl"
:
"."
,
"paths"
:
{
"~/*"
:
[
"./*"
]
}
},
},
"include"
:
[
"next-env.d.ts"
,
"**/*.ts"
,
"**/*.tsx"
,
"additional.d.ts"
,
"decs.d.ts"
],
"include"
:
[
"next-env.d.ts"
,
"**/*.ts"
,
"**/*.tsx"
,
"additional.d.ts"
,
"decs.d.ts"
],
"exclude"
:
[
"node_modules"
]
"exclude"
:
[
"node_modules"
]
...
...
ui/apiKey/ApiKeyModal/ApiKeyForm.tsx
View file @
d7f50704
...
@@ -10,7 +10,7 @@ import {
...
@@ -10,7 +10,7 @@ import {
Input
,
Input
,
}
from
'
@chakra-ui/react
'
;
}
from
'
@chakra-ui/react
'
;
import
type
{
TApiKeyItem
}
from
'
../../../
data/apiKey
'
;
import
type
{
TApiKeyItem
}
from
'
data/apiKey
'
;
type
Props
=
{
type
Props
=
{
data
?:
TApiKeyItem
;
data
?:
TApiKeyItem
;
...
...
ui/apiKey/ApiKeyModal/ApiKeyModal.tsx
View file @
d7f50704
import
React
,
{
useCallback
}
from
'
react
'
;
import
React
,
{
useCallback
}
from
'
react
'
;
import
type
{
TApiKeyItem
}
from
'
../../../
data/apiKey
'
;
import
type
{
TApiKeyItem
}
from
'
data/apiKey
'
;
import
ApiKeyForm
from
'
./ApiKeyForm
'
;
import
ApiKeyForm
from
'
./ApiKeyForm
'
;
import
FormModal
from
'
../..
/shared/FormModal
'
;
import
FormModal
from
'
ui
/shared/FormModal
'
;
type
Props
=
{
type
Props
=
{
isOpen
:
boolean
;
isOpen
:
boolean
;
...
...
ui/apiKey/ApiKeyTable/ApiKeyTable.tsx
View file @
d7f50704
...
@@ -9,7 +9,7 @@ import {
...
@@ -9,7 +9,7 @@ import {
TableContainer
,
TableContainer
,
}
from
'
@chakra-ui/react
'
}
from
'
@chakra-ui/react
'
import
type
{
TApiKey
,
TApiKeyItem
}
from
'
../../../
data/apiKey
'
;
import
type
{
TApiKey
,
TApiKeyItem
}
from
'
data/apiKey
'
;
import
ApiKeyTableItem
from
'
./ApiKeyTableItem
'
;
import
ApiKeyTableItem
from
'
./ApiKeyTableItem
'
;
...
...
ui/apiKey/ApiKeyTable/ApiKeyTableItem.tsx
View file @
d7f50704
...
@@ -8,11 +8,11 @@ import {
...
@@ -8,11 +8,11 @@ import {
useColorModeValue
,
useColorModeValue
,
}
from
'
@chakra-ui/react
'
}
from
'
@chakra-ui/react
'
import
EditButton
from
'
../..
/shared/EditButton
'
;
import
EditButton
from
'
ui
/shared/EditButton
'
;
import
DeleteButton
from
'
../..
/shared/DeleteButton
'
;
import
DeleteButton
from
'
ui
/shared/DeleteButton
'
;
import
type
{
TApiKeyItem
}
from
'
../../../
data/apiKey
'
;
import
type
{
TApiKeyItem
}
from
'
data/apiKey
'
;
import
CopyToClipboard
from
'
../..
/shared/CopyToClipboard
'
;
import
CopyToClipboard
from
'
ui
/shared/CopyToClipboard
'
;
interface
Props
{
interface
Props
{
item
:
TApiKeyItem
;
item
:
TApiKeyItem
;
...
...
ui/apiKey/DeleteApiKeyModal.tsx
View file @
d7f50704
import
React
,
{
useCallback
}
from
'
react
'
;
import
React
,
{
useCallback
}
from
'
react
'
;
import
{
Text
}
from
'
@chakra-ui/react
'
;
import
{
Text
}
from
'
@chakra-ui/react
'
;
import
DeleteModal
from
'
..
/shared/DeleteModal
'
import
DeleteModal
from
'
ui
/shared/DeleteModal
'
type
Props
=
{
type
Props
=
{
isOpen
:
boolean
;
isOpen
:
boolean
;
...
...
ui/navigation/AccountNavigation.tsx
View file @
d7f50704
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
{
Box
,
VStack
}
from
'
@chakra-ui/react
'
;
import
{
Box
,
VStack
}
from
'
@chakra-ui/react
'
;
import
AccountNavLink
from
'
./AccountNavLink
'
;
import
AccountNavLink
from
'
./AccountNavLink
'
;
import
WatchlistIcon
from
'
../../
icons/watchlist.svg
'
import
WatchlistIcon
from
'
icons/watchlist.svg
'
import
PrivateTagIcon
from
'
../../
icons/privattags.svg
'
import
PrivateTagIcon
from
'
icons/privattags.svg
'
import
PublicTagIcon
from
'
../../
icons/publictags.svg
'
import
PublicTagIcon
from
'
icons/publictags.svg
'
import
ApiKeysIcon
from
'
../../
icons/API.svg
'
;
import
ApiKeysIcon
from
'
icons/API.svg
'
;
import
ABIIcon
from
'
../../
icons/ABI.svg
'
;
import
ABIIcon
from
'
icons/ABI.svg
'
;
const
navItems
=
[
const
navItems
=
[
{
text
:
'
Watchlist
'
,
pathname
:
'
/watchlist
'
,
icon
:
WatchlistIcon
},
{
text
:
'
Watchlist
'
,
pathname
:
'
/watchlist
'
,
icon
:
WatchlistIcon
},
...
...
ui/navigation/MainNavigation.tsx
View file @
d7f50704
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
{
Box
,
VStack
}
from
'
@chakra-ui/react
'
;
import
{
Box
,
VStack
}
from
'
@chakra-ui/react
'
;
import
MainNavLink
from
'
./MainNavLink
'
;
import
MainNavLink
from
'
./MainNavLink
'
;
import
BlocksIcon
from
'
../../
icons/block.svg
'
import
BlocksIcon
from
'
icons/block.svg
'
import
TransactionsIcon
from
'
../../
icons/transactions.svg
'
import
TransactionsIcon
from
'
icons/transactions.svg
'
import
TokensIcon
from
'
../../
icons/token.svg
'
import
TokensIcon
from
'
icons/token.svg
'
import
AppsIcon
from
'
../../
icons/apps.svg
'
;
import
AppsIcon
from
'
icons/apps.svg
'
;
import
BlockscoutIcon
from
'
../../
icons/blockscout.svg
'
;
import
BlockscoutIcon
from
'
icons/blockscout.svg
'
;
const
navItems
=
[
const
navItems
=
[
{
text
:
'
Blocks
'
,
pathname
:
'
/blocks
'
,
icon
:
BlocksIcon
},
{
text
:
'
Blocks
'
,
pathname
:
'
/blocks
'
,
icon
:
BlocksIcon
},
...
...
ui/navigation/NavFooter.tsx
View file @
d7f50704
...
@@ -2,11 +2,11 @@ import React from 'react';
...
@@ -2,11 +2,11 @@ import React from 'react';
import
{
VStack
,
Text
,
HStack
,
Icon
,
Link
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
{
VStack
,
Text
,
HStack
,
Icon
,
Link
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
g
hIcon
from
'
../../icons/social/git.svg
'
;
import
g
etDefaultTransitionProps
from
'
theme/utils/getDefaultTransitionProps
'
;
import
twIcon
from
'
../../icons/social/twee
t.svg
'
;
import
ghIcon
from
'
icons/social/gi
t.svg
'
;
import
t
gIcon
from
'
../../icons/social/telega
.svg
'
;
import
t
wIcon
from
'
icons/social/tweet
.svg
'
;
import
statsIcon
from
'
../../icons/social/stats
.svg
'
;
import
tgIcon
from
'
icons/social/telega
.svg
'
;
import
getDefaultTransitionProps
from
'
../../theme/utils/getDefaultTransitionProps
'
;
import
statsIcon
from
'
icons/social/stats.svg
'
;
const
SOCIAL_LINKS
=
[
const
SOCIAL_LINKS
=
[
{
link
:
'
#gh
'
,
icon
:
ghIcon
},
{
link
:
'
#gh
'
,
icon
:
ghIcon
},
...
...
ui/navigation/Navigation.tsx
View file @
d7f50704
...
@@ -5,8 +5,8 @@ import AccountNavigation from './AccountNavigation';
...
@@ -5,8 +5,8 @@ import AccountNavigation from './AccountNavigation';
import
MainNavigation
from
'
./MainNavigation
'
;
import
MainNavigation
from
'
./MainNavigation
'
;
import
NavFooter
from
'
./NavFooter
'
import
NavFooter
from
'
./NavFooter
'
import
logoIcon
from
'
../../
icons/logo.svg
'
;
import
logoIcon
from
'
icons/logo.svg
'
;
import
networksIcon
from
'
../../
icons/networks.svg
'
;
import
networksIcon
from
'
icons/networks.svg
'
;
import
getDefaultTransitionProps
from
'
../../theme/utils/getDefaultTransitionProps
'
;
import
getDefaultTransitionProps
from
'
../../theme/utils/getDefaultTransitionProps
'
;
...
...
ui/pages/ApiKeys.tsx
View file @
d7f50704
import
React
,
{
useCallback
,
useState
}
from
'
react
'
;
import
React
,
{
useCallback
,
useState
}
from
'
react
'
;
import
{
Box
,
Button
,
HStack
,
Link
,
Text
,
useColorModeValue
,
useDisclosure
}
from
'
@chakra-ui/react
'
;
import
{
Box
,
Button
,
H
eading
,
H
Stack
,
Link
,
Text
,
useColorModeValue
,
useDisclosure
}
from
'
@chakra-ui/react
'
;
import
Page
from
'
..
/Page/Page
'
;
import
Page
from
'
ui/shared
/Page/Page
'
;
import
ApiKeyTable
from
'
..
/apiKey/ApiKeyTable/ApiKeyTable
'
;
import
ApiKeyTable
from
'
ui
/apiKey/ApiKeyTable/ApiKeyTable
'
;
import
ApiKeyModal
from
'
..
/apiKey/ApiKeyModal/ApiKeyModal
'
;
import
ApiKeyModal
from
'
ui
/apiKey/ApiKeyModal/ApiKeyModal
'
;
import
DeleteApiKeyModal
from
'
..
/apiKey/DeleteApiKeyModal
'
;
import
DeleteApiKeyModal
from
'
ui
/apiKey/DeleteApiKeyModal
'
;
import
type
{
TApiKeyItem
}
from
'
../../
data/apiKey
'
;
import
type
{
TApiKeyItem
}
from
'
data/apiKey
'
;
import
{
apiKey
}
from
'
../../
data/apiKey
'
;
import
{
apiKey
}
from
'
data/apiKey
'
;
import
{
space
}
from
'
../../
lib/html-entities
'
;
import
{
space
}
from
'
lib/html-entities
'
;
const
DATA_LIMIT
=
3
;
const
DATA_LIMIT
=
3
;
...
@@ -49,7 +49,7 @@ const ApiKeys: React.FC = () => {
...
@@ -49,7 +49,7 @@ const ApiKeys: React.FC = () => {
return
(
return
(
<
Page
>
<
Page
>
<
Box
h=
"100%"
>
<
Box
h=
"100%"
>
<
Box
as=
"h1"
textStyle=
"h2"
marginBottom=
{
8
}
>
API keys
</
Box
>
<
Heading
as=
"h1"
size=
"lg"
marginBottom=
{
8
}
>
API keys
</
Heading
>
<
Text
marginBottom=
{
12
}
>
<
Text
marginBottom=
{
12
}
>
Create API keys to use for your RPC and EthRPC API requests. For more information, see
{
space
}
Create API keys to use for your RPC and EthRPC API requests. For more information, see
{
space
}
<
Link
href=
"#"
>
“How to use a Blockscout API key”
</
Link
>
.
<
Link
href=
"#"
>
“How to use a Blockscout API key”
</
Link
>
.
...
...
ui/pages/PrivateTags.tsx
View file @
d7f50704
...
@@ -2,6 +2,7 @@ import React from 'react';
...
@@ -2,6 +2,7 @@ import React from 'react';
import
{
import
{
Box
,
Box
,
Heading
,
Tab
,
Tab
,
Tabs
,
Tabs
,
TabList
,
TabList
,
...
@@ -9,15 +10,15 @@ import {
...
@@ -9,15 +10,15 @@ import {
TabPanels
,
TabPanels
,
}
from
'
@chakra-ui/react
'
;
}
from
'
@chakra-ui/react
'
;
import
Page
from
'
..
/Page/Page
'
;
import
Page
from
'
ui/shared
/Page/Page
'
;
import
PrivateAddressTags
from
'
..
/privateTags/PrivateAddressTags
'
;
import
PrivateAddressTags
from
'
ui
/privateTags/PrivateAddressTags
'
;
import
PrivateTransactionTags
from
'
..
/privateTags/PrivateTransactionTags
'
;
import
PrivateTransactionTags
from
'
ui
/privateTags/PrivateTransactionTags
'
;
const
PrivateTags
:
React
.
FC
=
()
=>
{
const
PrivateTags
:
React
.
FC
=
()
=>
{
return
(
return
(
<
Page
>
<
Page
>
<
Box
h=
"100%"
>
<
Box
h=
"100%"
>
<
Box
as=
"h1"
textStyle=
"h2"
marginBottom=
{
8
}
>
Private tags
</
Box
>
<
Heading
as=
"h1"
size=
"lg"
marginBottom=
{
8
}
>
Private tags
</
Heading
>
<
Tabs
variant=
"soft-rounded"
colorScheme=
"blue"
>
<
Tabs
variant=
"soft-rounded"
colorScheme=
"blue"
>
<
TabList
marginBottom=
{
8
}
>
<
TabList
marginBottom=
{
8
}
>
<
Tab
>
Address
</
Tab
>
<
Tab
>
Address
</
Tab
>
...
...
ui/pages/Watchlist.tsx
View file @
d7f50704
import
React
,
{
useCallback
,
useState
}
from
'
react
'
;
import
React
,
{
useCallback
,
useState
}
from
'
react
'
;
import
{
Box
,
Button
,
Text
,
useDisclosure
}
from
'
@chakra-ui/react
'
;
import
{
Box
,
Button
,
Text
,
useDisclosure
,
Heading
}
from
'
@chakra-ui/react
'
;
import
Page
from
'
..
/Page/Page
'
;
import
Page
from
'
ui/shared
/Page/Page
'
;
import
WatchlistTable
from
'
..
/watchlist/WatchlistTable/WatchlistTable
'
;
import
WatchlistTable
from
'
ui
/watchlist/WatchlistTable/WatchlistTable
'
;
import
AddressModal
from
'
..
/watchlist/AddressModal/AddressModal
'
;
import
AddressModal
from
'
ui
/watchlist/AddressModal/AddressModal
'
;
import
type
{
TWatchlistItem
}
from
'
../../
data/watchlist
'
;
import
type
{
TWatchlistItem
}
from
'
data/watchlist
'
;
import
{
watchlist
}
from
'
../../
data/watchlist
'
;
import
{
watchlist
}
from
'
data/watchlist
'
;
import
DeleteAddressModal
from
'
..
/watchlist/DeleteAddressModal
'
;
import
DeleteAddressModal
from
'
ui
/watchlist/DeleteAddressModal
'
;
const
WatchList
:
React
.
FC
=
()
=>
{
const
WatchList
:
React
.
FC
=
()
=>
{
const
addressModalProps
=
useDisclosure
();
const
addressModalProps
=
useDisclosure
();
...
@@ -41,7 +41,7 @@ const WatchList: React.FC = () => {
...
@@ -41,7 +41,7 @@ const WatchList: React.FC = () => {
return
(
return
(
<
Page
>
<
Page
>
<
Box
h=
"100%"
>
<
Box
h=
"100%"
>
<
Box
as=
"h1"
textStyle=
"h2"
marginBottom=
{
8
}
>
Watch list
</
Box
>
<
Heading
as=
"h1"
size=
"lg"
marginBottom=
{
8
}
>
Watch list
</
Heading
>
<
Text
marginBottom=
{
12
}
>
An email notification can be sent to you when an address on your watch list sends or receives any transactions.
</
Text
>
<
Text
marginBottom=
{
12
}
>
An email notification can be sent to you when an address on your watch list sends or receives any transactions.
</
Text
>
{
Boolean
(
watchlist
.
length
)
&&
(
{
Boolean
(
watchlist
.
length
)
&&
(
<
WatchlistTable
<
WatchlistTable
...
...
ui/privateTags/AddressModal/AddressForm.tsx
View file @
d7f50704
...
@@ -7,10 +7,10 @@ import {
...
@@ -7,10 +7,10 @@ import {
Button
,
Button
,
}
from
'
@chakra-ui/react
'
;
}
from
'
@chakra-ui/react
'
;
import
AddressInput
from
'
../..
/shared/AddressInput
'
;
import
AddressInput
from
'
ui
/shared/AddressInput
'
;
import
TagInput
from
'
../..
/shared/TagInput
'
;
import
TagInput
from
'
ui
/shared/TagInput
'
;
import
type
{
TPrivateTagsAddressItem
}
from
'
../../../
data/privateTagsAddress
'
;
import
type
{
TPrivateTagsAddressItem
}
from
'
data/privateTagsAddress
'
;
const
ADDRESS_LENGTH
=
42
;
const
ADDRESS_LENGTH
=
42
;
const
TAG_MAX_LENGTH
=
35
;
const
TAG_MAX_LENGTH
=
35
;
...
...
ui/privateTags/AddressModal/AddressModal.tsx
View file @
d7f50704
import
React
,
{
useCallback
}
from
'
react
'
;
import
React
,
{
useCallback
}
from
'
react
'
;
import
type
{
TPrivateTagsAddressItem
}
from
'
../../../
data/privateTagsAddress
'
;
import
type
{
TPrivateTagsAddressItem
}
from
'
data/privateTagsAddress
'
;
import
AddressForm
from
'
./AddressForm
'
;
import
AddressForm
from
'
./AddressForm
'
;
import
FormModal
from
'
../..
/shared/FormModal
'
;
import
FormModal
from
'
ui
/shared/FormModal
'
;
type
Props
=
{
type
Props
=
{
isOpen
:
boolean
;
isOpen
:
boolean
;
...
...
ui/privateTags/AddressTagTable/AddressTagTable.tsx
View file @
d7f50704
...
@@ -9,7 +9,7 @@ import {
...
@@ -9,7 +9,7 @@ import {
TableContainer
,
TableContainer
,
}
from
'
@chakra-ui/react
'
}
from
'
@chakra-ui/react
'
import
type
{
TPrivateTagsAddress
,
TPrivateTagsAddressItem
}
from
'
../../../
data/privateTagsAddress
'
;
import
type
{
TPrivateTagsAddress
,
TPrivateTagsAddressItem
}
from
'
data/privateTagsAddress
'
;
import
AddressTagTableItem
from
'
./AddressTagTableItem
'
;
import
AddressTagTableItem
from
'
./AddressTagTableItem
'
;
...
...
ui/privateTags/AddressTagTable/AddressTagTableItem.tsx
View file @
d7f50704
...
@@ -8,12 +8,12 @@ import {
...
@@ -8,12 +8,12 @@ import {
Tooltip
,
Tooltip
,
}
from
'
@chakra-ui/react
'
}
from
'
@chakra-ui/react
'
import
AddressIcon
from
'
../..
/shared/AddressIcon
'
;
import
AddressIcon
from
'
ui
/shared/AddressIcon
'
;
import
AddressLinkWithTooltip
from
'
../..
/shared/AddressLinkWithTooltip
'
;
import
AddressLinkWithTooltip
from
'
ui
/shared/AddressLinkWithTooltip
'
;
import
type
{
TPrivateTagsAddressItem
}
from
'
../../../
data/privateTagsAddress
'
;
import
type
{
TPrivateTagsAddressItem
}
from
'
data/privateTagsAddress
'
;
import
EditButton
from
'
../..
/shared/EditButton
'
;
import
EditButton
from
'
ui
/shared/EditButton
'
;
import
DeleteButton
from
'
../..
/shared/DeleteButton
'
;
import
DeleteButton
from
'
ui
/shared/DeleteButton
'
;
interface
Props
{
interface
Props
{
item
:
TPrivateTagsAddressItem
;
item
:
TPrivateTagsAddressItem
;
...
...
ui/privateTags/DeletePrivateTagModal.tsx
View file @
d7f50704
import
React
,
{
useCallback
}
from
'
react
'
;
import
React
,
{
useCallback
}
from
'
react
'
;
import
{
Text
}
from
'
@chakra-ui/react
'
;
import
{
Text
}
from
'
@chakra-ui/react
'
;
import
DeleteModal
from
'
..
/shared/DeleteModal
'
import
DeleteModal
from
'
ui
/shared/DeleteModal
'
type
Props
=
{
type
Props
=
{
isOpen
:
boolean
;
isOpen
:
boolean
;
...
...
ui/privateTags/PrivateAddressTags.tsx
View file @
d7f50704
...
@@ -5,8 +5,8 @@ import { Box, Button, Text, useDisclosure } from '@chakra-ui/react';
...
@@ -5,8 +5,8 @@ import { Box, Button, Text, useDisclosure } from '@chakra-ui/react';
import
AddressTagTable
from
'
./AddressTagTable/AddressTagTable
'
;
import
AddressTagTable
from
'
./AddressTagTable/AddressTagTable
'
;
import
AddressModal
from
'
./AddressModal/AddressModal
'
;
import
AddressModal
from
'
./AddressModal/AddressModal
'
;
import
type
{
TPrivateTagsAddressItem
}
from
'
./../../
data/privateTagsAddress
'
;
import
type
{
TPrivateTagsAddressItem
}
from
'
data/privateTagsAddress
'
;
import
{
privateTagsAddress
}
from
'
./../../
data/privateTagsAddress
'
;
import
{
privateTagsAddress
}
from
'
data/privateTagsAddress
'
;
import
DeletePrivateTagModal
from
'
./DeletePrivateTagModal
'
;
import
DeletePrivateTagModal
from
'
./DeletePrivateTagModal
'
;
const
PrivateAddressTags
:
React
.
FC
=
()
=>
{
const
PrivateAddressTags
:
React
.
FC
=
()
=>
{
...
...
ui/privateTags/PrivateTransactionTags.tsx
View file @
d7f50704
...
@@ -5,8 +5,8 @@ import { Box, Button, Text, useDisclosure } from '@chakra-ui/react';
...
@@ -5,8 +5,8 @@ import { Box, Button, Text, useDisclosure } from '@chakra-ui/react';
import
TransactionTagTable
from
'
./TransactionTagTable/TransactionTagTable
'
;
import
TransactionTagTable
from
'
./TransactionTagTable/TransactionTagTable
'
;
import
TransactionModal
from
'
./TransactionModal/TransactionModal
'
;
import
TransactionModal
from
'
./TransactionModal/TransactionModal
'
;
import
type
{
TPrivateTagsTransactionItem
}
from
'
./../../
data/privateTagsTransaction
'
;
import
type
{
TPrivateTagsTransactionItem
}
from
'
data/privateTagsTransaction
'
;
import
{
privateTagsTransaction
}
from
'
./../../
data/privateTagsTransaction
'
;
import
{
privateTagsTransaction
}
from
'
data/privateTagsTransaction
'
;
import
DeletePrivateTagModal
from
'
./DeletePrivateTagModal
'
;
import
DeletePrivateTagModal
from
'
./DeletePrivateTagModal
'
;
const
PrivateTransactionTags
:
React
.
FC
=
()
=>
{
const
PrivateTransactionTags
:
React
.
FC
=
()
=>
{
...
...
ui/privateTags/TransactionModal/TransactionForm.tsx
View file @
d7f50704
...
@@ -7,10 +7,10 @@ import {
...
@@ -7,10 +7,10 @@ import {
Button
,
Button
,
}
from
'
@chakra-ui/react
'
;
}
from
'
@chakra-ui/react
'
;
import
TransactionInput
from
'
../..
/shared/TransactionInput
'
;
import
TransactionInput
from
'
ui
/shared/TransactionInput
'
;
import
TagInput
from
'
../..
/shared/TagInput
'
;
import
TagInput
from
'
ui
/shared/TagInput
'
;
import
type
{
TPrivateTagsTransactionItem
}
from
'
../../../
data/privateTagsTransaction
'
;
import
type
{
TPrivateTagsTransactionItem
}
from
'
data/privateTagsTransaction
'
;
const
HASH_LENGTH
=
66
;
const
HASH_LENGTH
=
66
;
const
TAG_MAX_LENGTH
=
35
;
const
TAG_MAX_LENGTH
=
35
;
...
...
ui/privateTags/TransactionModal/TransactionModal.tsx
View file @
d7f50704
import
React
,
{
useCallback
}
from
'
react
'
;
import
React
,
{
useCallback
}
from
'
react
'
;
import
type
{
TPrivateTagsTransactionItem
}
from
'
../../../
data/privateTagsTransaction
'
;
import
type
{
TPrivateTagsTransactionItem
}
from
'
data/privateTagsTransaction
'
;
import
TransactionForm
from
'
./TransactionForm
'
;
import
TransactionForm
from
'
./TransactionForm
'
;
import
FormModal
from
'
../..
/shared/FormModal
'
;
import
FormModal
from
'
ui
/shared/FormModal
'
;
type
Props
=
{
type
Props
=
{
isOpen
:
boolean
;
isOpen
:
boolean
;
...
...
ui/privateTags/TransactionTagTable/TransactionTagTable.tsx
View file @
d7f50704
...
@@ -9,7 +9,7 @@ import {
...
@@ -9,7 +9,7 @@ import {
TableContainer
,
TableContainer
,
}
from
'
@chakra-ui/react
'
}
from
'
@chakra-ui/react
'
import
type
{
TPrivateTagsTransaction
,
TPrivateTagsTransactionItem
}
from
'
../../../
data/privateTagsTransaction
'
;
import
type
{
TPrivateTagsTransaction
,
TPrivateTagsTransactionItem
}
from
'
data/privateTagsTransaction
'
;
import
TransactionTagTableItem
from
'
./TransactionTagTableItem
'
;
import
TransactionTagTableItem
from
'
./TransactionTagTableItem
'
;
...
...
ui/privateTags/TransactionTagTable/TransactionTagTableItem.tsx
View file @
d7f50704
...
@@ -8,12 +8,12 @@ import {
...
@@ -8,12 +8,12 @@ import {
Tooltip
,
Tooltip
,
}
from
'
@chakra-ui/react
'
}
from
'
@chakra-ui/react
'
import
EditButton
from
'
../..
/shared/EditButton
'
;
import
EditButton
from
'
ui
/shared/EditButton
'
;
import
DeleteButton
from
'
../..
/shared/DeleteButton
'
;
import
DeleteButton
from
'
ui
/shared/DeleteButton
'
;
import
AddressLinkWithTooltip
from
'
../..
/shared/AddressLinkWithTooltip
'
;
import
AddressLinkWithTooltip
from
'
ui
/shared/AddressLinkWithTooltip
'
;
import
type
{
TPrivateTagsTransactionItem
}
from
'
../../../
data/privateTagsTransaction
'
;
import
type
{
TPrivateTagsTransactionItem
}
from
'
data/privateTagsTransaction
'
;
interface
Props
{
interface
Props
{
item
:
TPrivateTagsTransactionItem
;
item
:
TPrivateTagsTransactionItem
;
...
...
ui/shared/CopyToClipboard.tsx
View file @
d7f50704
import
React
,
{
useEffect
,
useState
}
from
'
react
'
;
import
React
,
{
useEffect
,
useState
}
from
'
react
'
;
import
{
IconButton
,
Tooltip
,
useClipboard
}
from
'
@chakra-ui/react
'
;
import
{
IconButton
,
Tooltip
,
useClipboard
}
from
'
@chakra-ui/react
'
;
import
CopyIcon
from
'
../../
icons/copy.svg
'
;
import
CopyIcon
from
'
icons/copy.svg
'
;
const
CopyToClipboard
=
({
text
}:
{
text
:
string
})
=>
{
const
CopyToClipboard
=
({
text
}:
{
text
:
string
})
=>
{
const
{
hasCopied
,
onCopy
}
=
useClipboard
(
text
,
3000
);
const
{
hasCopied
,
onCopy
}
=
useClipboard
(
text
,
3000
);
...
...
ui/shared/DeleteButton.tsx
View file @
d7f50704
...
@@ -2,7 +2,7 @@ import React, { useCallback } from 'react';
...
@@ -2,7 +2,7 @@ import React, { useCallback } from 'react';
import
{
Tooltip
,
IconButton
,
Icon
}
from
'
@chakra-ui/react
'
;
import
{
Tooltip
,
IconButton
,
Icon
}
from
'
@chakra-ui/react
'
;
import
DeleteIcon
from
'
../../
icons/delete.svg
'
;
import
DeleteIcon
from
'
icons/delete.svg
'
;
type
Props
=
{
type
Props
=
{
onClick
:
()
=>
void
;
onClick
:
()
=>
void
;
...
...
ui/shared/EditButton.tsx
View file @
d7f50704
...
@@ -2,7 +2,7 @@ import React, { useCallback } from 'react';
...
@@ -2,7 +2,7 @@ import React, { useCallback } from 'react';
import
{
Tooltip
,
IconButton
,
Icon
}
from
'
@chakra-ui/react
'
;
import
{
Tooltip
,
IconButton
,
Icon
}
from
'
@chakra-ui/react
'
;
import
EditIcon
from
'
../../
icons/edit.svg
'
;
import
EditIcon
from
'
icons/edit.svg
'
;
type
Props
=
{
type
Props
=
{
onClick
:
()
=>
void
;
onClick
:
()
=>
void
;
...
...
ui/Page/Page.tsx
→
ui/
shared/
Page/Page.tsx
View file @
d7f50704
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
{
Box
,
HStack
,
VStack
}
from
'
@chakra-ui/react
'
;
import
{
Box
,
HStack
,
VStack
}
from
'
@chakra-ui/react
'
;
import
Navigation
from
'
..
/navigation/Navigation
'
;
import
Navigation
from
'
ui
/navigation/Navigation
'
;
import
Header
from
'
..
/header/Header
'
;
import
Header
from
'
ui
/header/Header
'
;
interface
Props
{
interface
Props
{
children
:
React
.
ReactNode
;
children
:
React
.
ReactNode
;
...
...
ui/watchlist/AddressModal/AddressForm.tsx
View file @
d7f50704
...
@@ -11,10 +11,10 @@ import {
...
@@ -11,10 +11,10 @@ import {
GridItem
,
GridItem
,
}
from
'
@chakra-ui/react
'
;
}
from
'
@chakra-ui/react
'
;
import
AddressInput
from
'
../..
/shared/AddressInput
'
;
import
AddressInput
from
'
ui
/shared/AddressInput
'
;
import
TagInput
from
'
../..
/shared/TagInput
'
;
import
TagInput
from
'
ui
/shared/TagInput
'
;
import
type
{
TWatchlistItem
}
from
'
../../../
data/watchlist
'
;
import
type
{
TWatchlistItem
}
from
'
data/watchlist
'
;
const
NOTIFICATIONS
=
[
'
xDAI
'
,
'
ERC-20
'
,
'
ERC-721, ERC-1155 (NFT)
'
];
const
NOTIFICATIONS
=
[
'
xDAI
'
,
'
ERC-20
'
,
'
ERC-721, ERC-1155 (NFT)
'
];
const
ADDRESS_LENGTH
=
42
;
const
ADDRESS_LENGTH
=
42
;
...
...
ui/watchlist/AddressModal/AddressModal.tsx
View file @
d7f50704
import
React
,
{
useCallback
}
from
'
react
'
;
import
React
,
{
useCallback
}
from
'
react
'
;
import
type
{
TWatchlistItem
}
from
'
../../../
data/watchlist
'
;
import
type
{
TWatchlistItem
}
from
'
data/watchlist
'
;
import
AddressForm
from
'
./AddressForm
'
;
import
AddressForm
from
'
./AddressForm
'
;
import
FormModal
from
'
../..
/shared/FormModal
'
;
import
FormModal
from
'
ui
/shared/FormModal
'
;
type
Props
=
{
type
Props
=
{
isOpen
:
boolean
;
isOpen
:
boolean
;
...
...
ui/watchlist/DeleteAddressModal.tsx
View file @
d7f50704
import
React
,
{
useCallback
}
from
'
react
'
;
import
React
,
{
useCallback
}
from
'
react
'
;
import
{
Text
}
from
'
@chakra-ui/react
'
;
import
{
Text
}
from
'
@chakra-ui/react
'
;
import
DeleteModal
from
'
..
/shared/DeleteModal
'
import
DeleteModal
from
'
ui
/shared/DeleteModal
'
type
Props
=
{
type
Props
=
{
isOpen
:
boolean
;
isOpen
:
boolean
;
...
...
ui/watchlist/WatchlistTable/WatchListAddressItem.tsx
View file @
d7f50704
...
@@ -2,12 +2,12 @@ import React from 'react';
...
@@ -2,12 +2,12 @@ import React from 'react';
import
{
Link
,
HStack
,
VStack
,
Image
,
Text
,
Icon
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
{
Link
,
HStack
,
VStack
,
Image
,
Text
,
Icon
,
useColorModeValue
}
from
'
@chakra-ui/react
'
;
import
AddressIcon
from
'
../..
/shared/AddressIcon
'
;
import
AddressIcon
from
'
ui
/shared/AddressIcon
'
;
import
AddressLinkWithTooltip
from
'
../..
/shared/AddressLinkWithTooltip
'
;
import
AddressLinkWithTooltip
from
'
ui
/shared/AddressLinkWithTooltip
'
;
import
type
{
TWatchlistItem
}
from
'
../../../
data/watchlist
'
;
import
type
{
TWatchlistItem
}
from
'
data/watchlist
'
;
import
{
nbsp
}
from
'
../../../
lib/html-entities
'
;
import
{
nbsp
}
from
'
lib/html-entities
'
;
import
TokensIcon
from
'
../../../
icons/tokens.svg
'
;
import
TokensIcon
from
'
icons/tokens.svg
'
;
import
WalletIcon
from
'
../../../
icons/wallet.svg
'
;
import
WalletIcon
from
'
icons/wallet.svg
'
;
const
WatchListAddressItem
=
({
item
}:
{
item
:
TWatchlistItem
})
=>
{
const
WatchListAddressItem
=
({
item
}:
{
item
:
TWatchlistItem
})
=>
{
const
mainTextColor
=
useColorModeValue
(
'
gray.700
'
,
'
gray.50
'
);
const
mainTextColor
=
useColorModeValue
(
'
gray.700
'
,
'
gray.50
'
);
...
...
ui/watchlist/WatchlistTable/WatchListTableItem.tsx
View file @
d7f50704
...
@@ -9,10 +9,10 @@ import {
...
@@ -9,10 +9,10 @@ import {
Tooltip
,
Tooltip
,
}
from
'
@chakra-ui/react
'
}
from
'
@chakra-ui/react
'
import
EditButton
from
'
../..
/shared/EditButton
'
;
import
EditButton
from
'
ui
/shared/EditButton
'
;
import
DeleteButton
from
'
../..
/shared/DeleteButton
'
;
import
DeleteButton
from
'
ui
/shared/DeleteButton
'
;
import
type
{
TWatchlistItem
}
from
'
../../../
data/watchlist
'
;
import
type
{
TWatchlistItem
}
from
'
data/watchlist
'
;
import
WatchListAddressItem
from
'
./WatchListAddressItem
'
;
import
WatchListAddressItem
from
'
./WatchListAddressItem
'
;
...
...
ui/watchlist/WatchlistTable/WatchlistTable.tsx
View file @
d7f50704
...
@@ -9,7 +9,7 @@ import {
...
@@ -9,7 +9,7 @@ import {
TableContainer
,
TableContainer
,
}
from
'
@chakra-ui/react
'
}
from
'
@chakra-ui/react
'
import
type
{
TWatchlist
,
TWatchlistItem
}
from
'
../../../
data/watchlist
'
;
import
type
{
TWatchlist
,
TWatchlistItem
}
from
'
data/watchlist
'
;
import
WatchlistTableItem
from
'
./WatchListTableItem
'
;
import
WatchlistTableItem
from
'
./WatchListTableItem
'
;
...
...
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