This repository has been archived on 2025-03-19. You can view files and clone it, but cannot push or open issues or pull requests.
feishin/src/renderer/is-updated-dialog.tsx
2023-08-07 21:44:39 -07:00

51 lines
1.6 KiB
TypeScript

import { useCallback } from 'react';
import { Group, Stack } from '@mantine/core';
import { useLocalStorage } from '@mantine/hooks';
import { RiExternalLinkLine } from 'react-icons/ri';
import { Button, Dialog, Text } from './components';
import packageJson from '../../package.json';
export const IsUpdatedDialog = () => {
const { version } = packageJson;
const [value, setValue] = useLocalStorage({ key: 'version' });
const handleDismiss = useCallback(() => {
setValue(version);
}, [setValue, version]);
return (
<Dialog
opened={value !== version}
position={{ bottom: '5rem', right: '1rem' }}
styles={{
root: {
marginBottom: '50px',
right: '1rem',
},
}}
>
<Stack>
<Text>A new version of Feishin has been installed ({version})</Text>
<Group noWrap>
<Button
component="a"
href={`https://github.com/jeffvli/feishin/releases/tag/v${version}`}
rightIcon={<RiExternalLinkLine />}
target="_blank"
variant="filled"
onClick={handleDismiss}
>
View release notes
</Button>
<Button
variant="default"
onClick={handleDismiss}
>
Dismiss
</Button>
</Group>
</Stack>
</Dialog>
);
};