Skip to content

Commit fde3be7

Browse files
committed
Merge branch 'pwa'
2 parents 3f2d445 + 4c56826 commit fde3be7

File tree

9 files changed

+591
-199
lines changed

9 files changed

+591
-199
lines changed

package-lock.json

Lines changed: 477 additions & 155 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"bootswatch": "^4.1.3",
2828
"perfect-scrollbar": "^1.4.0",
2929
"simple-line-icons": "^2.4.1",
30+
"sw-precache-webpack-plugin": "^0.11.5",
3031
"sweetalert": "^2.1.2",
3132
"vue-clip": "^1.0.0",
3233
"vue-content-placeholders": "^0.2.1",

public/icon/manifest.json

Lines changed: 0 additions & 41 deletions
This file was deleted.

public/manifest.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"short_name": "Laravel Scaffold",
3+
"name": "Laravel Scaffold",
4+
"theme_color": "#fff",
5+
"background_color": "#fff",
6+
"display": "standalone",
7+
"icons": [
8+
{
9+
"src": "icon/android-icon-48x48.png",
10+
"type": "image/png",
11+
"sizes": "48x48"
12+
},
13+
{
14+
"src": "icon/android-icon-72x72.png",
15+
"type": "image/png",
16+
"sizes": "72x72"
17+
},
18+
{
19+
"src": "icon/android-icon-96x96.png",
20+
"type": "image/png",
21+
"sizes": "96x96"
22+
},
23+
{
24+
"src": "icon/android-icon-144x144.png",
25+
"type": "image/png",
26+
"sizes": "144x144"
27+
},
28+
{
29+
"src": "icon/android-icon-192x192.png",
30+
"type": "image/png",
31+
"sizes": "192x192"
32+
},
33+
{
34+
"src": "icon/apple-icon-120x120.png",
35+
"type": "image/png",
36+
"sizes": "120x120"
37+
},
38+
{
39+
"src": "icon/ms-icon-310x310.png",
40+
"type": "image/png",
41+
"sizes": "310x310"
42+
}
43+
],
44+
"start_url": "/",
45+
"orientation": "portrait"
46+
}

public/service-worker.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

resources/views/layouts/app.blade.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<link rel="icon" type="image/png" sizes="32x32" href="/icon/favicon-32x32.png">
1818
<link rel="icon" type="image/png" sizes="96x96" href="/icon/favicon-96x96.png">
1919
<link rel="icon" type="image/png" sizes="16x16" href="/icon/favicon-16x16.png">
20-
<link rel="manifest" href="/icon/manifest.json">
20+
<link rel="manifest" href="/manifest.json">
2121
<meta name="msapplication-TileColor" content="#ffffff">
2222
<meta name="msapplication-TileImage" content="/icon/ms-icon-144x144.png">
2323
<meta name="theme-color" content="#ffffff">
@@ -37,6 +37,20 @@
3737
]) !!};
3838
</script>
3939

40+
<script>
41+
if ('serviceWorker' in navigator ) {
42+
window.addEventListener('load', function() {
43+
navigator.serviceWorker.register('/service-worker.js').then(function(registration) {
44+
// Registration was successful
45+
console.log('ServiceWorker registration successful with scope: ', registration.scope);
46+
}, function(err) {
47+
// registration failed :(
48+
console.log('ServiceWorker registration failed: ', err);
49+
});
50+
});
51+
}
52+
</script>
53+
4054
<!-- Fonts -->
4155
<link rel="dns-prefetch" href="https://fonts.gstatic.com">
4256
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">

resources/views/layouts/auth.blade.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<link rel="icon" type="image/png" sizes="32x32" href="/icon/favicon-32x32.png">
1818
<link rel="icon" type="image/png" sizes="96x96" href="/icon/favicon-96x96.png">
1919
<link rel="icon" type="image/png" sizes="16x16" href="/icon/favicon-16x16.png">
20-
<link rel="manifest" href="/icon/manifest.json">
20+
<link rel="manifest" href="/manifest.json">
2121
<meta name="msapplication-TileColor" content="#ffffff">
2222
<meta name="msapplication-TileImage" content="/icon/ms-icon-144x144.png">
2323
<meta name="theme-color" content="#ffffff">
@@ -30,6 +30,20 @@
3030
<!-- Scripts -->
3131
<script src="{{ asset('js/app.js') }}" defer></script>
3232

33+
<script>
34+
if ('serviceWorker' in navigator ) {
35+
window.addEventListener('load', function() {
36+
navigator.serviceWorker.register('/service-worker.js').then(function(registration) {
37+
// Registration was successful
38+
console.log('ServiceWorker registration successful with scope: ', registration.scope);
39+
}, function(err) {
40+
// registration failed :(
41+
console.log('ServiceWorker registration failed: ', err);
42+
});
43+
});
44+
}
45+
</script>
46+
3347
<!-- Fonts -->
3448
<link rel="dns-prefetch" href="https://fonts.gstatic.com">
3549
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">

resources/views/welcome.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<link rel="icon" type="image/png" sizes="32x32" href="/icon/favicon-32x32.png">
1818
<link rel="icon" type="image/png" sizes="96x96" href="/icon/favicon-96x96.png">
1919
<link rel="icon" type="image/png" sizes="16x16" href="/icon/favicon-16x16.png">
20-
<link rel="manifest" href="/icon/manifest.json">
20+
<link rel="manifest" href="/manifest.json">
2121
<meta name="msapplication-TileColor" content="#ffffff">
2222
<meta name="msapplication-TileImage" content="/icon/ms-icon-144x144.png">
2323
<meta name="theme-color" content="#ffffff">

webpack.mix.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,38 @@ const mix = require('laravel-mix');
1414
mix.js('resources/js/app.js', 'public/js')
1515
.sass('resources/sass/app.scss', 'public/css')
1616
.browserSync('laravel-scaffold.test');
17+
18+
19+
var SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin');
20+
mix.webpackConfig({
21+
plugins: [
22+
new SWPrecacheWebpackPlugin({
23+
cacheId: 'pwa',
24+
filename: 'service-worker.js',
25+
staticFileGlobs: ['public/**/*.{css,eot,svg,ttf,woff,woff2,js,html}'],
26+
minify: true,
27+
stripPrefix: 'public/',
28+
handleFetch: true,
29+
dynamicUrlToDependencies: { //you should add the path to your blade files here so they can be cached
30+
//and have full support for offline first (example below)
31+
//'/': ['resources/views/welcome.blade.php'],
32+
//'/': ['resources/views/layouts/auth.blade.php'],
33+
//'/': ['resources/views/layouts/app.blade.php'],
34+
// '/posts': ['resources/views/posts.blade.php']
35+
},
36+
staticFileGlobsIgnorePatterns: [/\.map$/, /mix-manifest\.json$/, /manifest\.json$/, /service-worker\.js$/],
37+
navigateFallback: '/',
38+
runtimeCaching: [
39+
{
40+
urlPattern: /^https:\/\/fonts\.googleapis\.com\//,
41+
handler: 'cacheFirst'
42+
},
43+
{
44+
urlPattern: /^https:\/\/www\.thecocktaildb\.com\/images\/media\/drink\/(\w+)\.jpg/,
45+
handler: 'cacheFirst'
46+
}
47+
],
48+
// importScripts: ['./js/push_message.js']
49+
})
50+
]
51+
});

0 commit comments

Comments
 (0)