Commit d7f50704 authored by tom goriunov's avatar tom goriunov Committed by GitHub

Merge branch 'main' into color-mode-smooth-transition

parents 9cd266cd e1cb1434
...@@ -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',
},
},
],
}; };
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
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
} },
}) })
...@@ -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": {
......
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 (
......
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() {
......
...@@ -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 (
......
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 (
......
...@@ -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 (
......
...@@ -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 (
......
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;
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,
......
...@@ -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"]
......
...@@ -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;
......
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;
......
...@@ -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';
......
...@@ -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;
......
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;
......
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 },
......
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 },
......
...@@ -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 ghIcon from '../../icons/social/git.svg'; import getDefaultTransitionProps from 'theme/utils/getDefaultTransitionProps';
import twIcon from '../../icons/social/tweet.svg'; import ghIcon from 'icons/social/git.svg';
import tgIcon from '../../icons/social/telega.svg'; import twIcon 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 },
......
...@@ -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';
......
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, Heading, HStack, 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>.
......
...@@ -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>
......
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
......
...@@ -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;
......
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;
......
...@@ -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';
......
...@@ -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;
......
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;
......
...@@ -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 = () => {
......
...@@ -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 = () => {
......
...@@ -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;
......
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;
......
...@@ -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';
......
...@@ -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;
......
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);
......
...@@ -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;
......
...@@ -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;
......
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;
......
...@@ -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;
......
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;
......
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;
......
...@@ -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');
......
...@@ -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';
......
...@@ -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';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment