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