summaryrefslogtreecommitdiff
path: root/src/sw.js
blob: ce4948dd6e83bc71989361b31bcb658a990e88a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
const cacheName = 'cache-v1'
const resourceToPrecache = [
    '/',
    '/index.html',
    '/404.html',
    '/pages/info/about.html',
    '/pages/repo/github/repos.html',
    '/css/style.css',
    '/css/404.css',
    '/css/index.css',
    '/css/ghrepo.css',
    '/css/about.css',
    '/css/devicon.min.css',
    '/js/main.js',
    '/js/about.js',
    '/js/dynamicBlob.js',
    '/js/getrepo.js',
    '/js/hacktype.js',
    '/js/header.js',
    '/js/index.js',
    '/js/mouseblob.js',
    '/js/randomblob.js',
    '/js/rbg.js',
    '/js/tilt.conf.js',
    '/js/tilt.conf.noglare.js',
    '/js/tilt.js',
    '/js/2dtilt.js',
    '/fonts/Hacked-KerX.ttf',
    '/fonts/SmoothElegantRegular-ZLv3.ttf',
    '/fonts/LigaJetBrainsMonoNerdFont-Regular.ttf',
    '/fonts/Big500-8MLOM.ttf',
    '/fonts/Monoton.ttf',
    '/fonts/RockSalt-Regular.ttf',
    '/fonts/audiowide.ttf'
    // '/css/',
    // '/js/',
    // '/pages/',
    // '/fonts/'
]

caches.keys().then(function(names) {
    for (let name of resourceToPrecache)
        caches.delete(name);
});

self.addEventListener('install', event => {
    // console.log("Service Worker: Installed");
    event.waitUntil(
        caches.open(cacheName)
        .then(cache => {
            return cache.addAll(resourceToPrecache)
        })
    )
})

self.addEventListener('fetch', event => {
    event.respondWith(caches.match(event.request)
        .then(cachedResponse => {
            return cachedResponse || fetch(event.request);
        })
    );
});

self.addEventListener('activate', function(event) {
  event.waitUntil(
    caches.keys().then(function(cacheNames) {
      return Promise.all(
        cacheNames.filter(function(cacheName) {
          // Return true if you want to remove this cache,
          // return currentCacheName !== cacheName;
          return true
        }).map(function(cacheName) {
          return caches.delete(cacheName);
        })
      );
    })
  );
});