From 8f3716b4d50f7d56d038cbf9010bbaee121544df Mon Sep 17 00:00:00 2001 From: Yasuaki Uechi Date: Fri, 19 Jun 2020 16:47:47 +0900 Subject: [PATCH] fix(sw): show update notification --- package.json | 1 + src/index.tsx | 16 ++++++++++++++-- yarn.lock | 36 +++++++++++++++++++++++++++++++++++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6b99a57..d50bfb8 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "react-router-dom": "^5.1.2", "react-scripts": "3.4.1", "react-spinners": "^0.8.1", + "react-toastify": "^6.0.5", "styled-components": "^5.1.0", "validator": "^13.1.0", "whois-json": "^2.0.4" diff --git a/src/index.tsx b/src/index.tsx index 0d6449c..fab7985 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -3,6 +3,8 @@ import ReactDOM from 'react-dom'; import {Router} from 'react-router-dom'; import {StoreProvider} from 'easy-peasy'; import {createBrowserHistory} from 'history'; +import {ToastContainer, toast} from 'react-toastify'; +import 'react-toastify/dist/ReactToastify.css'; import App from './App'; import * as serviceWorker from './serviceWorker'; @@ -29,16 +31,26 @@ ReactDOM.render( + , document.getElementById('root'), ); serviceWorker.register({ onUpdate: (registration) => { - console.log('New version available! Ready to update?'); + console.log('Update available'); + + toast.dark('New version available! Click here to update.', { + onClose: () => { + window.location.reload(); + }, + position: 'top-right', + autoClose: false, + closeButton: false, + closeOnClick: true, + }); if (registration && registration.waiting) { registration.waiting.postMessage({type: 'SKIP_WAITING'}); } - window.location.reload(); }, }); diff --git a/yarn.lock b/yarn.lock index 1f5db15..db609b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -995,6 +995,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.8.7": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.2.tgz#d103f21f2602497d38348a32e008637d506db839" + integrity sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.4.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" @@ -3970,7 +3977,7 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: dependencies: cssom "0.3.x" -csstype@^2.2.0, csstype@^2.5.7: +csstype@^2.2.0, csstype@^2.5.7, csstype@^2.6.7: version "2.6.10" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b" integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w== @@ -4278,6 +4285,14 @@ dom-converter@^0.2: dependencies: utila "~0.4" +dom-helpers@^5.0.1: + version "5.1.4" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.4.tgz#4609680ab5c79a45f2531441f1949b79d6587f4b" + integrity sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^2.6.7" + dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -10077,6 +10092,25 @@ react-spinners@^0.8.1: dependencies: "@emotion/core" "^10.0.15" +react-toastify@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-6.0.5.tgz#6435b2bf6a298863bc71342dcc88e8283cdb4630" + integrity sha512-1YXSb6Jr478c1TJEyVpxLHFvtmeXGMvdpZc0fke/7lK+MoLBC+NFgB74bq+C2SZe6LdK+K1voEURJoY88WqWvA== + dependencies: + classnames "^2.2.6" + prop-types "^15.7.2" + react-transition-group "^4.4.1" + +react-transition-group@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" + integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"