summaryrefslogtreecommitdiffstats
path: root/templates/pwa/serviceworker_js.tmpl
blob: edb8ba6e1d107e90f0e57a16edcdb5675d2c282a (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
var STATIC_CACHE = 'static-cache-v1';
var urlsToCache = [
  // js
  '{{StaticUrlPrefix}}/fomantic/semantic.min.js?v={{MD5 AppVer}}',
  '{{StaticUrlPrefix}}/js/clipboard.js',
  '{{StaticUrlPrefix}}/js/gitgraph.js',
  '{{StaticUrlPrefix}}/js/highlight.js',
  '{{StaticUrlPrefix}}/js/index.js?v={{MD5 AppVer}}',
  '{{StaticUrlPrefix}}/js/jquery.js?v={{MD5 AppVer}}',
  '{{StaticUrlPrefix}}/js/swagger.js?v={{MD5 AppVer}}',
  '{{StaticUrlPrefix}}/js/dropzone.js',
  '{{StaticUrlPrefix}}/js/datetimepicker.js',
  '{{StaticUrlPrefix}}/vendor/plugins/codemirror/addon/mode/loadmode.js',
  '{{StaticUrlPrefix}}/vendor/plugins/codemirror/mode/meta.js',
  '{{StaticUrlPrefix}}/vendor/plugins/jquery.minicolors/jquery.minicolors.min.js',
  '{{StaticUrlPrefix}}/vendor/plugins/simplemde/simplemde.min.js',

  // css
  '{{StaticUrlPrefix}}/css/index.css?v={{MD5 AppVer}}',
  '{{StaticUrlPrefix}}/css/swagger.css?v={{MD5 AppVer}}',
  '{{StaticUrlPrefix}}/css/dropzone.css',
  '{{StaticUrlPrefix}}/css/datetimepicker.css',
  '{{StaticUrlPrefix}}/fomantic/semantic.min.css?v={{MD5 AppVer}}',
  '{{StaticUrlPrefix}}/vendor/assets/font-awesome/css/font-awesome.min.css',
  '{{StaticUrlPrefix}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css',
  '{{StaticUrlPrefix}}/vendor/plugins/simplemde/simplemde.min.css',
  '{{StaticUrlPrefix}}/vendor/plugins/tribute/tribute.css',
{{if .IsSigned }}
	{{ if ne .SignedUser.Theme "gitea" }}
		'{{StaticUrlPrefix}}/css/theme-{{.SignedUser.Theme}}.css?v={{MD5 AppVer}}',
	{{end}}
{{else if ne DefaultTheme "gitea"}}
	'{{StaticUrlPrefix}}/css/theme-{{DefaultTheme}}.css?v={{MD5 AppVer}}',
{{end}}

  // img
  '{{StaticUrlPrefix}}/img/gitea-sm.png',
  '{{StaticUrlPrefix}}/img/gitea-lg.png',

  // svg
  '{{StaticUrlPrefix}}/img/svg/icons.svg',

  // fonts
  '{{StaticUrlPrefix}}/fomantic/themes/default/assets/fonts/icons.woff2',
  '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-regular.woff2',
  '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-italic.woff2',
  '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-700.woff2',
  '{{StaticUrlPrefix}}/vendor/assets/roboto-fonts/roboto-v20-latin-ext_cyrillic-ext_latin_greek_vietnamese_cyrillic_greek-ext-700italic.woff2'
];

self.addEventListener('install', function (event) {
  // Perform install steps
  event.waitUntil(
    caches.open(STATIC_CACHE)
      .then(function (cache) {
        return cache.addAll(urlsToCache);
      })
  );
});

self.addEventListener('fetch', function (event) {
  event.respondWith(
    caches.match(event.request)
      .then(function (response) {
        // Cache hit - return response
        if (response) {
          return response;
        }
        return fetch(event.request);
      }
      )
  );
});