Commit 1ab370a9 authored by isstuev's avatar isstuev

public tag: review fixes

parent 6ba5c85e
<svg width="16" height="2" viewBox="0 0 16 2" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M.5 1a.937.937 0 0 1 .938-.938h13.124a.938.938 0 0 1 0 1.875H1.438A.937.937 0 0 1 .5 1Z" fill="#2B6CB0"/></svg> <svg width="16" height="16" viewBox="0 0 16 2" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M.5 1a.937.937 0 0 1 .938-.938h13.124a.938.938 0 0 1 0 1.875H1.438A.937.937 0 0 1 .5 1Z" fill="currentColor"/></svg>
\ No newline at end of file \ No newline at end of file
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 .5a.937.937 0 0 1 .938.938v5.625h5.624a.937.937 0 0 1 0 1.875H8.939v5.624a.937.937 0 0 1-1.876 0V8.939H1.438a.937.937 0 1 1 0-1.876h5.625V1.438A.937.937 0 0 1 8 .5Z" fill="#2B6CB0"/></svg> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 .5a.937.937 0 0 1 .938.938v5.625h5.624a.937.937 0 0 1 0 1.875H8.939v5.624a.937.937 0 0 1-1.876 0V8.939H1.438a.937.937 0 1 1 0-1.876h5.625V1.438A.937.937 0 0 1 8 .5Z" fill="currentColor"/></svg>
\ No newline at end of file \ No newline at end of file
...@@ -18,7 +18,6 @@ const variantPrimary = { ...@@ -18,7 +18,6 @@ const variantPrimary = {
} }
const variantSecondary = { const variantSecondary = {
bg: 'white',
color: 'blue.600', color: 'blue.600',
fontWeight: 600, fontWeight: 600,
borderColor: 'blue.600', borderColor: 'blue.600',
...@@ -32,7 +31,7 @@ const variantSecondary = { ...@@ -32,7 +31,7 @@ const variantSecondary = {
}, },
} }
const variantIconBlue: SystemStyleFunction = (props) => { const variantIcon: SystemStyleFunction = (props) => {
return { return {
color: mode('blue.600', 'blue.300')(props), color: mode('blue.600', 'blue.300')(props),
_hover: { _hover: {
...@@ -41,26 +40,24 @@ const variantIconBlue: SystemStyleFunction = (props) => { ...@@ -41,26 +40,24 @@ const variantIconBlue: SystemStyleFunction = (props) => {
} }
} }
const variantIconBorderBlue: SystemStyleFunction = (props) => { const variantIconBorder = {
return { color: 'blue.600',
color: mode('blue.600', 'blue.300')(props), borderColor: 'blue.600',
borderColor: mode('blue.600', 'blue.300')(props), border: '2px solid',
border: '2px solid', _hover: {
_hover: { color: 'blue.400',
color: mode('blue.400', 'blue.200')(props), borderColor: 'blue.400',
borderColor: mode('blue.400', 'blue.200')(props), },
}, _disabled: {
_disabled: { opacity: 0.2,
opacity: 0.2, },
},
}
} }
const variants = { const variants = {
primary: variantPrimary, primary: variantPrimary,
secondary: variantSecondary, secondary: variantSecondary,
iconBlue: variantIconBlue, icon: variantIcon,
iconBorderBlue: variantIconBorderBlue, iconBorder: variantIconBorder,
} }
const Button: ComponentStyleConfig = { const Button: ComponentStyleConfig = {
......
import type { ComponentStyleConfig } from '@chakra-ui/theme';
import type { SystemStyleObject } from '@chakra-ui/theme-tools';
const baseStyleLabel: SystemStyleObject = {
_disabled: { opacity: 0.2 },
}
const Checkbox: ComponentStyleConfig = {
baseStyle: {
label: baseStyleLabel,
},
}
export default Checkbox;
...@@ -5,23 +5,21 @@ import type { StyleFunctionProps, PartsStyleFunction } from '@chakra-ui/theme-to ...@@ -5,23 +5,21 @@ import type { StyleFunctionProps, PartsStyleFunction } from '@chakra-ui/theme-to
import type { Dict } from '@chakra-ui/utils'; import type { Dict } from '@chakra-ui/utils';
import getDefaultFormColors from '../utils/getDefaultFormColors'; import getDefaultFormColors from '../utils/getDefaultFormColors';
const activeInputStyles = {
paddingTop: '30px',
paddingBottom: '10px',
}
const getActiveLabelStyles = (theme: Dict, fc: string) => ({ const getActiveLabelStyles = (theme: Dict, fc: string) => ({
color: getColor(theme, fc), color: getColor(theme, fc),
transform: 'scale(0.75) translateY(-10px)', transform: 'scale(0.75) translateY(-10px)',
}) });
const getActiveInputStyles = (theme: Dict, fc: string) => ({
paddingTop: '30px',
paddingBottom: '10px',
borderColor: getColor(theme, fc),
})
const variantFloating: PartsStyleFunction<typeof parts> = (props: StyleFunctionProps) => { const variantFloating: PartsStyleFunction<typeof parts> = (props: StyleFunctionProps) => {
const { theme } = props; const { theme } = props;
const { focusColor: fc, errorColor: ec } = getDefaultFormColors(props); const { focusColor: fc, errorColor: ec } = getDefaultFormColors(props);
const activeLabelStyles = getActiveLabelStyles(theme, fc); const activeLabelStyles = getActiveLabelStyles(theme, fc);
const activeInputStyles = getActiveInputStyles(theme, fc);
return { return {
container: { container: {
...@@ -29,10 +27,7 @@ const variantFloating: PartsStyleFunction<typeof parts> = (props: StyleFunctionP ...@@ -29,10 +27,7 @@ const variantFloating: PartsStyleFunction<typeof parts> = (props: StyleFunctionP
label: { label: {
...activeLabelStyles, ...activeLabelStyles,
}, },
input: { 'input, textarea': {
...activeInputStyles,
},
textarea: {
...activeInputStyles, ...activeInputStyles,
}, },
'label .chakra-form__required-indicator': { 'label .chakra-form__required-indicator': {
...@@ -41,7 +36,6 @@ const variantFloating: PartsStyleFunction<typeof parts> = (props: StyleFunctionP ...@@ -41,7 +36,6 @@ const variantFloating: PartsStyleFunction<typeof parts> = (props: StyleFunctionP
}, },
// label's styles // label's styles
label: { label: {
top: '20px',
left: '22px', left: '22px',
zIndex: 2, zIndex: 2,
position: 'absolute', position: 'absolute',
...@@ -53,48 +47,30 @@ const variantFloating: PartsStyleFunction<typeof parts> = (props: StyleFunctionP ...@@ -53,48 +47,30 @@ const variantFloating: PartsStyleFunction<typeof parts> = (props: StyleFunctionP
fontSize: 'md', fontSize: 'md',
lineHeight: '20px', lineHeight: '20px',
}, },
'input:not(:placeholder-shown) + label': { 'input + label': {
...activeLabelStyles, top: 'calc(50% - 10px);',
}, },
'textarea:not(:placeholder-shown) + label': { 'textarea + label': {
...activeLabelStyles, top: '20px',
}, },
'input[aria-invalid=true] + label': { 'input:not(:placeholder-shown) + label, textarea:not(:placeholder-shown) + label': {
color: getColor(theme, ec), ...activeLabelStyles,
}, },
'textarea[aria-invalid=true] + label': { 'input[aria-invalid=true] + label, textarea[aria-invalid=true] + label': {
color: getColor(theme, ec), color: getColor(theme, ec),
}, },
// input's styles // input's styles
input: { 'input, textarea': {
padding: '20px',
},
textarea: {
padding: '20px', padding: '20px',
}, },
'input:not(:placeholder-shown)': { 'input:not(:placeholder-shown), textarea:not(:placeholder-shown)': {
...activeInputStyles,
},
'textarea:not(:placeholder-shown)': {
...activeInputStyles, ...activeInputStyles,
}, },
'input[aria-invalid=true]': {
borderColor: getColor(theme, ec),
},
'textarea[aria-invalid=true]': {
borderColor: getColor(theme, ec),
},
// indicator's styles // indicator's styles
'input:not(:placeholder-shown) + label .chakra-form__required-indicator': { 'input:not(:placeholder-shown) + label .chakra-form__required-indicator, textarea:not(:placeholder-shown) + label .chakra-form__required-indicator': {
color: getColor(theme, fc),
},
'textarea:not(:placeholder-shown) + label .chakra-form__required-indicator': {
color: getColor(theme, fc), color: getColor(theme, fc),
}, },
'input[aria-invalid=true] + label .chakra-form__required-indicator': { 'input[aria-invalid=true] + label .chakra-form__required-indicator, textarea[aria-invalid=true] + label .chakra-form__required-indicator': {
color: getColor(theme, ec),
},
'textarea[aria-invalid=true] + label .chakra-form__required-indicator': {
color: getColor(theme, ec), color: getColor(theme, ec),
}, },
}, },
......
...@@ -5,6 +5,8 @@ import { mode } from '@chakra-ui/theme-tools'; ...@@ -5,6 +5,8 @@ import { mode } from '@chakra-ui/theme-tools';
import getDefaultTransitionProps from '../utils/getDefaultTransitionProps'; import getDefaultTransitionProps from '../utils/getDefaultTransitionProps';
import getOutlinedFieldStyles from '../utils/getOutlinedFieldStyles'; import getOutlinedFieldStyles from '../utils/getOutlinedFieldStyles';
import { Input as InputComponent } from '@chakra-ui/react';
const sizes: Record<string, SystemStyleObject> = { const sizes: Record<string, SystemStyleObject> = {
md: { md: {
fontSize: 'md', fontSize: 'md',
...@@ -57,4 +59,9 @@ const Input: ComponentStyleConfig = { ...@@ -57,4 +59,9 @@ const Input: ComponentStyleConfig = {
}, },
} }
InputComponent.defaultProps = {
...InputComponent.defaultProps,
placeholder: ' ',
}
export default Input; export default Input;
import type { ComponentStyleConfig } from '@chakra-ui/theme';
import type { SystemStyleObject } from '@chakra-ui/theme-tools';
const baseStyleLabel: SystemStyleObject = {
_disabled: { opacity: 0.2 },
}
const Radio: ComponentStyleConfig = {
baseStyle: {
label: baseStyleLabel,
},
}
export default Radio;
...@@ -33,7 +33,7 @@ const Table: ComponentMultiStyleConfig = { ...@@ -33,7 +33,7 @@ const Table: ComponentMultiStyleConfig = {
th: { th: {
textTransform: 'none', textTransform: 'none',
fontFamily: 'body', fontFamily: 'body',
fontWeight: 'normal', fontWeight: '500',
overflow: 'hidden', overflow: 'hidden',
color: 'gray.500', color: 'gray.500',
letterSpacing: 'none', letterSpacing: 'none',
......
import type { SystemStyleFunction } from '@chakra-ui/theme-tools';
import type { ComponentStyleConfig } from '@chakra-ui/theme';
import { mode } from '@chakra-ui/theme-tools';
const variantSecondary: SystemStyleFunction = (props) => ({
color: mode('gray.500', 'gray.400')(props),
});
const Text: ComponentStyleConfig = {
variants: {
secondary: variantSecondary,
},
}
export default Text;
...@@ -5,6 +5,8 @@ import type { ...@@ -5,6 +5,8 @@ import type {
import type { ComponentStyleConfig } from '@chakra-ui/theme'; import type { ComponentStyleConfig } from '@chakra-ui/theme';
import getOutlinedFieldStyles from '../utils/getOutlinedFieldStyles'; import getOutlinedFieldStyles from '../utils/getOutlinedFieldStyles';
import { Textarea as TextareaComponent } from '@chakra-ui/react';
const sizes: Record<string, SystemStyleObject> = { const sizes: Record<string, SystemStyleObject> = {
lg: { lg: {
fontSize: 'md', fontSize: 'md',
...@@ -27,4 +29,9 @@ const Textarea: ComponentStyleConfig = { ...@@ -27,4 +29,9 @@ const Textarea: ComponentStyleConfig = {
}, },
} }
TextareaComponent.defaultProps = {
...TextareaComponent.defaultProps,
placeholder: ' ',
}
export default Textarea; export default Textarea;
import Button from './Button'; import Button from './Button';
import Checkbox from './Checkbox';
import Form from './Form'; import Form from './Form';
import Heading from './Heading'; 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';
import Radio from './Radio';
import Table from './Table'; import Table from './Table';
import Tabs from './Tabs'; import Tabs from './Tabs';
import Tag from './Tag'; import Tag from './Tag';
import Text from './Text';
import Textarea from './Textarea'; import Textarea from './Textarea';
import Tooltip from './Tooltip'; import Tooltip from './Tooltip';
const components = { const components = {
Button, Button,
Checkbox,
Heading, Heading,
Input, Input,
Form, Form,
Link, Link,
Modal, Modal,
Radio,
Tabs, Tabs,
Table, Table,
Tag, Tag,
Text,
Textarea, Textarea,
Tooltip, Tooltip,
} }
......
...@@ -2,9 +2,10 @@ import type { StyleFunctionProps } from '@chakra-ui/theme-tools'; ...@@ -2,9 +2,10 @@ import type { StyleFunctionProps } from '@chakra-ui/theme-tools';
import { mode } from '@chakra-ui/theme-tools'; import { mode } from '@chakra-ui/theme-tools';
export default function getDefaultFormColors(props: StyleFunctionProps) { export default function getDefaultFormColors(props: StyleFunctionProps) {
const { focusBorderColor: fc, errorBorderColor: ec } = props const { focusBorderColor: fc, errorBorderColor: ec, filledBorderColor: flc } = props
return { return {
focusColor: fc || mode('brand.700', 'brand.300')(props), focusColor: fc || mode('brand.700', 'brand.300')(props),
errorColor: ec || mode('red.400', 'red.300')(props), errorColor: ec || mode('red.400', 'red.300')(props),
filledColor: flc || mode('gray.300', 'gray.600')(props),
} }
} }
...@@ -5,16 +5,16 @@ import getDefaultTransitionProps from './getDefaultTransitionProps'; ...@@ -5,16 +5,16 @@ import getDefaultTransitionProps from './getDefaultTransitionProps';
export default function getOutlinedFieldStyles(props: StyleFunctionProps) { export default function getOutlinedFieldStyles(props: StyleFunctionProps) {
const { theme } = props const { theme } = props
const { focusColor: fc, errorColor: ec } = getDefaultFormColors(props); const { focusColor: fc, errorColor: ec, filledColor: flc } = getDefaultFormColors(props);
const transitionProps = getDefaultTransitionProps(); const transitionProps = getDefaultTransitionProps();
return { return {
border: '2px solid', border: '2px solid',
bg: 'inherit', bg: 'inherit',
borderColor: mode('gray.100', 'whiteAlpha.200')(props), borderColor: getColor(theme, flc),
...transitionProps, ...transitionProps,
_hover: { _hover: {
borderColor: mode('gray.300', 'whiteAlpha.400')(props), borderColor: mode('gray.200', 'whiteAlpha.400')(props),
}, },
_readOnly: { _readOnly: {
boxShadow: 'none !important', boxShadow: 'none !important',
...@@ -35,6 +35,7 @@ export default function getOutlinedFieldStyles(props: StyleFunctionProps) { ...@@ -35,6 +35,7 @@ export default function getOutlinedFieldStyles(props: StyleFunctionProps) {
borderColor: getColor(theme, fc), borderColor: getColor(theme, fc),
boxShadow: '0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -1px rgba(0, 0, 0, 0.06)', boxShadow: '0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -1px rgba(0, 0, 0, 0.06)',
}, },
':placeholder-shown:not(:focus-visible):not(:hover)': { borderColor: mode('gray.100', 'whiteAlpha.200')(props) },
':-webkit-autofill': { transition: 'background-color 5000s ease-in-out 0s' }, ':-webkit-autofill': { transition: 'background-color 5000s ease-in-out 0s' },
':-webkit-autofill:hover': { transition: 'background-color 5000s ease-in-out 0s' }, ':-webkit-autofill:hover': { transition: 'background-color 5000s ease-in-out 0s' },
':-webkit-autofill:focus': { transition: 'background-color 5000s ease-in-out 0s' }, ':-webkit-autofill:focus': { transition: 'background-color 5000s ease-in-out 0s' },
......
...@@ -40,7 +40,6 @@ const ApiKeyForm: React.FC<Props> = ({ data }) => { ...@@ -40,7 +40,6 @@ const ApiKeyForm: React.FC<Props> = ({ data }) => {
<FormControl variant="floating" id="address" isRequired> <FormControl variant="floating" id="address" isRequired>
<Input <Input
{ ...field } { ...field }
placeholder=" "
disabled={ true } disabled={ true }
/> />
<FormLabel>Auto-generated API key token</FormLabel> <FormLabel>Auto-generated API key token</FormLabel>
...@@ -53,7 +52,6 @@ const ApiKeyForm: React.FC<Props> = ({ data }) => { ...@@ -53,7 +52,6 @@ const ApiKeyForm: React.FC<Props> = ({ data }) => {
<FormControl variant="floating" id="name" isRequired> <FormControl variant="floating" id="name" isRequired>
<Input <Input
{ ...field } { ...field }
placeholder=" "
isInvalid={ Boolean(errors.name) } isInvalid={ Boolean(errors.name) }
maxLength={ NAME_MAX_LENGTH } maxLength={ NAME_MAX_LENGTH }
/> />
......
...@@ -5,7 +5,6 @@ import { ...@@ -5,7 +5,6 @@ import {
Td, Td,
HStack, HStack,
Text, Text,
useColorModeValue,
} from '@chakra-ui/react' } from '@chakra-ui/react'
import EditButton from 'ui/shared/EditButton'; import EditButton from 'ui/shared/EditButton';
...@@ -30,7 +29,6 @@ const WatchlistTableItem = ({ item, onEditClick, onDeleteClick }: Props) => { ...@@ -30,7 +29,6 @@ const WatchlistTableItem = ({ item, onEditClick, onDeleteClick }: Props) => {
return onDeleteClick(item); return onDeleteClick(item);
}, [ item, onDeleteClick ]); }, [ item, onDeleteClick ]);
const secondaryColor = useColorModeValue('gray.500', 'gray.400');
return ( return (
<Tr alignItems="top" key={ item.token }> <Tr alignItems="top" key={ item.token }>
<Td> <Td>
...@@ -38,7 +36,7 @@ const WatchlistTableItem = ({ item, onEditClick, onDeleteClick }: Props) => { ...@@ -38,7 +36,7 @@ const WatchlistTableItem = ({ item, onEditClick, onDeleteClick }: Props) => {
<Text fontSize="md" fontWeight={ 600 }>{ item.token }</Text> <Text fontSize="md" fontWeight={ 600 }>{ item.token }</Text>
<CopyToClipboard text={ item.token }/> <CopyToClipboard text={ item.token }/>
</HStack> </HStack>
<Text fontSize="sm" marginTop={ 0.5 } color={ secondaryColor }>{ item.name }</Text> <Text fontSize="sm" marginTop={ 0.5 } variant="secondary">{ item.name }</Text>
</Td> </Td>
<Td> <Td>
<HStack spacing={ 6 }> <HStack spacing={ 6 }>
......
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, HStack, Link, Text, useDisclosure } from '@chakra-ui/react';
import Page from 'ui/shared/Page/Page'; import Page from 'ui/shared/Page/Page';
import AccountPageHeader from 'ui/shared/AccountPageHeader'; import AccountPageHeader from 'ui/shared/AccountPageHeader';
...@@ -42,14 +42,12 @@ const ApiKeys: React.FC = () => { ...@@ -42,14 +42,12 @@ const ApiKeys: React.FC = () => {
deleteModalProps.onClose(); deleteModalProps.onClose();
}, [ deleteModalProps ]); }, [ deleteModalProps ]);
const captionColor = useColorModeValue('gray.500', 'gray.400');
const canAdd = apiKey.length < DATA_LIMIT const canAdd = apiKey.length < DATA_LIMIT
return ( return (
<Page> <Page>
<Box h="100%"> <Box h="100%">
<AccountPageHeader header="API keys"/> <AccountPageHeader text="API keys"/>
<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>.
...@@ -72,7 +70,7 @@ const ApiKeys: React.FC = () => { ...@@ -72,7 +70,7 @@ const ApiKeys: React.FC = () => {
Add API key Add API key
</Button> </Button>
{ !canAdd && ( { !canAdd && (
<Text fontSize="sm" color={ captionColor }> <Text fontSize="sm" variant="secondary">
{ `You have added the maximum number of API keys (${ DATA_LIMIT }). Contact us to request additional keys.` } { `You have added the maximum number of API keys (${ DATA_LIMIT }). Contact us to request additional keys.` }
</Text> </Text>
) } ) }
......
...@@ -22,7 +22,7 @@ const PrivateTags: React.FC = () => { ...@@ -22,7 +22,7 @@ const PrivateTags: React.FC = () => {
return ( return (
<Page> <Page>
<Box h="100%"> <Box h="100%">
<AccountPageHeader header="Private tags"/> <AccountPageHeader text="Private tags"/>
<Tabs variant="soft-rounded" colorScheme="blue" isLazy> <Tabs variant="soft-rounded" colorScheme="blue" isLazy>
<TabList marginBottom={ 8 }> <TabList marginBottom={ 8 }>
<Tab>Address</Tab> <Tab>Address</Tab>
......
...@@ -75,7 +75,7 @@ const PublicTags: React.FC = () => { ...@@ -75,7 +75,7 @@ const PublicTags: React.FC = () => {
return ( return (
<Page> <Page>
<Box h="100%"> <Box h="100%">
<AccountPageHeader header={ header }/> <AccountPageHeader text={ header }/>
{ content } { content }
</Box> </Box>
</Page> </Page>
......
...@@ -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%">
<AccountPageHeader header="Watch list"/> <AccountPageHeader text="Watch list"/>
<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
......
...@@ -65,7 +65,6 @@ const DeletePublicTagModal: React.FC<Props> = ({ isOpen, onClose, tags = [], onD ...@@ -65,7 +65,6 @@ const DeletePublicTagModal: React.FC<Props> = ({ isOpen, onClose, tags = [], onD
</Flex> </Flex>
<FormControl variant="floating" id="tag-delete"> <FormControl variant="floating" id="tag-delete">
<Textarea <Textarea
placeholder=" "
size="lg" size="lg"
value={ reason } value={ reason }
onChange={ onFieldChange } onChange={ onFieldChange }
......
...@@ -5,7 +5,7 @@ import { Controller } from 'react-hook-form'; ...@@ -5,7 +5,7 @@ import { Controller } from 'react-hook-form';
import type { Inputs } from './PublicTagsForm'; import type { Inputs } from './PublicTagsForm';
interface Props { interface Props {
control: Control<Inputs, object>; control: Control<Inputs>;
canReport: boolean; canReport: boolean;
} }
......
...@@ -9,7 +9,7 @@ import PlusIcon from 'icons/plus.svg'; ...@@ -9,7 +9,7 @@ import PlusIcon from 'icons/plus.svg';
import MinusIcon from 'icons/minus.svg'; import MinusIcon from 'icons/minus.svg';
interface Props { interface Props {
control: Control<Inputs, object>; control: Control<Inputs>;
index: number; index: number;
fieldsLength: number; fieldsLength: number;
hasError: boolean; hasError: boolean;
...@@ -41,7 +41,7 @@ export default function PublicTagFormAction({ control, index, fieldsLength, hasE ...@@ -41,7 +41,7 @@ export default function PublicTagFormAction({ control, index, fieldsLength, hasE
{ index === fieldsLength - 1 && fieldsLength < MAX_INPUTS_NUM && ( { index === fieldsLength - 1 && fieldsLength < MAX_INPUTS_NUM && (
<IconButton <IconButton
aria-label="add" aria-label="add"
variant="iconBorderBlue" variant="iconBorder"
w="30px" w="30px"
h="30px" h="30px"
onClick={ onAddFieldClick } onClick={ onAddFieldClick }
...@@ -54,7 +54,7 @@ export default function PublicTagFormAction({ control, index, fieldsLength, hasE ...@@ -54,7 +54,7 @@ export default function PublicTagFormAction({ control, index, fieldsLength, hasE
{ fieldsLength > 1 && ( { fieldsLength > 1 && (
<IconButton <IconButton
aria-label="delete" aria-label="delete"
variant="iconBorderBlue" variant="iconBorder"
w="30px" w="30px"
h="30px" h="30px"
onClick={ onRemoveFieldClick(index) } onClick={ onRemoveFieldClick(index) }
......
...@@ -5,7 +5,7 @@ import { Controller } from 'react-hook-form'; ...@@ -5,7 +5,7 @@ import { Controller } from 'react-hook-form';
import type { Inputs } from './PublicTagsForm'; import type { Inputs } from './PublicTagsForm';
interface Props { interface Props {
control: Control<Inputs, object>; control: Control<Inputs>;
} }
export default function PublicTagFormComment({ control }: Props) { export default function PublicTagFormComment({ control }: Props) {
...@@ -14,7 +14,6 @@ export default function PublicTagFormComment({ control }: Props) { ...@@ -14,7 +14,6 @@ export default function PublicTagFormComment({ control }: Props) {
<FormControl variant="floating" id={ field.name }> <FormControl variant="floating" id={ field.name }>
<Textarea <Textarea
{ ...field } { ...field }
placeholder=" "
size="lg" size="lg"
/> />
<FormLabel>Specify the reason for adding tags and color preference(s).</FormLabel> <FormLabel>Specify the reason for adding tags and color preference(s).</FormLabel>
......
...@@ -76,7 +76,7 @@ const PublicTagsForm = ({ changeToDataScreen, data }: Props) => { ...@@ -76,7 +76,7 @@ const PublicTagsForm = ({ changeToDataScreen, data }: Props) => {
return ( return (
<Box width={ `calc(100% - ${ ADDRESS_INPUT_BUTTONS_WIDTH }px)` } maxWidth="844px"> <Box width={ `calc(100% - ${ ADDRESS_INPUT_BUTTONS_WIDTH }px)` } maxWidth="844px">
<Text size="sm" color="gray.500" paddingBottom={ 5 }>Company info</Text> <Text size="sm" variant="secondary" paddingBottom={ 5 }>Company info</Text>
<Grid templateColumns="1fr 1fr" rowGap={ 4 } columnGap={ 5 }> <Grid templateColumns="1fr 1fr" rowGap={ 4 } columnGap={ 5 }>
<GridItem> <GridItem>
<PublicTagsFormInput<Inputs> fieldName="userName" control={ control } label={ placeholders.userName } required/> <PublicTagsFormInput<Inputs> fieldName="userName" control={ control } label={ placeholders.userName } required/>
...@@ -94,7 +94,7 @@ const PublicTagsForm = ({ changeToDataScreen, data }: Props) => { ...@@ -94,7 +94,7 @@ const PublicTagsForm = ({ changeToDataScreen, data }: Props) => {
<Box marginTop={ 4 } marginBottom={ 8 }> <Box marginTop={ 4 } marginBottom={ 8 }>
<PublicTagFormAction canReport={ Boolean(data) } control={ control }/> <PublicTagFormAction canReport={ Boolean(data) } control={ control }/>
</Box> </Box>
<Text size="sm" color="gray.500" marginBottom={ 5 }>Public tags (2 tags maximum, please use &quot;;&quot; as a divider)</Text> <Text size="sm" variant="secondary" marginBottom={ 5 }>Public tags (2 tags maximum, please use &quot;;&quot; as a divider)</Text>
<Box marginBottom={ 4 }> <Box marginBottom={ 4 }>
<PublicTagsFormInput<Inputs> fieldName="tag" control={ control } label={ placeholders.tag } required/> <PublicTagsFormInput<Inputs> fieldName="tag" control={ control } label={ placeholders.tag } required/>
</Box> </Box>
......
...@@ -10,13 +10,12 @@ interface Props<TInputs extends FieldValues> { ...@@ -10,13 +10,12 @@ interface Props<TInputs extends FieldValues> {
control: Control<TInputs, object>; control: Control<TInputs, object>;
} }
export default function PublicTagsFormInput<I extends FieldValues>({ label, control, required, fieldName }: Props<I>) { export default function PublicTagsFormInput<Inputs extends FieldValues>({ label, control, required, fieldName }: Props<Inputs>) {
const renderInput = useCallback(({ field }: {field: ControllerRenderProps<I, typeof fieldName>}) => { const renderInput = useCallback(({ field }: {field: ControllerRenderProps<Inputs, typeof fieldName>}) => {
return ( return (
<FormControl variant="floating" id={ field.name } isRequired={ required }> <FormControl variant="floating" id={ field.name } isRequired={ required }>
<Input <Input
{ ...field } { ...field }
placeholder=" "
size="lg" size="lg"
required={ required } required={ required }
/> />
......
...@@ -2,9 +2,9 @@ import React from 'react'; ...@@ -2,9 +2,9 @@ import React from 'react';
import { Heading } from '@chakra-ui/react'; import { Heading } from '@chakra-ui/react';
const PageHeader = ({ header }: {header: string}) => { const PageHeader = ({ text }: {text: string}) => {
return ( return (
<Heading as="h1" size="lg" marginBottom={ 8 }>{ header }</Heading> <Heading as="h1" size="lg" marginBottom={ 8 }>{ text }</Heading>
) )
} }
......
...@@ -16,18 +16,17 @@ type Props<TInputs extends FieldValues, TInputName extends Path<TInputs>> = { ...@@ -16,18 +16,17 @@ type Props<TInputs extends FieldValues, TInputName extends Path<TInputs>> = {
placeholder?: string; placeholder?: string;
} }
export default function AddressInput<I extends FieldValues, N extends Path<I>>( export default function AddressInput<Inputs extends FieldValues, Name extends Path<Inputs>>(
{ {
field, field,
isInvalid, isInvalid,
size, size,
placeholder = 'Address (0x...)', placeholder = 'Address (0x...)',
}: Props<I, N>) { }: Props<Inputs, Name>) {
return ( return (
<FormControl variant="floating" id="address" isRequired> <FormControl variant="floating" id="address" isRequired>
<Input <Input
{ ...field } { ...field }
placeholder=" "
isInvalid={ isInvalid } isInvalid={ isInvalid }
maxLength={ ADDRESS_LENGTH } maxLength={ ADDRESS_LENGTH }
size={ size } size={ size }
......
...@@ -22,7 +22,7 @@ const CopyToClipboard = ({ text }: {text: string}) => { ...@@ -22,7 +22,7 @@ const CopyToClipboard = ({ text }: {text: string}) => {
icon={ <CopyIcon/> } icon={ <CopyIcon/> }
w="20px" w="20px"
h="20px" h="20px"
variant="iconBlue" variant="icon"
onClick={ onCopy } onClick={ onCopy }
/> />
</Tooltip> </Tooltip>
......
...@@ -14,7 +14,7 @@ const DeleteButton = ({ onClick }: Props) => { ...@@ -14,7 +14,7 @@ const DeleteButton = ({ onClick }: Props) => {
<Tooltip label="Delete"> <Tooltip label="Delete">
<IconButton <IconButton
aria-label="delete" aria-label="delete"
variant="iconBlue" variant="icon"
w="30px" w="30px"
h="30px" h="30px"
onClick={ onClick } onClick={ onClick }
......
...@@ -14,7 +14,7 @@ const EditButton = ({ onClick }: Props) => { ...@@ -14,7 +14,7 @@ const EditButton = ({ onClick }: Props) => {
<Tooltip label="Edit"> <Tooltip label="Edit">
<IconButton <IconButton
aria-label="edit" aria-label="edit"
variant="iconBlue" variant="icon"
w="30px" w="30px"
h="30px" h="30px"
onClick={ onClick } onClick={ onClick }
......
...@@ -20,7 +20,6 @@ const TagInput: React.FC<Props> = ({ field, isInvalid }) => { ...@@ -20,7 +20,6 @@ const TagInput: React.FC<Props> = ({ field, isInvalid }) => {
<FormControl variant="floating" id="tag" isRequired> <FormControl variant="floating" id="tag" isRequired>
<Input <Input
{ ...field } { ...field }
placeholder=" "
isInvalid={ isInvalid } isInvalid={ isInvalid }
maxLength={ TAG_MAX_LENGTH } maxLength={ TAG_MAX_LENGTH }
/> />
......
...@@ -19,7 +19,6 @@ const AddressInput: React.FC<Props> = ({ field, isInvalid }) => { ...@@ -19,7 +19,6 @@ const AddressInput: React.FC<Props> = ({ field, isInvalid }) => {
<FormControl variant="floating" id="transaction" isRequired> <FormControl variant="floating" id="transaction" isRequired>
<Input <Input
{ ...field } { ...field }
placeholder=" "
isInvalid={ isInvalid } isInvalid={ isInvalid }
maxLength={ HASH_LENGTH } maxLength={ HASH_LENGTH }
/> />
......
...@@ -85,7 +85,7 @@ const AddressForm: React.FC<Props> = ({ data }) => { ...@@ -85,7 +85,7 @@ const AddressForm: React.FC<Props> = ({ data }) => {
render={ renderTagInput } render={ renderTagInput }
/> />
</Box> </Box>
<Text color="gray.500" fontSize="sm" marginBottom={ 5 }> <Text variant="secondary" fontSize="sm" marginBottom={ 5 }>
Please select what types of notifications you will receive Please select what types of notifications you will receive
</Text> </Text>
<Box marginBottom={ 8 }> <Box marginBottom={ 8 }>
...@@ -102,7 +102,7 @@ const AddressForm: React.FC<Props> = ({ data }) => { ...@@ -102,7 +102,7 @@ const AddressForm: React.FC<Props> = ({ data }) => {
}) } }) }
</Grid> </Grid>
</Box> </Box>
<Text color="gray.500" fontSize="sm" marginBottom={ 5 }>Notification methods</Text> <Text variant="secondary" fontSize="sm" marginBottom={ 5 }>Notification methods</Text>
<Controller <Controller
name="notification" name="notification"
control={ control } control={ control }
......
...@@ -11,7 +11,6 @@ import WalletIcon from 'icons/wallet.svg'; ...@@ -11,7 +11,6 @@ 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');
const secondaryTextColor = useColorModeValue('gray.500', 'gray.400');
return ( return (
<HStack spacing={ 3 } align="top"> <HStack spacing={ 3 } align="top">
...@@ -22,14 +21,14 @@ const WatchListAddressItem = ({ item }: {item: TWatchlistItem}) => { ...@@ -22,14 +21,14 @@ const WatchListAddressItem = ({ item }: {item: TWatchlistItem}) => {
<HStack spacing={ 0 } fontSize="sm" h={ 6 }> <HStack spacing={ 0 } fontSize="sm" h={ 6 }>
<Image src="./xdai.png" alt="chain-logo" marginRight="10px" w="16px" h="16px"/> <Image src="./xdai.png" alt="chain-logo" marginRight="10px" w="16px" h="16px"/>
<Text color={ mainTextColor }>{ `xDAI balance:${ nbsp }` + item.tokenBalance }</Text> <Text color={ mainTextColor }>{ `xDAI balance:${ nbsp }` + item.tokenBalance }</Text>
<Text color={ secondaryTextColor }>{ `${ nbsp }($${ item.tokenBalanceUSD } USD)` }</Text> <Text variant="secondary">{ `${ nbsp }($${ item.tokenBalanceUSD } USD)` }</Text>
</HStack> </HStack>
) } ) }
{ item.tokensAmount && ( { item.tokensAmount && (
<HStack spacing={ 0 } fontSize="sm" h={ 6 }> <HStack spacing={ 0 } fontSize="sm" h={ 6 }>
<Icon as={ TokensIcon } marginRight="10px" w="17px" h="16px"/> <Icon as={ TokensIcon } marginRight="10px" w="17px" h="16px"/>
<Text color={ mainTextColor }>{ `Tokens:${ nbsp }` + item.tokensAmount }</Text> <Text color={ mainTextColor }>{ `Tokens:${ nbsp }` + item.tokensAmount }</Text>
<Text color={ secondaryTextColor }>{ `${ nbsp }($${ item.tokensUSD } USD)` }</Text> <Text variant="secondary">{ `${ nbsp }($${ item.tokensUSD } USD)` }</Text>
</HStack> </HStack>
) } ) }
{ item.totalUSD && ( { item.totalUSD && (
......
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