From 3a23e99c269373bbbaae95cdca65d7a0dbdddc10 Mon Sep 17 00:00:00 2001 From: kunish Date: Sun, 17 Sep 2023 13:10:35 +0800 Subject: [PATCH] feat(pwa): add pwa shortcut icon, closes #201 --- index.html | 4 +- package.json | 2 + pnpm-lock.yaml | 346 ++++++++++++++++++++++++++++ public/apple-touch-icon-180x180.png | Bin 0 -> 1188 bytes public/favicon.ico | Bin 0 -> 900 bytes public/favicon.svg | 270 ++++++++++++++++++++++ public/maskable-icon-512x512.png | Bin 0 -> 3523 bytes public/pwa-192x192.png | Bin 0 -> 1620 bytes public/pwa-512x512.png | Bin 0 -> 4307 bytes public/pwa-64x64.png | Bin 0 -> 622 bytes pwa-assets.config.ts | 9 + src/assets/favicon.svg | 51 ---- vite.config.ts | 27 ++- 13 files changed, 656 insertions(+), 53 deletions(-) create mode 100644 public/apple-touch-icon-180x180.png create mode 100644 public/favicon.ico create mode 100644 public/favicon.svg create mode 100644 public/maskable-icon-512x512.png create mode 100644 public/pwa-192x192.png create mode 100644 public/pwa-512x512.png create mode 100644 public/pwa-64x64.png create mode 100644 pwa-assets.config.ts delete mode 100644 src/assets/favicon.svg diff --git a/index.html b/index.html index faf3eb1..1a73a37 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,9 @@ content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" /> - + + + metacubexd diff --git a/package.json b/package.json index 96120e6..9c9f0c6 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "format": "prettier -w .", "lint": "eslint --fix .", "prepare": "husky install", + "pwa-assets-generator": "pwa-assets-generator", "serve": "vite preview" }, "dependencies": { @@ -38,6 +39,7 @@ "@types/uuid": "^9.0.4", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", + "@vite-pwa/assets-generator": "^0.0.10", "apexcharts": "^3.42.0", "autoprefixer": "^10.4.15", "byte-size": "^8.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8fbb240..4398c3c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -80,6 +80,9 @@ dependencies: '@typescript-eslint/parser': specifier: ^6.7.0 version: 6.7.0(eslint@8.49.0)(typescript@5.2.2) + '@vite-pwa/assets-generator': + specifier: ^0.0.10 + version: 0.0.10 apexcharts: specifier: ^3.42.0 version: 3.42.0 @@ -191,6 +194,10 @@ packages: '@jridgewell/trace-mapping': 0.3.19 dev: false + /@antfu/utils@0.7.6: + resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} + dev: false + /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} @@ -1411,6 +1418,10 @@ packages: to-fast-properties: 2.0.0 dev: false + /@canvas/image-data@1.0.0: + resolution: {integrity: sha512-BxOqI5LgsIQP1odU5KMwV9yoijleOPzHL18/YvNqF9KFSGF2K/DLlYAbDQsWqd/1nbaFuSkYD/191dpMtNh4vw==} + dev: false + /@commitlint/cli@17.7.1: resolution: {integrity: sha512-BCm/AT06SNCQtvFv921iNhudOHuY16LswT0R3OeolVGLk8oP+Rk9TfQfgjH7QPMjhvp76bNqGFEcpKojxUNW1g==} engines: {node: '>=v14'} @@ -2427,6 +2438,19 @@ packages: eslint-visitor-keys: 3.4.3 dev: false + /@vite-pwa/assets-generator@0.0.10: + resolution: {integrity: sha512-Ya3iE0EWIV+0g0XFXIjqSU8ZnhpJeLi9/xx+VfbSyXThKjk168GUYqd1z+SOuRO03bSRFDeK8wGixtwWuedjqg==} + engines: {node: '>=16.14.0'} + hasBin: true + dependencies: + cac: 6.7.14 + colorette: 2.0.20 + consola: 3.2.3 + sharp: 0.32.5 + sharp-ico: 0.1.5 + unconfig: 0.3.10 + dev: false + /@yr/monotone-cubic-spline@1.0.3: resolution: {integrity: sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==} dev: false @@ -2611,6 +2635,10 @@ packages: engines: {node: '>= 0.4'} dev: false + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + dev: false + /babel-plugin-jsx-dom-expressions@0.36.10(@babel/core@7.22.15): resolution: {integrity: sha512-QA2k/14WGw+RgcGGnEuLWwnu4em6CGhjeXtjvgOYyFHYS2a+CzPeaVQHDOlfuiBcjq/3hWMspHMIMnPEOIzdBg==} peerDependencies: @@ -2673,6 +2701,10 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + /big-integer@1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} engines: {node: '>=0.6'} @@ -2683,6 +2715,14 @@ packages: engines: {node: '>=8'} dev: false + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + /bplist-parser@0.2.0: resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} engines: {node: '>= 5.10.0'} @@ -2725,6 +2765,13 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: false + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -2742,6 +2789,11 @@ packages: engines: {node: '>=12.17'} dev: false + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: false + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -2814,6 +2866,10 @@ packages: fsevents: 2.3.3 dev: false + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false + /cli-cursor@4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2866,6 +2922,21 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: false + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false + /colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: false @@ -2916,6 +2987,11 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: false + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: false + /conventional-changelog-angular@6.0.0: resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} engines: {node: '>=14'} @@ -3069,6 +3145,35 @@ packages: engines: {node: '>=0.10.0'} dev: false + /decode-bmp@0.2.1: + resolution: {integrity: sha512-NiOaGe+GN0KJqi2STf24hfMkFitDUaIoUU3eKvP/wAbLe8o6FuW5n/x7MHPR0HKvBokp6MQY/j7w8lewEeVCIA==} + engines: {node: '>=8.6.0'} + dependencies: + '@canvas/image-data': 1.0.0 + to-data-view: 1.1.0 + dev: false + + /decode-ico@0.4.1: + resolution: {integrity: sha512-69NZfbKIzux1vBOd31al3XnMnH+2mqDhEgLdpygErm4d60N+UwA5Sq5WFjmEDQzumgB9fElojGwWG0vybVfFmA==} + engines: {node: '>=8.6'} + dependencies: + '@canvas/image-data': 1.0.0 + decode-bmp: 0.2.1 + to-data-view: 1.1.0 + dev: false + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: false + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: false + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: false @@ -3118,6 +3223,11 @@ packages: engines: {node: '>=12.20'} dev: false + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + /detect-newline@4.0.0: resolution: {integrity: sha512-1aXUEPdfGdzVPFpzGJJNgq9o81bGg1s09uxTWsqBlo9PI332uyJRQq13+LK/UN4JfxJbFdCXonUFQ9R/p7yCtw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3181,6 +3291,12 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -3455,6 +3571,11 @@ packages: strip-final-newline: 3.0.0 dev: false + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: false + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: false @@ -3463,6 +3584,10 @@ packages: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} dev: false + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + dev: false + /fast-glob@3.3.1: resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} @@ -3551,6 +3676,10 @@ packages: resolution: {integrity: sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==} dev: false + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: false + /fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -3662,6 +3791,10 @@ packages: through2: 4.0.2 dev: false + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -3841,10 +3974,18 @@ packages: hasBin: true dev: false + /ico-endec@0.1.6: + resolution: {integrity: sha512-ZdLU38ZoED3g1j3iEyzcQj+wAkY2xfWNkymszfJPoxucIUhK7NayQ+/C4Kv0nDFMIsbtbEHldv3V8PU494/ueQ==} + dev: false + /idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} dev: false + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -3909,6 +4050,10 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: false + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -4209,6 +4354,10 @@ packages: hasBin: true dev: false + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: false + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -4463,6 +4612,11 @@ packages: engines: {node: '>=12'} dev: false + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: false + /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -4494,6 +4648,19 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: false + + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.0 + dev: false + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: false @@ -4512,10 +4679,25 @@ packages: hasBin: true dev: false + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: false + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: false + /node-abi@3.47.0: + resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 + dev: false + + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + dev: false + /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: false @@ -4713,6 +4895,10 @@ packages: engines: {node: '>=8'} dev: false + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false @@ -4738,6 +4924,14 @@ packages: engines: {node: '>= 6'} dev: false + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: false + /postcss-import@15.1.0(postcss@8.4.29): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -4809,6 +5003,25 @@ packages: source-map-js: 1.0.2 dev: false + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.47.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -4910,6 +5123,13 @@ packages: engines: {node: ^14.13.1 || >=16.0.0} dev: false + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -4919,6 +5139,10 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: false + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + dev: false + /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} @@ -4930,6 +5154,16 @@ packages: safe-buffer: 5.2.1 dev: false + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + /read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: @@ -5185,6 +5419,29 @@ packages: engines: {node: '>=10'} dev: false + /sharp-ico@0.1.5: + resolution: {integrity: sha512-a3jODQl82NPp1d5OYb0wY+oFaPk7AvyxipIowCHk7pBsZCWgbe0yAkU2OOXdoH0ENyANhyOQbs9xkAiRHcF02Q==} + dependencies: + decode-ico: 0.4.1 + ico-endec: 0.1.6 + sharp: 0.32.5 + dev: false + + /sharp@0.32.5: + resolution: {integrity: sha512-0dap3iysgDkNaPOaOL4X/0akdu0ma62GcdC2NBQ+93eqpePdDdr2/LM0sFdDSMmN7yS+odyZtPsb7tx/cYBKnQ==} + engines: {node: '>=14.15.0'} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 2.0.2 + node-addon-api: 6.1.0 + prebuild-install: 7.1.1 + semver: 7.5.4 + simple-get: 4.0.1 + tar-fs: 3.0.4 + tunnel-agent: 0.6.0 + dev: false + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -5209,6 +5466,24 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: false + + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -5338,6 +5613,13 @@ packages: readable-stream: 3.6.2 dev: false + /streamx@2.15.1: + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + dev: false + /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -5450,6 +5732,11 @@ packages: min-indent: 1.0.1 dev: false + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: false + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -5599,6 +5886,42 @@ packages: - ts-node dev: false + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + + /tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + dependencies: + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 3.1.6 + dev: false + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /tar-stream@3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + dependencies: + b4a: 1.6.4 + fast-fifo: 1.3.2 + streamx: 2.15.1 + dev: false + /temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} @@ -5669,6 +5992,10 @@ packages: engines: {node: '>=12'} dev: false + /to-data-view@1.1.0: + resolution: {integrity: sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==} + dev: false + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -5740,6 +6067,12 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: false + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -5821,6 +6154,10 @@ packages: hasBin: true dev: false + /ufo@1.3.0: + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} + dev: false + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -5830,6 +6167,15 @@ packages: which-boxed-primitive: 1.0.2 dev: false + /unconfig@0.3.10: + resolution: {integrity: sha512-tj317lhIq2iZF/NXrJnU1t2UaGUKKz1eL1sK2t63Oq66V9BxqvZV12m55fp/fpQJ+DDmVlLgo7cnLVOZkhlO/A==} + dependencies: + '@antfu/utils': 0.7.6 + defu: 6.1.2 + jiti: 1.19.3 + mlly: 1.4.2 + dev: false + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} diff --git a/public/apple-touch-icon-180x180.png b/public/apple-touch-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..f03b4796b0c04652cd82d4420ee4cfe2f7f30875 GIT binary patch literal 1188 zcmV;V1Y7%wP)~?l`$;!$sEG&nL;1U1;010qNS#tmY1Lyz%1Ly&@ds1rv z00b;aL_t(|+U=a{)|(&@MMdP|`@e88fQoXHd=8}RoImMGt=*YyM^VT$AqavX2!bF8 zf*=TjAP8~_>l#1<8qk0SG@tV0S@^I~}|`O>O34fG-NCz`oGG^$Mj z9mpI&H>ynleU0=h=+zlN4snX90^+L8=9FLNEVSDOmDXht2hb%bd;=-eS#3vCZap(&u{G}ZV~ zg7%G1b0TOi%12@z+8&3(fHN)#pv~Vbu1=~ITDifbd6k^gRC@77X4K9=e=eJ(vhXy} zlZAHWN~)cNwqFwWyD-q25PDuk^zuIo?POl(UeI$+?KreL-5Kcxol!dmZ8uiIXP|+W z0d!LBJM>xRzLid@eT5EX?hYMS`vQHDIe->jpkrzW&_`z;3Hq+~2|6P4AkbH}cj&0h z)X*{keNo#($7LR+(!1K0kn^0(BSBx(PRo33%?5z>Y8PZ44BFLKs;tbzK_53`iX%xf zXjz7KYV(@ShN<*c?5eE>f?kA!Ud8ew(58LJ)j`X`kbM+rZe4bID48{T3~1$R>z&@} zu7>U&rbGM2d>n|UHwUbAP}FnxFl{?=r=dGE5A+RN9#1sw&d}FtUix%G?XJ*wZ*M1; zsM;N&V`Yq-5!JnG_v;?fUK~A*-_-6^=|pRYUwd4?lRnVNCY-upGUG3{_J!uj(_Q*1 z@2qwQ=p?e6qxi_A6Q6gQ8ZP&)~ImN{AG z_hvu}uG4C(ICLm;8u`6xn_38&QhSNMdy!dpnINmV#g?%lt7?;(U@EeAjb2 zN#9y<7E${OT`x1u^m^~eq|(r#%mp)O7BUDseeA4u0R2d2vLz$>ruGTi$;^1I8Dxud zj3a^CJG6bS_&{dTWl*8o>Ue!9Gx35m@5rXMg>I3VdTHOTwq7^rHks)cQSOc$dl4S02TlM0EtjeM-2)Z3IG5A4M|8uQUCw|KmY&$ zKnMl^0063Kaozv`010qNS#tmY1Lyz%1Ly&@ds1rv00SUNL_t(|ob8#raqBP;MG>M4 zbf7kvpaWIFPzl>m1Aa}Y0;_~)X9%Po?3{XYHC)abj~{>}J{A$|@FNX@J=l9e5JJ}{ zvF8w}JCHgAotWGGvA56#z^PP#C=#fP2Z&;Vb(sZ3>M5yAgSVZ%2Yh{hKianK1J}C& z(6Xe@=W`DuHUu3T03UTEu9SL6DW6AN$F2q)3jk02a=APXhr=^*MAJ0=Iqu{4SRiz0 z06cMAS5?&~OY!&P^S^ueAMS^SphE)Sy5^(o0)XOpJO=d#9RdI!^|!Y_z0Q{a2<;Dg zO8`9a_v`hC&es44=?{7<0CPIu0>F?ztOcRh0&vy&mH@W&2fYS>kIq8?81jc`0KPi% zICs^02ms^_G$43ZGyvvy?@eh<6)Xk7M<4y*eTo9${d(<307)$Mfh7RY4kb*cOMSy& zLwlQu{XSmgtzzyMPM-JO|IS7g6?ek^_(ogsVSH0kCyG1vD!F zl8xM)Ka2t3l5%;u$`XKd@CO^fl+IlNxK4*U7Jw;#ARsO}|J4BGfIlEnB#utI==>!B zNXs9VE~0)l0HxG3VH^Q~U%xznrfHrXg!VZAT;u+lRb|!ys%{+*-SbKy07HOY0>GjB zl7p~IdGEViFT< zJvTr?0pN=$9HRg*3%0Dpg=Ezb2d{cyG9SZV-C;&_cff}Wi zo$G6?F97;jLhWESpu}+=ZC}6)1Rx-M{J|9f*Eycg6Za|kpa9GWh$(-V17L4`ah>~? zdo%#1lLeLJls`-Xn9{k=?oSc`#sV?s4?_U9)_GC@X2u^l09)rYla&O+!sTL8uafn%)1vjSiehAse3r2<5eKwUgQ6cen=EFee< ady9XEjh==uvVPbA0000 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/maskable-icon-512x512.png b/public/maskable-icon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..fb3fa148fbfc053a5ccee469e71ae495c7eaa245 GIT binary patch literal 3523 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 literal 0 HcmV?d00001 diff --git a/public/pwa-64x64.png b/public/pwa-64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..5d7491c87e36e9f730ab37a8895d96e64734dcd8 GIT binary patch literal 622 zcmV-!0+IcRP)$;5(bCiM^Yg&L!JM3(A0HnsE-tdNvPVZpTU%Rpc6N`CkNwHq=>Px#0d!JM zQvg8b*k%9#010qNS#tmY1Lyz%1Ly&@ds1rv00G)bL_t(|+U?idl7k=&2H+B6IH~Xd zxEl}!Tu!z(JF|7Bd(kdmlOGiNdi{Y*d~$t(FE9fvQp)86fJg63SLg!#^}7bW_loEM zJlq<94Zzqo(FAz7aKIP(KMq?$3*g2#fC~Uv8&T8&{(7aM09sMh03J>T;083Jr~qg4 zzkm?Mo%jW$<|{xYiaU@sUj;%G9bl2dKo1_%t6Ar!#2aKJ*S z9^iu#YZY)J*h2vHmMw$}FywD7|IQF#B1M6z`H0Q{kfOji|7ms20ap~5noj`E05OU+ zHUAU{QS3%t%|8cx6y>e;6wppfe!UHBxH7Qf_8#DH=NhCA&~w08>q`#+ry8z?rl8o}( zWlY(YPkd5XikGkY1uG;+cVVf-B_Xo#+06x2Z0DKr7&qy@=xc~qF07*qo IM6N<$g69qis{jB1 literal 0 HcmV?d00001 diff --git a/pwa-assets.config.ts b/pwa-assets.config.ts new file mode 100644 index 0000000..4d84d06 --- /dev/null +++ b/pwa-assets.config.ts @@ -0,0 +1,9 @@ +import { + defineConfig, + minimalPreset as preset, +} from '@vite-pwa/assets-generator/config' + +export default defineConfig({ + preset, + images: ['public/favicon.svg'], +}) diff --git a/src/assets/favicon.svg b/src/assets/favicon.svg deleted file mode 100644 index 47798e3..0000000 --- a/src/assets/favicon.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index adfcdf9..22bfc04 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -12,7 +12,32 @@ export default defineConfig({ }, plugins: [ solidPlugin(), + splitVendorChunkPlugin(), - VitePWA({ registerType: 'autoUpdate' }), + + VitePWA({ + registerType: 'autoUpdate', + includeAssets: ['favicon.svg'], + manifest: { + icons: [ + { + src: 'pwa-192x192.png', + sizes: '192x192', + type: 'image/png', + }, + { + src: '/pwa-512x512.png', + sizes: '512x512', + type: 'image/png', + }, + { + src: 'pwa-512x512.png', + sizes: '512x512', + type: 'image/png', + purpose: 'any maskable', + }, + ], + }, + }), ], })