From 2a373615865e1675590e064f298642cc780b8628 Mon Sep 17 00:00:00 2001 From: Michel Date: Mon, 25 Jun 2018 14:19:45 +0200 Subject: [PATCH] Service worker --- README.md | 1 + resources/js/progressivewebapp.js | 4 ++-- resources/js/service-worker.js => service-worker.js | 0 src/Controllers/ProgressiveWebAppController.php | 12 ++++++------ 4 files changed, 9 insertions(+), 8 deletions(-) rename resources/js/service-worker.js => service-worker.js (100%) diff --git a/README.md b/README.md index 25b2f34..50e613c 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ composer require pixelspin/silverstripe-progressivewebapp ## Usage Install the module, run dev/build and fill in the settings in the siteconfig +Create a symlink at the root of you website to vendor/pixelspin/silverstripe-progressivewebapp/service-worker.js Place the link to the manifest file () in the head of your pages and add the color meta data as well () Include the js (Requirements::javascript('pixelspin/silverstripe-progressivewebapp:resources/js/progressivewebapp.js');) diff --git a/resources/js/progressivewebapp.js b/resources/js/progressivewebapp.js index b7dba5e..905cd15 100644 --- a/resources/js/progressivewebapp.js +++ b/resources/js/progressivewebapp.js @@ -1,3 +1,3 @@ if ('serviceWorker' in navigator) { - navigator.serviceWorker.register('resources/pixelspin/silverstripe-progressivewebapp/resources/js/service-worker.js'); -} \ No newline at end of file + navigator.serviceWorker.register('/service-worker.js'); +} diff --git a/resources/js/service-worker.js b/service-worker.js similarity index 100% rename from resources/js/service-worker.js rename to service-worker.js diff --git a/src/Controllers/ProgressiveWebAppController.php b/src/Controllers/ProgressiveWebAppController.php index 9cbb1bb..c1cb6f4 100644 --- a/src/Controllers/ProgressiveWebAppController.php +++ b/src/Controllers/ProgressiveWebAppController.php @@ -20,11 +20,11 @@ class ProgressiveWebAppController extends Controller { * @return mixed */ public function index($url) { - + $config = SiteConfig::current_site_config(); $manifestContent = []; - $manifestContent['start_url'] = './'; - + $manifestContent['start_url'] = '/'; + if($config->ManifestName){ $manifestContent['name'] = $config->ManifestName; } @@ -44,7 +44,7 @@ class ProgressiveWebAppController extends Controller { if($config->ManifestDisplay){ $manifestContent['display'] = $config->ManifestDisplay; } - + $logo = $config->ManifestLogo(); if($logo && $logo->exists()){ $mime = $logo->getMimeType(); @@ -91,10 +91,10 @@ class ProgressiveWebAppController extends Controller { ] ]; } - + $this->getResponse()->addHeader('Content-Type', 'application/manifest+json; charset="utf-8"'); return json_encode($manifestContent); - + } }