fix: show update notifications only on non-auto-updating Swarm Desktops (#460)

This commit is contained in:
Adam Uhlíř
2022-07-01 15:55:12 +02:00
committed by GitHub
parent 8c182cafd5
commit d12f86b9fa
2 changed files with 7 additions and 4 deletions
+4 -1
View File
@@ -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> {
+3 -3
View File
@@ -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 = (
<>