Procházet zdrojové kódy

Create files for PWA.

Lee Morgan před 1 rokem
rodič
revize
f21fcfe6e6
5 změnil soubory, kde provedl 31 přidání a 3 odebrání
  1. 2 0
      routes/other.js
  2. 8 0
      views/index.js
  3. binární
      views/logo.png
  4. 3 3
      views/manifest.json
  5. 18 0
      views/serviceWorker.js

+ 2 - 0
routes/other.js

@@ -3,5 +3,7 @@ export default (app)=>{
     app.get("/index.js", (req, res)=>res.sendFile(`${global.cwd}/views/build/index.js`));
     app.get("/index.css", (req, res)=>res.sendFile(`${global.cwd}/views/build/index.css`));
     app.get("/logo.svg", (req, res)=>res.sendFile(`${global.cwd}/views/logo.svg`));
+    app.get("/logo.png", (req, res)=>res.sendFile(`${global.cwd}/views/logo.png`));
     app.get("/manifest.json", (req, res)=>res.sendFile(`${global.cwd}/views/manifest.json`));
+    app.get("/serviceWorker.js", (req, res)=>res.sendFile(`${global.cwd}/views/serviceWorker.js`));
 }

+ 8 - 0
views/index.js

@@ -36,3 +36,11 @@ window.changePage = (page, data)=>{
         case "workoutMenu": workoutMenuPage.render(data); break;
     }
 }
+
+if("serviceWorker" in navigator){
+    window.addEventListener("load", ()=>{
+        navigator.serviceWorker.register("/serviceWorker.js")
+            .then(reg => console.log("Service worker registered:", reg))
+            .catch(err => console.error("Service worker registration failed:", err));
+    });
+}

binární
views/logo.png


+ 3 - 3
views/manifest.json

@@ -6,8 +6,8 @@
     "background_color": "#1A1A1A",
     "theme_color": "#F46036",
     "icons": [{
-        "src": "/logo.svg",
-        "sizes": "90x90",
-        "type": "image/svg"
+        "src": "/logo.png",
+        "sizes": "512x512",
+        "type": "image/png"
     }]
 }

+ 18 - 0
views/serviceWorker.js

@@ -0,0 +1,18 @@
+const CACHE_NAME = "Workout-Tracker";
+const urlsToCache = ["/"];
+
+self.addEventListener("install", (event)=>{
+    event.waitUntil(
+        caches
+            .open(CACHE_NAME)
+            .then(cache => cache.addAll(urlsToCache))
+    );
+});
+
+self.addEventListener("fetch", (event)=>{
+    event.respondWith(
+        caches.match(event.request).then(response => {
+            return response || fetch(event.request);
+        })
+    );
+});