diff --git a/app/static/browserconfig.xml b/app/static/browserconfig.xml new file mode 100644 index 0000000..adc1b7a --- /dev/null +++ b/app/static/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #1c1c1c + + + diff --git a/app/static/icons/android-chrome-192x192.png b/app/static/icons/android-chrome-192x192.png new file mode 100644 index 0000000..3bfc79e Binary files /dev/null and b/app/static/icons/android-chrome-192x192.png differ diff --git a/app/static/icons/android-chrome-256x256.png b/app/static/icons/android-chrome-256x256.png new file mode 100644 index 0000000..b7edfff Binary files /dev/null and b/app/static/icons/android-chrome-256x256.png differ diff --git a/app/static/icons/apple-touch-icon.png b/app/static/icons/apple-touch-icon.png new file mode 100644 index 0000000..6fe2039 Binary files /dev/null and b/app/static/icons/apple-touch-icon.png differ diff --git a/app/static/icons/favicon-16x16.png b/app/static/icons/favicon-16x16.png new file mode 100644 index 0000000..93c2159 Binary files /dev/null and b/app/static/icons/favicon-16x16.png differ diff --git a/app/static/icons/favicon-32x32.png b/app/static/icons/favicon-32x32.png new file mode 100644 index 0000000..29c62be Binary files /dev/null and b/app/static/icons/favicon-32x32.png differ diff --git a/app/static/icons/favicon.ico b/app/static/icons/favicon.ico new file mode 100644 index 0000000..12646e5 Binary files /dev/null and b/app/static/icons/favicon.ico differ diff --git a/app/static/icons/mstile-150x150.png b/app/static/icons/mstile-150x150.png new file mode 100644 index 0000000..78c6e1e Binary files /dev/null and b/app/static/icons/mstile-150x150.png differ diff --git a/app/static/icons/safari-pinned-tab.svg b/app/static/icons/safari-pinned-tab.svg new file mode 100644 index 0000000..ccb92a2 --- /dev/null +++ b/app/static/icons/safari-pinned-tab.svg @@ -0,0 +1,32 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + diff --git a/app/static/js/pwa.js b/app/static/js/pwa.js new file mode 100644 index 0000000..54ad55d --- /dev/null +++ b/app/static/js/pwa.js @@ -0,0 +1,23 @@ +/** + * PWA (progressive web app) support + */ +function ready() { + // Make sure the browser supports service workers + if ("serviceWorker" in navigator) { + // Register a new service worker. + navigator.serviceWorker + .register("/static/js/sw.js") + .then((registration) => { + console.log( + "[PWA] Service worker registered with scope: ", + registration.scope + ); + }) + .catch((error) => { + console.error("[PWA] Service worker registration failed: ", error); + }); + } +} + +// Load on document load +document.addEventListener("DOMContentLoaded", ready); diff --git a/app/static/js/sw.js b/app/static/js/sw.js new file mode 100644 index 0000000..9a4fdab --- /dev/null +++ b/app/static/js/sw.js @@ -0,0 +1,13 @@ +// Service worker for PWA support + +// Install Hook +// Triggered when the PWA is installed by the browser. +self.addEventListener("install", () => { + console.log("[Service Worker] Installed"); +}); + +// Activate Hook +// Triggered when the PWA is activated by the browser. +self.addEventListener("activate", () => { + console.log("[Service Worker] Activated"); +}); diff --git a/app/static/manifest.json b/app/static/manifest.json new file mode 100644 index 0000000..3343e3c --- /dev/null +++ b/app/static/manifest.json @@ -0,0 +1,22 @@ +{ + "name": "Haldis", + "short_name": "Haldis", + "description": "Zeus WPI's drink ordering system", + "theme_color": "#ff6600", + "background_color": "#1c1c1c", + "display": "standalone", + "scope": "/", + "start_url": "/", + "icons": [ + { + "src": "/static/icons/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/static/icons/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/app/templates/layout.html b/app/templates/layout.html index 392963d..72b85b7 100644 --- a/app/templates/layout.html +++ b/app/templates/layout.html @@ -9,13 +9,15 @@ ('general_bp.about', 'About'), ('stats_blueprint.stats', 'Stats'), ] -%} + {% if current_user.is_admin() -%} {% set navbar = navbar + [('admin.index', 'Admin')] -%} {% endif -%} + {% set active_page = active_page|default('index') -%} {% block title %} -Haldis - {{ active_page|capitalize }} + Haldis - {{ active_page|capitalize }} {% if title %} - {{ title }} {% endif %} @@ -33,6 +35,26 @@ Haldis - {{ active_page|capitalize }} + +{% endblock %} + +{% block head %} + {{ super() }} + + + + + + + + + + + + + + + {% endblock %} {% block navbar %}