diff --git a/public/favicon.png b/public/favicon.png deleted file mode 100644 index 7e6f5eb..0000000 Binary files a/public/favicon.png and /dev/null differ diff --git a/public/icon/android-icon-192x192.png b/public/icon/android-icon-192x192.png new file mode 100644 index 0000000..9af24eb Binary files /dev/null and b/public/icon/android-icon-192x192.png differ diff --git a/public/icon/apple-icon-114x114.png b/public/icon/apple-icon-114x114.png new file mode 100644 index 0000000..c5b9eec Binary files /dev/null and b/public/icon/apple-icon-114x114.png differ diff --git a/public/icon/apple-icon-120x120.png b/public/icon/apple-icon-120x120.png new file mode 100644 index 0000000..0c8b385 Binary files /dev/null and b/public/icon/apple-icon-120x120.png differ diff --git a/public/icon/apple-icon-144x144.png b/public/icon/apple-icon-144x144.png new file mode 100644 index 0000000..3cd0bd0 Binary files /dev/null and b/public/icon/apple-icon-144x144.png differ diff --git a/public/icon/apple-icon-152x152.png b/public/icon/apple-icon-152x152.png new file mode 100644 index 0000000..8101d8f Binary files /dev/null and b/public/icon/apple-icon-152x152.png differ diff --git a/public/icon/apple-icon-180x180.png b/public/icon/apple-icon-180x180.png new file mode 100644 index 0000000..b26358f Binary files /dev/null and b/public/icon/apple-icon-180x180.png differ diff --git a/public/icon/apple-icon-57x57.png b/public/icon/apple-icon-57x57.png new file mode 100644 index 0000000..c5a1b44 Binary files /dev/null and b/public/icon/apple-icon-57x57.png differ diff --git a/public/icon/apple-icon-60x60.png b/public/icon/apple-icon-60x60.png new file mode 100644 index 0000000..4135fc9 Binary files /dev/null and b/public/icon/apple-icon-60x60.png differ diff --git a/public/icon/apple-icon-72x72.png b/public/icon/apple-icon-72x72.png new file mode 100644 index 0000000..6f560cc Binary files /dev/null and b/public/icon/apple-icon-72x72.png differ diff --git a/public/icon/apple-icon-76x76.png b/public/icon/apple-icon-76x76.png new file mode 100644 index 0000000..750efc7 Binary files /dev/null and b/public/icon/apple-icon-76x76.png differ diff --git a/public/icon/favicon-16x16.png b/public/icon/favicon-16x16.png new file mode 100644 index 0000000..c1a25aa Binary files /dev/null and b/public/icon/favicon-16x16.png differ diff --git a/public/icon/favicon-32x32.png b/public/icon/favicon-32x32.png new file mode 100644 index 0000000..f77b886 Binary files /dev/null and b/public/icon/favicon-32x32.png differ diff --git a/public/icon/favicon-96x96.png b/public/icon/favicon-96x96.png new file mode 100644 index 0000000..1b5837c Binary files /dev/null and b/public/icon/favicon-96x96.png differ diff --git a/public/icon/favicon.png b/public/icon/favicon.png new file mode 100644 index 0000000..ef4cfd7 Binary files /dev/null and b/public/icon/favicon.png differ diff --git a/public/index.html b/public/index.html index 5da7ed3..0212fab 100644 --- a/public/index.html +++ b/public/index.html @@ -1,18 +1,34 @@ - - - + + + - Svelte app + Triangles.fun - - - + + + + + + + - - + + - - + diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..00db8bc --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,86 @@ +{ + "name": "Triangles.fun", + "short_name": "triangles", + "lang": "en", + "description": "Eliminate all the circles in the triangle by jumping them over", + "theme_color": "#bf616a", + "background_color": "#eceff4", + "display": "standalone", + "orientation": "portrait", + "scope": "/", + "start_url": "/", + "manifest_version": 2, + "version": "0.0.1", + "icons": [ + { + "src": "/icon/favicon.png", + "type": "image/png", + "sizes": "512x512" + }, + { + "src": "/icon/android-icon-192x192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "/icon/apple-icon-180x180.png", + "type": "image/png", + "sizes": "180x180" + }, + { + "src": "/icon/apple-icon-152x152.png", + "type": "image/png", + "sizes": "152x152" + }, + { + "src": "/icon/apple-icon-144x144.png", + "type": "image/png", + "sizes": "144x144" + }, + { + "src": "/icon/apple-icon-120x120.png", + "type": "image/png", + "sizes": "120x120" + }, + { + "src": "/icon/apple-icon-114x114.png", + "type": "image/png", + "sizes": "114x114" + }, + { + "src": "/icon/favicon-96x96.png", + "type": "image/png", + "sizes": "96x96" + }, + { + "src": "/icon/apple-icon-76x76.png", + "type": "image/png", + "sizes": "76x76" + }, + { + "src": "/icon/apple-icon-72x72.png", + "type": "image/png", + "sizes": "72x72" + }, + { + "src": "/icon/apple-icon-60x60.png", + "type": "image/png", + "sizes": "60x60" + }, + { + "src": "/icon/apple-icon-57x57.png", + "type": "image/png", + "sizes": "57x57" + }, + { + "src": "/icon/favicon-32x32.png", + "type": "image/png", + "sizes": "32x32" + }, + { + "src": "/icon/favicon-16x16.png", + "type": "image/png", + "sizes": "16x16" + } + ] +} diff --git a/public/service-worker.js b/public/service-worker.js new file mode 100644 index 0000000..349e356 --- /dev/null +++ b/public/service-worker.js @@ -0,0 +1,25 @@ +const cacheName = "stale-with-revalidate" + +// import workbox +importScripts( + "https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js" +) +const { routing, strategies } = workbox + +// implements staleWhileRevalidate to all routes +routing.registerRoute( + () => true, + new strategies.StaleWhileRevalidate({ cacheName }) +) + +// removes all caches not named +const invalidateOldCache = async () => { + const keys = await caches.keys() + const isOldCache = key => key !== cacheName + const oldKeys = keys.filter(isOldCache) + + return Promise.all(oldKeys.map(key => caches.delete(key))) +} + +// runs invalidateOldCache on activation +self.addEventListener("activate", e => e.waitUntil(invalidateOldCache())) diff --git a/scripts/setupTypeScript.js b/scripts/setupTypeScript.js deleted file mode 100644 index d471095..0000000 --- a/scripts/setupTypeScript.js +++ /dev/null @@ -1,117 +0,0 @@ -// @ts-check - -/** This script modifies the project to support TS code in .svelte files like: - - - - As well as validating the code for CI. - */ - -/** To work on this script: - rm -rf test-template template && git clone sveltejs/template test-template && node scripts/setupTypeScript.js test-template -*/ - -const fs = require("fs") -const path = require("path") -const { argv } = require("process") - -const projectRoot = argv[2] || path.join(__dirname, "..") - -// Add deps to pkg.json -const packageJSON = JSON.parse(fs.readFileSync(path.join(projectRoot, "package.json"), "utf8")) -packageJSON.devDependencies = Object.assign(packageJSON.devDependencies, { - "svelte-check": "^1.0.0", - "svelte-preprocess": "^4.0.0", - "@rollup/plugin-typescript": "^6.0.0", - "typescript": "^3.9.3", - "tslib": "^2.0.0", - "@tsconfig/svelte": "^1.0.0" -}) - -// Add script for checking -packageJSON.scripts = Object.assign(packageJSON.scripts, { - "validate": "svelte-check" -}) - -// Write the package JSON -fs.writeFileSync(path.join(projectRoot, "package.json"), JSON.stringify(packageJSON, null, " ")) - -// mv src/main.js to main.ts - note, we need to edit rollup.config.js for this too -const beforeMainJSPath = path.join(projectRoot, "src", "main.js") -const afterMainTSPath = path.join(projectRoot, "src", "main.ts") -fs.renameSync(beforeMainJSPath, afterMainTSPath) - -// Switch the app.svelte file to use TS -const appSveltePath = path.join(projectRoot, "src", "App.svelte") -let appFile = fs.readFileSync(appSveltePath, "utf8") -appFile = appFile.replace("