From 435e367cca54a53770449d96c29f5c830a2ed0de Mon Sep 17 00:00:00 2001 From: David Lechner Date: Thu, 28 Jan 2021 21:01:10 -0600 Subject: [PATCH] add ready for offline message --- src/components/SettingsDrawer.tsx | 11 ++++++++++- src/components/settings-i18n.en.json | 1 + src/components/settings-i18n.ts | 1 + src/reducers/app.ts | 11 +++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/components/SettingsDrawer.tsx b/src/components/SettingsDrawer.tsx index a9192332..ec123ce9 100644 --- a/src/components/SettingsDrawer.tsx +++ b/src/components/SettingsDrawer.tsx @@ -54,6 +54,7 @@ type StateProps = { updateAvailable: boolean; beforeInstallPrompt: BeforeInstallPromptEvent | null; promptingInstall: boolean; + readyForOfflineUse: boolean; }; type DispatchProps = { @@ -83,6 +84,7 @@ class SettingsDrawer extends React.PureComponent { updateAvailable, beforeInstallPrompt, promptingInstall, + readyForOfflineUse, onClose, onShowDocsChanged, onDarkModeChanged, @@ -226,7 +228,13 @@ class SettingsDrawer extends React.PureComponent { - + ({ updateAvailable: state.app.updateAvailable, beforeInstallPrompt: state.app.beforeInstallPrompt, promptingInstall: state.app.promptingInstall, + readyForOfflineUse: state.app.readyForOfflineUse, }); const mapDispatchToProps = (dispatch: Dispatch): DispatchProps => ({ diff --git a/src/components/settings-i18n.en.json b/src/components/settings-i18n.en.json index fc418949..cebe80b7 100644 --- a/src/components/settings-i18n.en.json +++ b/src/components/settings-i18n.en.json @@ -39,6 +39,7 @@ }, "app": { "title": "App", + "offlineUseHelp": "Ready for offline use.", "install": { "label": "Install as App" }, diff --git a/src/components/settings-i18n.ts b/src/components/settings-i18n.ts index 9c89b66e..ba191e65 100644 --- a/src/components/settings-i18n.ts +++ b/src/components/settings-i18n.ts @@ -20,6 +20,7 @@ export enum SettingsStringId { HelpChatLabel = 'settings.help.chat.label', HelpBugsLabel = 'settings.help.bugs.label', AppTitle = 'settings.app.title', + AppOfflineUseHelp = 'settings.app.offlineUseHelp', AppInstallLabel = 'settings.app.install.label', AppCheckForUpdateLabel = 'settings.app.checkForUpdate.label', AppRestartLabel = 'settings.app.restart.label', diff --git a/src/reducers/app.ts b/src/reducers/app.ts index 1ff47bd7..6872ab86 100644 --- a/src/reducers/app.ts +++ b/src/reducers/app.ts @@ -18,6 +18,7 @@ export interface AppState { readonly updateAvailable: boolean; readonly beforeInstallPrompt: BeforeInstallPromptEvent; readonly promptingInstall: boolean; + readonly readyForOfflineUse: boolean; } const showSettings: Reducer = (state = false, action) => { @@ -116,6 +117,15 @@ const promptingInstall: Reducer = (state = false, action) => { } }; +const readyForOfflineUse: Reducer = (state = false, action) => { + switch (action.type) { + case ServiceWorkerActionType.DidSucceed: + return true; + default: + return state; + } +}; + export default combineReducers({ showSettings, showAboutDialog, @@ -125,4 +135,5 @@ export default combineReducers({ updateAvailable, beforeInstallPrompt, promptingInstall, + readyForOfflineUse, });