@chakra-ui/react#AlertTitle JavaScript Examples
The following examples show how to use
@chakra-ui/react#AlertTitle.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: PageNotFound.js From web-client with Apache License 2.0 | 6 votes |
PageNotFound = () => {
return <Alert
status='error'
variant='subtle'
flexDirection='column'
alignItems='center'
justifyContent='center'
textAlign='center'
>
<AlertIcon boxSize='40px' mr={0} />
<AlertTitle mt={4} mb={1} fontSize='lg'>
Page not found
</AlertTitle>
<AlertDescription>
There is nothing at this address. Please navigate to another place.
</AlertDescription>
</Alert>
}
Example #2
Source File: containers.js From idena-web with MIT License | 5 votes |
export function DnaSendSucceededDialog({hash, url, onCompleteSend, ...props}) {
const {t} = useTranslation()
return (
<Dialog closeOnOverlayClick={false} closeOnEsc={false} {...props}>
<DialogBody color="brandGray.500">
<Stack spacing={5}>
<Alert
status="success"
bg="green.010"
borderRadius="lg"
flexDirection="column"
justifyContent="center"
height={132}
>
<Stack spacing={2} align="center">
<AlertIcon size={8} mr={0} />
<AlertTitle fontSize="lg" fontWeight={500}>
{t('Successfully sent')}
</AlertTitle>
</Stack>
</Alert>
<Stack spacing={1}>
<Stack spacing={1} py={2}>
<Box color="muted">{t('Tx hash')}</Box>
<Box wordBreak="break-all" fontWeight={500}>
{hash}
</Box>
</Stack>
<ExternalLink href={`https://scan.idena.io/transaction/${hash}`}>
{t('Open in blockchain explorer')}
</ExternalLink>
</Stack>
</Stack>
</DialogBody>
<DialogFooter>
{url ? (
<PrimaryButton
onClick={() => {
openExternalUrl(url)
onCompleteSend()
}}
>
{t('Continue')}
</PrimaryButton>
) : (
<PrimaryButton onClick={onCompleteSend}>{t('Close')}</PrimaryButton>
)}
</DialogFooter>
</Dialog>
)
}
Example #3
Source File: components.js From idena-web with MIT License | 5 votes |
export function Toast({
title,
description,
icon = 'info',
status = 'info',
actionContent,
actionColor = status === 'error' ? 'red.500' : 'brandBlue.500',
color,
onAction,
duration,
...props
}) {
return (
<Alert
status={status}
bg="white"
boxShadow="0 3px 12px 0 rgba(83, 86, 92, 0.1), 0 2px 3px 0 rgba(83, 86, 92, 0.2)"
color={color || 'brandGray.500'}
fontSize="md"
pl={4}
pr={actionContent ? 2 : 5}
pt="10px"
pb={3}
mb={5}
minH="44px"
rounded="lg"
{...props}
>
<AlertIcon
name={icon}
size={5}
color={color || (status === 'error' ? 'red.500' : 'blue.500')}
/>
<Flex direction="column" align="flex-start" maxW={['90vw', 'sm']}>
<AlertTitle fontWeight={500} lineHeight="base">
{title}
</AlertTitle>
<AlertDescription
color={color || 'muted'}
lineHeight="base"
textAlign="left"
maxW={['77vw', 'none']}
w="full"
isTruncated
>
{description}
</AlertDescription>
</Flex>
{actionContent && (
<Button
variant="ghost"
color={actionColor}
fontWeight={500}
lineHeight="base"
px={3}
py="3/2"
_hover={{bg: 'unset'}}
_active={{bg: 'unset'}}
_focus={{boxShadow: 'none'}}
onClick={onAction}
>
{actionContent}
</Button>
)}
<Box
bg="gray.100"
height="3px"
roundedBottom={2}
pos="absolute"
bottom={0}
left={0}
right={0}
animation={`${escape} ${duration}ms linear forwards`}
/>
</Alert>
)
}
Example #4
Source File: NotificationsBadge.js From web-client with Apache License 2.0 | 5 votes |
NotificationsBadge = () => {
const [notifications, fetchNotifications] = useFetch('/notifications?status=unread');
const onMessageHandler = () => {
fetchNotifications();
}
useWebsocketMessage(onMessageHandler);
const markAsRead = notification => {
secureApiFetch(`/notifications/${notification.id}`, {
method: 'PUT',
body: JSON.stringify({ status: 'read' })
}).then(() => {
fetchNotifications();
})
}
return <Popover placement="bottom-end" closeOnBlur={true}>
<PopoverTrigger>
<Button pr={null !== notifications && notifications.length > 0 ? 1 : 2} variant="ghost" aria-label="Notifications" >
<BellIcon fontSize="xl" color="gray.500" />
{null !== notifications && notifications.length > 0 && (
<Tag colorScheme='red' >{notifications.length}</Tag>
)}
</Button>
</PopoverTrigger>
<PopoverContent>
<PopoverArrow />
<PopoverHeader px="3" pb="3" color="gray.500">
<Link to="/notifications">Notifications</Link>
</PopoverHeader>
<PopoverBody>
{null !== notifications && notifications.length > 0 ? (
<Stack>
{notifications.map(notification =>
<Alert key={notification.id} status='info' variant="top-accent">
<Box flex='1'>
<AlertTitle>{notification.time} <strong><Link to="/vulnerabilities">{notification.title}</Link></strong></AlertTitle>
<AlertDescription display='block'>{notification.content}</AlertDescription>
</Box>
<CloseButton position='absolute' right='8px' top='8px' onClick={() => markAsRead(notification)} />
</Alert>
)}
</Stack>
) : <span>Nothing to see here.</span>}
</PopoverBody>
</PopoverContent>
</Popover>
}
Example #5
Source File: containers.js From idena-web with MIT License | 4 votes |
export function DnaSendFailedDialog({
error,
url,
onRetrySucceeded,
onRetryFailed,
onOpenFailUrl,
...props
}) {
const {t} = useTranslation()
return (
<Dialog closeOnOverlayClick={false} closeOnEsc={false} {...props}>
<DialogBody>
<Stack spacing={5}>
<Alert
status="error"
bg="red.010"
borderRadius="lg"
flexDirection="column"
justifyContent="center"
textAlign="center"
minH={132}
>
<Stack align="center" spacing={1}>
<AlertIcon name="delete" size={10} mr={0} />
<Stack spacing={1}>
<AlertTitle fontSize="lg" fontWeight={500}>
{t('Something went wrong')}
</AlertTitle>
<Text color="muted" wordBreak="break-all">
{error}
</Text>
</Stack>
</Stack>
</Alert>
</Stack>
</DialogBody>
<DialogFooter>
<SecondaryButton
onClick={() => {
const requestedUrl = new URL(url)
handleCallbackUrl(url, 'json', {
// eslint-disable-next-line no-shadow
onJson: ({success, error, url}) => {
if (success) {
onRetrySucceeded({
hash: requestedUrl.searchParams.get('tx'),
url: url ?? requestedUrl.href,
})
} else {
onRetryFailed({
error:
error ??
t('{{url}} responded with an unknown format', {
url: requestedUrl.href,
}),
url: url ?? requestedUrl,
})
}
},
}).catch(error => {
console.error(error)
onRetryFailed({
error: error?.message,
url,
})
})
}}
>
{t('Retry')}
</SecondaryButton>
<PrimaryButton
onClick={() => {
openExternalUrl(url)
onOpenFailUrl()
}}
>
{t('Open in browser')}
</PrimaryButton>
</DialogFooter>
</Dialog>
)
}