mirror of
https://github.com/kremalicious/portfolio.git
synced 2024-12-22 17:23:22 +01:00
service worker update notification
This commit is contained in:
parent
9bc24f7a72
commit
3f55d2dda8
@ -27,6 +27,9 @@
|
||||
- React
|
||||
- Ethereum
|
||||
- Web3
|
||||
- 3Box
|
||||
- Polygon
|
||||
- Binance Smart Chain
|
||||
|
||||
- title: 'Ocean Protocol - IPFS Integration'
|
||||
slug: '/oceanprotocol-ipfs/'
|
||||
|
@ -2,6 +2,7 @@ import wrapPageElementWithLayout from './src/helpers/wrapPageElement'
|
||||
|
||||
// Global styles
|
||||
import './src/styles/global.css'
|
||||
import './src/styles/_toast.css'
|
||||
|
||||
// IntersectionObserver polyfill for gatsby-image (Safari, IE)
|
||||
if (typeof window !== 'undefined' && !window.IntersectionObserver) {
|
||||
@ -27,11 +28,9 @@ export const shouldUpdateScroll = ({
|
||||
// Display a message when a service worker updates
|
||||
// https://www.gatsbyjs.org/docs/add-offline-support-with-a-service-worker/#displaying-a-message-when-a-service-worker-updates
|
||||
export const onServiceWorkerUpdateReady = () => {
|
||||
const answer = window.confirm(
|
||||
'This application has been updated. ' +
|
||||
'Reload to display the latest version?'
|
||||
)
|
||||
if (answer === true) {
|
||||
window.location.reload()
|
||||
}
|
||||
const div = document.createElement('div')
|
||||
div.id = 'toast'
|
||||
div.classList.add('alert', 'alert-info')
|
||||
div.innerHTML = `<button onClick="window.location.reload()">Updates are available. <span>Click to Reload</span>.</button>`
|
||||
document.body.append(div)
|
||||
}
|
||||
|
41
src/styles/_toast.css
Normal file
41
src/styles/_toast.css
Normal file
@ -0,0 +1,41 @@
|
||||
#toast {
|
||||
position: sticky;
|
||||
z-index: 10;
|
||||
bottom: var(--spacer);
|
||||
left: calc(var(--spacer) / 2);
|
||||
right: calc(var(--spacer) / 2);
|
||||
margin: 0 auto;
|
||||
width: fit-content;
|
||||
font-size: var(--font-size-small);
|
||||
padding: 0;
|
||||
animation: animation 0.2s ease-out backwards;
|
||||
background: var(--body-background-color);
|
||||
border-radius: var(--border-radius);
|
||||
border: var(--stroke-width) solid transparent;
|
||||
box-shadow: var(--box-shadow);
|
||||
}
|
||||
|
||||
#toast button {
|
||||
font-family: inherit;
|
||||
font-weight: inherit;
|
||||
font-size: inherit;
|
||||
color: inherit;
|
||||
background: inherit;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
padding: calc(var(--spacer) / 3) var(--spacer);
|
||||
}
|
||||
|
||||
#toast button span {
|
||||
color: var(--link-color);
|
||||
}
|
||||
|
||||
@keyframes animation {
|
||||
0% {
|
||||
transform: translateY(-3rem);
|
||||
}
|
||||
100% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user