diff --git a/public/js/app.js b/public/js/app.js
index 977205674..ec571a5ef 100644
Binary files a/public/js/app.js and b/public/js/app.js differ
diff --git a/public/mix-manifest.json b/public/mix-manifest.json
index 4c37574d6..25f92b75a 100644
Binary files a/public/mix-manifest.json and b/public/mix-manifest.json differ
diff --git a/public/offline.html b/public/offline.html
new file mode 100644
index 000000000..b216ae2ea
--- /dev/null
+++ b/public/offline.html
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+ You are offline
+
+
+
+
+
+
+
+
+
You are offline
+
+
Click the button below to try reloading.
+
+
+
+
+
+
+
+
+
diff --git a/public/sw.js b/public/sw.js
new file mode 100644
index 000000000..b88112cf2
Binary files /dev/null and b/public/sw.js differ
diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js
index 2d1af4b41..8471cd6d4 100644
--- a/resources/assets/js/app.js
+++ b/resources/assets/js/app.js
@@ -34,6 +34,12 @@ window.App.boot = function() {
new Vue({ el: '#content'});
}
+window.addEventListener("load", () => {
+ if ("serviceWorker" in navigator) {
+ navigator.serviceWorker.register("/sw.js");
+ }
+});
+
window.App.util = {
compose: {
post: (function() {
@@ -230,4 +236,4 @@ window.App.util = {
.attr('width', 34).attr('height', 34);
})
-};
\ No newline at end of file
+};