fix: show update notifications only on non-auto-updating Swarm Desktops (#460)
This commit is contained in:
@@ -14,6 +14,7 @@ export interface IsBeeDesktopHook {
|
||||
isBeeDesktop: boolean
|
||||
isLoading: boolean
|
||||
beeDesktopVersion: string
|
||||
desktopAutoUpdateEnabled: boolean
|
||||
}
|
||||
|
||||
export interface NewDesktopVersionHook {
|
||||
@@ -31,6 +32,7 @@ interface Config {
|
||||
*/
|
||||
export const useIsBeeDesktop = (conf: Config = config): IsBeeDesktopHook => {
|
||||
const [isBeeDesktop, setIsBeeDesktop] = useState<boolean>(false)
|
||||
const [desktopAutoUpdateEnabled, setDesktopAutoUpdateEnabled] = useState<boolean>(true)
|
||||
const [beeDesktopVersion, setBeeDesktopVersion] = useState<string>('')
|
||||
const [isLoading, setLoading] = useState<boolean>(true)
|
||||
|
||||
@@ -41,6 +43,7 @@ export const useIsBeeDesktop = (conf: Config = config): IsBeeDesktopHook => {
|
||||
if (res.data?.name === 'bee-desktop') {
|
||||
setIsBeeDesktop(true)
|
||||
setBeeDesktopVersion(res.data?.version)
|
||||
setDesktopAutoUpdateEnabled(res.data?.autoUpdateEnabled)
|
||||
} else setIsBeeDesktop(false)
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -51,7 +54,7 @@ export const useIsBeeDesktop = (conf: Config = config): IsBeeDesktopHook => {
|
||||
})
|
||||
}, [conf])
|
||||
|
||||
return { isBeeDesktop, isLoading, beeDesktopVersion }
|
||||
return { isBeeDesktop, isLoading, beeDesktopVersion, desktopAutoUpdateEnabled }
|
||||
}
|
||||
|
||||
async function checkNewVersion(conf: Config): Promise<string> {
|
||||
|
||||
@@ -29,12 +29,12 @@ const Dashboard = (props: Props): ReactElement => {
|
||||
const classes = useStyles()
|
||||
|
||||
const { isLoading } = useContext(Context)
|
||||
const { isBeeDesktop } = useIsBeeDesktop()
|
||||
const { isBeeDesktop, desktopAutoUpdateEnabled } = useIsBeeDesktop()
|
||||
const { newBeeDesktopVersion } = useNewBeeDesktopVersion(isBeeDesktop)
|
||||
const { enqueueSnackbar, closeSnackbar } = useSnackbar()
|
||||
|
||||
useEffect(() => {
|
||||
if (newBeeDesktopVersion !== '') {
|
||||
if (!desktopAutoUpdateEnabled && newBeeDesktopVersion !== '') {
|
||||
enqueueSnackbar(`There is new Swarm Dashboard version ${newBeeDesktopVersion}!`, {
|
||||
variant: 'warning',
|
||||
preventDuplicate: true,
|
||||
@@ -61,7 +61,7 @@ const Dashboard = (props: Props): ReactElement => {
|
||||
),
|
||||
})
|
||||
}
|
||||
}, [enqueueSnackbar, closeSnackbar, newBeeDesktopVersion])
|
||||
}, [enqueueSnackbar, closeSnackbar, newBeeDesktopVersion, desktopAutoUpdateEnabled])
|
||||
|
||||
const content = (
|
||||
<>
|
||||
|
||||
Reference in New Issue
Block a user