diff options
author | Markus Hatvan <markus_hatvan@aon.at> | 2021-10-14 08:48:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-14 08:48:08 +0200 |
commit | f06c7da3e09afbbe757101677b4c8f32d051e471 (patch) | |
tree | b8ceb13fef267c6963931286d082a07d62ed3402 /src/components/AppUpdateInfoBar.tsx | |
parent | 5.6.3-nightly.33 [skip ci] (diff) | |
download | ferdium-app-f06c7da3e09afbbe757101677b4c8f32d051e471.tar.gz ferdium-app-f06c7da3e09afbbe757101677b4c8f32d051e471.tar.zst ferdium-app-f06c7da3e09afbbe757101677b4c8f32d051e471.zip |
chore: convert class components to functional (#2065)
Diffstat (limited to 'src/components/AppUpdateInfoBar.tsx')
-rw-r--r-- | src/components/AppUpdateInfoBar.tsx | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/components/AppUpdateInfoBar.tsx b/src/components/AppUpdateInfoBar.tsx new file mode 100644 index 000000000..1dd3723cc --- /dev/null +++ b/src/components/AppUpdateInfoBar.tsx | |||
@@ -0,0 +1,55 @@ | |||
1 | import { defineMessages, useIntl } from 'react-intl'; | ||
2 | |||
3 | import InfoBar from './ui/InfoBar'; | ||
4 | import { GITHUB_FERDI_URL } from '../config'; | ||
5 | import { openExternalUrl } from '../helpers/url-helpers'; | ||
6 | |||
7 | const messages = defineMessages({ | ||
8 | updateAvailable: { | ||
9 | id: 'infobar.updateAvailable', | ||
10 | defaultMessage: 'A new update for Ferdi is available.', | ||
11 | }, | ||
12 | changelog: { | ||
13 | id: 'infobar.buttonChangelog', | ||
14 | defaultMessage: 'What is new?', | ||
15 | }, | ||
16 | buttonInstallUpdate: { | ||
17 | id: 'infobar.buttonInstallUpdate', | ||
18 | defaultMessage: 'Restart & install update', | ||
19 | }, | ||
20 | }); | ||
21 | |||
22 | type Props = { | ||
23 | onInstallUpdate: () => void; | ||
24 | onHide: () => void; | ||
25 | }; | ||
26 | |||
27 | const AppUpdateInfoBar = ({ onInstallUpdate, onHide }: Props) => { | ||
28 | const intl = useIntl(); | ||
29 | |||
30 | return ( | ||
31 | <InfoBar | ||
32 | type="primary" | ||
33 | ctaLabel={intl.formatMessage(messages.buttonInstallUpdate)} | ||
34 | onClick={onInstallUpdate} | ||
35 | onHide={onHide} | ||
36 | > | ||
37 | <span className="mdi mdi-information" /> | ||
38 | {intl.formatMessage(messages.updateAvailable)}{' '} | ||
39 | <button | ||
40 | className="info-bar__inline-button" | ||
41 | type="button" | ||
42 | onClick={() => | ||
43 | openExternalUrl( | ||
44 | `${GITHUB_FERDI_URL}/ferdi/blob/develop/CHANGELOG.md`, | ||
45 | true, | ||
46 | ) | ||
47 | } | ||
48 | > | ||
49 | <u>{intl.formatMessage(messages.changelog)}</u> | ||
50 | </button> | ||
51 | </InfoBar> | ||
52 | ); | ||
53 | }; | ||
54 | |||
55 | export default AppUpdateInfoBar; | ||