+ {t('common:update.heading')}
+ {t('common:update.body')}
+
+
+
+
+
+ );
+}
+
+export default UpdateDialog;
diff --git a/crabfit-frontend/src/components/UpdateDialog/updateDialogStyle.ts b/crabfit-frontend/src/components/UpdateDialog/updateDialogStyle.ts
new file mode 100644
index 0000000..139f211
--- /dev/null
+++ b/crabfit-frontend/src/components/UpdateDialog/updateDialogStyle.ts
@@ -0,0 +1,34 @@
+import styled from '@emotion/styled';
+
+export const Wrapper = styled.div`
+ position: fixed;
+ bottom: 20px;
+ right: 20px;
+ background-color: ${props => props.theme.background};
+ ${props => props.theme.mode === 'dark' && `
+ border: 1px solid ${props.theme.primaryBackground};
+ `}
+ z-index: 900;
+ padding: 20px 26px;
+ border-radius: 3px;
+ width: 400px;
+ box-sizing: border-box;
+ max-width: calc(100% - 20px);
+ box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
+
+ & h2 {
+ margin: 0;
+ font-size: 1.3rem;
+ }
+ & p {
+ margin: 16px 0 24px;
+ font-size: 1rem;
+ }
+`;
+
+export const ButtonWrapper = styled.div`
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ gap: 16px;
+`;
diff --git a/crabfit-frontend/src/components/index.ts b/crabfit-frontend/src/components/index.ts
index de04478..1b73344 100644
--- a/crabfit-frontend/src/components/index.ts
+++ b/crabfit-frontend/src/components/index.ts
@@ -18,6 +18,7 @@ export { default as Egg } from './Egg/Egg';
export { default as Footer } from './Footer/Footer';
export { default as Recents } from './Recents/Recents';
export { default as Logo } from './Logo/Logo';
+export { default as UpdateDialog } from './UpdateDialog/UpdateDialog';
export const _GoogleCalendar = () => import('./GoogleCalendar/GoogleCalendar');
export const _OutlookCalendar = () => import('./OutlookCalendar/OutlookCalendar');
diff --git a/crabfit-frontend/src/index.tsx b/crabfit-frontend/src/index.tsx
index 7ea3f12..ed39b03 100644
--- a/crabfit-frontend/src/index.tsx
+++ b/crabfit-frontend/src/index.tsx
@@ -1,7 +1,6 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
-import { Workbox } from 'workbox-window';
import 'i18n';
ReactDOM.render(
@@ -10,17 +9,3 @@ ReactDOM.render(
,
document.getElementById('root')
);
-
-if ('serviceWorker' in navigator) {
- const wb = new Workbox('sw.js');
-
- wb.addEventListener('installed', event => {
- if (event.isUpdate) {
- if (window.confirm(`New content is available!. Click OK to refresh`)) {
- window.location.reload();
- }
- }
- });
-
- wb.register();
-}