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 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> {
+3 -3
View File
@@ -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 = (
<> <>