From 8ffd06860c14dac035f8b9d65f88b4bfe95de93a Mon Sep 17 00:00:00 2001 From: Viacheslav Bondar Date: Wed, 19 Oct 2022 09:30:06 +0300 Subject: [PATCH 1/3] feat: PWA Implementation --- .gitignore | 1 + web/app/public/android-chrome-192x192.png | Bin 0 -> 8659 bytes web/app/public/android-chrome-512x512.png | Bin 0 -> 26692 bytes web/app/public/apple-touch-icon.png | Bin 0 -> 7677 bytes web/app/public/index.html | 9 +++- web/app/public/manifest.json | 24 +++++++++ web/app/public/safari-pinned-tab.svg | 62 ++++++++++++++++++++++ web/static/android-chrome-192x192.png | Bin 0 -> 8659 bytes web/static/android-chrome-512x512.png | Bin 0 -> 26692 bytes web/static/apple-touch-icon.png | Bin 0 -> 7677 bytes web/static/index.html | 2 +- web/static/manifest.json | 24 +++++++++ web/static/safari-pinned-tab.svg | 62 ++++++++++++++++++++++ 13 files changed, 182 insertions(+), 2 deletions(-) create mode 100644 web/app/public/android-chrome-192x192.png create mode 100644 web/app/public/android-chrome-512x512.png create mode 100644 web/app/public/apple-touch-icon.png create mode 100644 web/app/public/manifest.json create mode 100644 web/app/public/safari-pinned-tab.svg create mode 100644 web/static/android-chrome-192x192.png create mode 100644 web/static/android-chrome-512x512.png create mode 100644 web/static/apple-touch-icon.png create mode 100644 web/static/manifest.json create mode 100644 web/static/safari-pinned-tab.svg diff --git a/.gitignore b/.gitignore index 7e342896a..5678ebc96 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea .vscode +.DS_Store *.db *.db-shm *.db-wal diff --git a/web/app/public/android-chrome-192x192.png b/web/app/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..272a45b8587b1c491f9a8a78b1bba30519d07df2 GIT binary patch literal 8659 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 IPvNisAHWa`tN;K2 literal 0 HcmV?d00001 diff --git a/web/app/public/apple-touch-icon.png b/web/app/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..63263f49b27e024abb9c03a00d49136770f8a0d2 GIT binary patch literal 7677 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 .Title }} + + + - + + + + + diff --git a/web/app/public/manifest.json b/web/app/public/manifest.json new file mode 100644 index 000000000..4c9b9e3b7 --- /dev/null +++ b/web/app/public/manifest.json @@ -0,0 +1,24 @@ +{ + "id": "gatus", + "name": "Gatus", + "short_name": "Gatus", + "description": "Gatus is an advanced automated status page that lets you monitor your applications and configure alerts to notify you if there's an issue", + "lang": "en", + "scope": "/", + "start_url": "/", + "theme_color": "#f7f9fb", + "background_color": "#f7f9fb", + "display": "standalone", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/web/app/public/safari-pinned-tab.svg b/web/app/public/safari-pinned-tab.svg new file mode 100644 index 000000000..55e0d8b8e --- /dev/null +++ b/web/app/public/safari-pinned-tab.svg @@ -0,0 +1,62 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + diff --git a/web/static/android-chrome-192x192.png b/web/static/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..272a45b8587b1c491f9a8a78b1bba30519d07df2 GIT binary patch literal 8659 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 IPvNisAHWa`tN;K2 literal 0 HcmV?d00001 diff --git a/web/static/apple-touch-icon.png b/web/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..63263f49b27e024abb9c03a00d49136770f8a0d2 GIT binary patch literal 7677 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 .Title }}
\ No newline at end of file +{{ .Title }}
\ No newline at end of file diff --git a/web/static/manifest.json b/web/static/manifest.json new file mode 100644 index 000000000..4c9b9e3b7 --- /dev/null +++ b/web/static/manifest.json @@ -0,0 +1,24 @@ +{ + "id": "gatus", + "name": "Gatus", + "short_name": "Gatus", + "description": "Gatus is an advanced automated status page that lets you monitor your applications and configure alerts to notify you if there's an issue", + "lang": "en", + "scope": "/", + "start_url": "/", + "theme_color": "#f7f9fb", + "background_color": "#f7f9fb", + "display": "standalone", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/web/static/safari-pinned-tab.svg b/web/static/safari-pinned-tab.svg new file mode 100644 index 000000000..55e0d8b8e --- /dev/null +++ b/web/static/safari-pinned-tab.svg @@ -0,0 +1,62 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + From 1e148ec9cc5e36978249f495f64be7b93ae3d4d4 Mon Sep 17 00:00:00 2001 From: Viacheslav Bondar Date: Wed, 30 Nov 2022 19:24:47 +0200 Subject: [PATCH 2/3] feat: PWA Implementation. fix comments --- web/app/public/index.html | 1 - ...id-chrome-192x192.png => logo-192x192.png} | Bin ...id-chrome-512x512.png => logo-512x512.png} | Bin web/app/public/manifest.json | 4 +- web/app/public/safari-pinned-tab.svg | 62 ------------------ web/static/index.html | 2 +- ...id-chrome-192x192.png => logo-192x192.png} | Bin ...id-chrome-512x512.png => logo-512x512.png} | Bin web/static/manifest.json | 4 +- web/static/safari-pinned-tab.svg | 62 ------------------ 10 files changed, 5 insertions(+), 130 deletions(-) rename web/app/public/{android-chrome-192x192.png => logo-192x192.png} (100%) rename web/app/public/{android-chrome-512x512.png => logo-512x512.png} (100%) delete mode 100644 web/app/public/safari-pinned-tab.svg rename web/static/{android-chrome-192x192.png => logo-192x192.png} (100%) rename web/static/{android-chrome-512x512.png => logo-512x512.png} (100%) delete mode 100644 web/static/safari-pinned-tab.svg diff --git a/web/app/public/index.html b/web/app/public/index.html index d0aa5233f..de48bf825 100644 --- a/web/app/public/index.html +++ b/web/app/public/index.html @@ -12,7 +12,6 @@ - diff --git a/web/app/public/android-chrome-192x192.png b/web/app/public/logo-192x192.png similarity index 100% rename from web/app/public/android-chrome-192x192.png rename to web/app/public/logo-192x192.png diff --git a/web/app/public/android-chrome-512x512.png b/web/app/public/logo-512x512.png similarity index 100% rename from web/app/public/android-chrome-512x512.png rename to web/app/public/logo-512x512.png diff --git a/web/app/public/manifest.json b/web/app/public/manifest.json index 4c9b9e3b7..d03531206 100644 --- a/web/app/public/manifest.json +++ b/web/app/public/manifest.json @@ -11,12 +11,12 @@ "display": "standalone", "icons": [ { - "src": "/android-chrome-192x192.png", + "src": "/logo-192x192.png", "sizes": "192x192", "type": "image/png" }, { - "src": "/android-chrome-512x512.png", + "src": "/logo-512x512.png", "sizes": "512x512", "type": "image/png" } diff --git a/web/app/public/safari-pinned-tab.svg b/web/app/public/safari-pinned-tab.svg deleted file mode 100644 index 55e0d8b8e..000000000 --- a/web/app/public/safari-pinned-tab.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - -Created by potrace 1.14, written by Peter Selinger 2001-2017 - - - - - - - diff --git a/web/static/index.html b/web/static/index.html index f9c70e0f4..720b8788a 100644 --- a/web/static/index.html +++ b/web/static/index.html @@ -1 +1 @@ -{{ .Title }}
\ No newline at end of file +{{ .Title }}
\ No newline at end of file diff --git a/web/static/android-chrome-192x192.png b/web/static/logo-192x192.png similarity index 100% rename from web/static/android-chrome-192x192.png rename to web/static/logo-192x192.png diff --git a/web/static/android-chrome-512x512.png b/web/static/logo-512x512.png similarity index 100% rename from web/static/android-chrome-512x512.png rename to web/static/logo-512x512.png diff --git a/web/static/manifest.json b/web/static/manifest.json index 4c9b9e3b7..d03531206 100644 --- a/web/static/manifest.json +++ b/web/static/manifest.json @@ -11,12 +11,12 @@ "display": "standalone", "icons": [ { - "src": "/android-chrome-192x192.png", + "src": "/logo-192x192.png", "sizes": "192x192", "type": "image/png" }, { - "src": "/android-chrome-512x512.png", + "src": "/logo-512x512.png", "sizes": "512x512", "type": "image/png" } diff --git a/web/static/safari-pinned-tab.svg b/web/static/safari-pinned-tab.svg deleted file mode 100644 index 55e0d8b8e..000000000 --- a/web/static/safari-pinned-tab.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - -Created by potrace 1.14, written by Peter Selinger 2001-2017 - - - - - - - From 75fecc8ddcdd09e356b389d544f442dfa6ad0873 Mon Sep 17 00:00:00 2001 From: Viacheslav Bondar Date: Sat, 3 Dec 2022 12:54:53 +0200 Subject: [PATCH 3/3] feat: PWA Implementation. fix comments --- web/app/public/index.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/web/app/public/index.html b/web/app/public/index.html index de48bf825..5fbd4cd1f 100644 --- a/web/app/public/index.html +++ b/web/app/public/index.html @@ -6,18 +6,18 @@ window.config = {logo: "{{ .Logo }}", header: "{{ .Header }}", link: "{{ .Link }}", buttons: []};{{- range .Buttons}}window.config.buttons.push({name:"{{ .Name }}",link:"{{ .Link }}"});{{end}} {{ .Title }} - - - + + + - + - - - - + + + +