feat: reintroduce new bee version notification (#500)

This commit is contained in:
Vojtech Simetka
2022-07-29 10:41:34 +02:00
committed by GitHub
parent ff5b832017
commit f53e9664da
+41 -2
View File
@@ -5,7 +5,7 @@ import { useSnackbar } from 'notistack'
import CloseIcon from 'remixicon-react/CloseCircleLineIcon'
import ErrorBoundary from '../components/ErrorBoundary'
import SideBar from '../components/SideBar'
import { Context } from '../providers/Bee'
import { Context as BeeContext } from '../providers/Bee'
import config from '../config'
import * as Sentry from '@sentry/react'
import ItsBroken from './ItsBroken'
@@ -28,11 +28,50 @@ interface Props {
const Dashboard = (props: Props): ReactElement => {
const classes = useStyles()
const { isLoading } = useContext(Context)
const { isLoading, isLatestBeeVersion, latestBeeRelease, latestBeeVersionUrl } = useContext(BeeContext)
const isBeeDesktop = config.BEE_DESKTOP_ENABLED
const { newBeeDesktopVersion } = useNewBeeDesktopVersion(isBeeDesktop)
const { enqueueSnackbar, closeSnackbar } = useSnackbar()
// New version of Bee client notification
useEffect(() => {
if (!isLoading && !isBeeDesktop && !isLatestBeeVersion && latestBeeRelease) {
enqueueSnackbar(`There is new Bee version ${latestBeeRelease?.name}!`, {
variant: 'warning',
preventDuplicate: true,
key: 'beeNewVersion',
persist: true,
action: key => (
<React.Fragment>
<Button
onClick={() => {
window.open(latestBeeVersionUrl)
closeSnackbar(key)
}}
>
Download release
</Button>
<IconButton
onClick={() => {
closeSnackbar(key)
}}
>
<CloseIcon />
</IconButton>
</React.Fragment>
),
})
}
}, [
closeSnackbar,
enqueueSnackbar,
isLatestBeeVersion,
isBeeDesktop,
latestBeeRelease,
latestBeeVersionUrl,
isLoading,
])
useEffect(() => {
if (newBeeDesktopVersion !== '') {
enqueueSnackbar(`There is new Swarm Dashboard version ${newBeeDesktopVersion}!`, {