Add PWA manifest and SW
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
[server]
|
||||
port = 8501
|
||||
address = "0.0.0.0"
|
||||
enableStaticServing = true
|
||||
|
||||
[browser]
|
||||
gatherUsageStats = false
|
||||
|
||||
[logger]
|
||||
level = "info"
|
||||
hideWelcomeMessage = true
|
||||
|
||||
[client]
|
||||
toolbarMode = "viewer"
|
||||
|
||||
21
app/components/pwa.py
Normal file
21
app/components/pwa.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import streamlit as st
|
||||
|
||||
init = st.components.v2.component(
|
||||
name="pwa",
|
||||
isolate_styles=False,
|
||||
js = """
|
||||
export default function() {
|
||||
|
||||
// Manifest
|
||||
const link = document.createElement("link");
|
||||
link.rel = "manifest";
|
||||
link.href = "./app/static/manifest.json";
|
||||
document.head.appendChild(link);
|
||||
|
||||
// Service Worker
|
||||
navigator.serviceWorker.register('./app/static/service-worker.js')
|
||||
.then(reg => console.log('SW registered', reg))
|
||||
.catch(err => console.log('SW registration failed', err));
|
||||
}
|
||||
""",
|
||||
)
|
||||
8
app/static/manifest.json
Normal file
8
app/static/manifest.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"short_name": "Daily Counter",
|
||||
"name": "Daily Counter",
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "white",
|
||||
"background_color": "white"
|
||||
}
|
||||
7
app/static/service-worker.js
Normal file
7
app/static/service-worker.js
Normal file
@@ -0,0 +1,7 @@
|
||||
self.addEventListener('fetch', event => {
|
||||
event.respondWith(
|
||||
caches.match(event.request).then(response => {
|
||||
return response || fetch(event.request);
|
||||
})
|
||||
);
|
||||
});
|
||||
@@ -2,6 +2,9 @@ import streamlit as st
|
||||
|
||||
from logger import init_logger
|
||||
from styles import init_styles
|
||||
from components import pwa
|
||||
|
||||
pwa.init()
|
||||
|
||||
init_logger()
|
||||
init_styles()
|
||||
|
||||
Reference in New Issue
Block a user