From d601a117c049458bc032258cc86df76387d51b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Mon, 29 May 2023 16:52:27 +0200 Subject: [PATCH] chore: add generate pwa icons script (#2130) --- .eslintignore | 2 + config/pwa.ts | 10 ++ docs/content/80.pwa.md | 10 ++ modules/pwa/i18n.ts | 9 +- package.json | 5 +- pnpm-lock.yaml | 208 +++++++++++++++++++++++++++- public-dev/apple-touch-icon.png | Bin 4467 -> 1089 bytes public-dev/favicon.ico | Bin 16958 -> 993 bytes public-dev/logo.svg | 2 +- public-dev/maskable-icon.png | Bin 5168 -> 2755 bytes public-dev/pwa-192x192.png | Bin 6043 -> 1446 bytes public-dev/pwa-512x512.png | Bin 18997 -> 3554 bytes public-dev/pwa-64x64.png | Bin 0 -> 630 bytes public-staging/apple-touch-icon.png | Bin 4811 -> 1100 bytes public-staging/favicon.ico | Bin 16958 -> 965 bytes public-staging/logo.svg | 2 +- public-staging/maskable-icon.png | Bin 4340 -> 2682 bytes public-staging/pwa-192x192.png | Bin 5575 -> 1424 bytes public-staging/pwa-512x512.png | Bin 16947 -> 3467 bytes public-staging/pwa-64x64.png | Bin 0 -> 603 bytes public/apple-touch-icon.png | Bin 4298 -> 982 bytes public/favicon.ico | Bin 16958 -> 1033 bytes public/logo.svg | 2 +- public/maskable-icon.png | Bin 5083 -> 2456 bytes public/pwa-192x192.png | Bin 6072 -> 1475 bytes public/pwa-512x512.png | Bin 19201 -> 3462 bytes public/pwa-64x64.png | Bin 0 -> 641 bytes scripts/generate-pwa-icons.ts | 208 ++++++++++++++++++++++++++++ 28 files changed, 449 insertions(+), 9 deletions(-) create mode 100644 public-dev/pwa-64x64.png create mode 100644 public-staging/pwa-64x64.png create mode 100644 public/pwa-64x64.png create mode 100644 scripts/generate-pwa-icons.ts diff --git a/.eslintignore b/.eslintignore index d652cf4e..f082429a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -6,6 +6,8 @@ *.txt Dockerfile public/ +public-dev/ +public-staging/ https-dev-config/localhost.crt https-dev-config/localhost.key Dockerfile diff --git a/config/pwa.ts b/config/pwa.ts index c6ce1016..19c82b7f 100644 --- a/config/pwa.ts +++ b/config/pwa.ts @@ -15,6 +15,16 @@ export const pwa: VitePWANuxtOptions = { injectManifest: { globPatterns: ['**/*.{js,json,css,html,txt,svg,png,ico,webp,woff,woff2,ttf,eot,otf,wasm}'], globIgnores: ['emojis/**', 'shiki/**', 'manifest**.webmanifest'], + manifestTransforms: [(entries) => { + const manifest = entries.map((entry) => { + if (entry.url.length > 1 && entry.url[0] !== '/') + entry.url = `/${entry.url}` + + return entry + }) + + return { manifest, warnings: [] } + }], }, devOptions: { enabled: process.env.VITE_DEV_PWA === 'true', diff --git a/docs/content/80.pwa.md b/docs/content/80.pwa.md index f2db0f5d..a610d7f2 100644 --- a/docs/content/80.pwa.md +++ b/docs/content/80.pwa.md @@ -103,6 +103,16 @@ Elk will generate 2 web manifests per locale, one for light theme and one for da You can check web manifest generation on [modules/pwa/i18n.ts](https://github.com/elk-zone/elk/blob/main/modules/pwa/i18n.ts) module. +### PWA Icons + +Elk's favicon and PWA icons are generated from [Elk's SVG Logo](https://github.com/elk-zone/elk/blob/main/public/logo.svg) via [custom script](https://github.com/elk-zone/elk/blob/main/scripts/generate-pwa-icons.ts), using [sharp](https://github.com/lovell/sharp/) and [sharp-io](https://github.com/ssnangua/sharp-ico) libraries: +- favicon.ico: transparent 64x64 32-bits icon +- pwa-64x64.png: transparent 64x64 8-bits icon (optimized from 32-bitss color) +- pwa-192x192.png: transparent 192x192 8-bits icon (optimized from 32-bits color) +- pwa-512x512.png: transparent 512x512 8-bits icon (optimized from 32-bit color) +- maskable-icon.png: white background 512x512 8-bits icon (optimized from 32-bits color) +- apple-touch-icon.png: white background 180x180 8-bits icon (optimized from 32-bits color) + ### PWA UI Components Elk will provide a set of UI components to allow you to customize the PWA installation prompt on browsers with [beforeinstallprompt](https://web.dev/customize-install/) support. diff --git a/modules/pwa/i18n.ts b/modules/pwa/i18n.ts index e52bdc8b..e45a3a45 100644 --- a/modules/pwa/i18n.ts +++ b/modules/pwa/i18n.ts @@ -76,8 +76,13 @@ export async function createI18n(): Promise { orientation: 'natural', display: 'standalone', display_override: ['window-controls-overlay'], - categories: ['social', 'social networking'], + categories: ['social', 'social networking', 'news'], icons: [ + { + src: 'pwa-64x64.png', + sizes: '64x64', + type: 'image/png', + }, { src: 'pwa-192x192.png', sizes: '192x192', @@ -114,6 +119,8 @@ export async function createI18n(): Promise { }, } + // TODO: add related_applications, only when env === 'release' + const locales: RequiredWebManifestEntry[] = await Promise.all( pwaLocales .filter(l => l.code !== 'en-US') diff --git a/package.json b/package.json index d69daa4b..b068632f 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "update:team:avatars": "tsx scripts/avatars.ts", "cleanup-translations": "tsx scripts/cleanup-translations.ts", "prepare-translation-status": "tsx scripts/prepare-translation-status.ts", + "generate-pwa-icons": "tsx scripts/generate-pwa-icons.ts", "postinstall": "ignore-dependency-scripts \"stale-dep -u && simple-git-hooks && nuxi prepare && nr prepare-translation-status\"", "release": "stale-dep && bumpp && tsx scripts/release.ts" }, @@ -94,7 +95,7 @@ "ufo": "^1.1.2", "ultrahtml": "^1.2.0", "unimport": "^3.0.7", - "vite-plugin-pwa": "^0.15.0", + "vite-plugin-pwa": "^0.15.1", "vue-advanced-cropper": "^2.8.8", "vue-virtual-scroller": "2.0.0-beta.8", "workbox-build": "^6.5.4", @@ -120,6 +121,8 @@ "lint-staged": "^13.2.2", "nuxt": "3.5.2", "prettier": "^2.8.8", + "sharp": "^0.32.1", + "sharp-ico": "^0.1.5", "simple-git-hooks": "^2.8.1", "tsx": "^3.12.7", "typescript": "^5.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f898bd21..b5ce68e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -205,8 +205,8 @@ importers: specifier: ^3.0.7 version: 3.0.7(rollup@2.79.1) vite-plugin-pwa: - specifier: ^0.15.0 - version: 0.15.0(vite@4.3.9)(workbox-build@6.5.4)(workbox-window@6.5.4) + specifier: ^0.15.1 + version: 0.15.1(vite@4.3.9)(workbox-build@6.5.4)(workbox-window@6.5.4) vue-advanced-cropper: specifier: ^2.8.8 version: 2.8.8(vue@3.3.4) @@ -277,6 +277,12 @@ importers: prettier: specifier: ^2.8.8 version: 2.8.8 + sharp: + specifier: ^0.32.1 + version: 0.32.1 + sharp-ico: + specifier: ^0.1.5 + version: 0.1.5 simple-git-hooks: specifier: ^2.8.1 version: 2.8.1 @@ -1599,6 +1605,10 @@ packages: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 + /@canvas/image-data@1.0.0: + resolution: {integrity: sha512-BxOqI5LgsIQP1odU5KMwV9yoijleOPzHL18/YvNqF9KFSGF2K/DLlYAbDQsWqd/1nbaFuSkYD/191dpMtNh4vw==} + dev: true + /@cloudflare/kv-asset-handler@0.3.0: resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==} dependencies: @@ -5908,6 +5918,10 @@ packages: optionalDependencies: fsevents: 2.3.2 + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: true + /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -6023,10 +6037,25 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /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: true + /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true + /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: true + /colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -6343,18 +6372,47 @@ packages: dependencies: ms: 2.1.2 + /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: true + + /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: true + /decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} dependencies: character-entities: 2.0.2 dev: true + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: true + /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} dependencies: type-detect: 4.0.8 + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -7418,6 +7476,11 @@ packages: signal-exit: 3.0.7 strip-final-newline: 3.0.0 + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: true + /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true @@ -7811,6 +7874,10 @@ packages: dependencies: git-up: 7.0.0 + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: true + /github-reserved-names@2.0.4: resolution: {integrity: sha512-T2azXbRJTJGQc28G6x89LpzQmuVjzl0hzJXPRD2t9yMh7URYUW8Opqr5ptHvjAVDJ+hwhBtoYmVx3VyFawRoFg==} dev: false @@ -8194,6 +8261,10 @@ packages: ms: 2.1.3 dev: false + /ico-endec@0.1.6: + resolution: {integrity: sha512-ZdLU38ZoED3g1j3iEyzcQj+wAkY2xfWNkymszfJPoxucIUhK7NayQ+/C4Kv0nDFMIsbtbEHldv3V8PU494/ueQ==} + dev: true + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -8377,6 +8448,10 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: true + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -9724,6 +9799,11 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: true + /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -9839,6 +9919,10 @@ packages: resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} dev: false + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: true + /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -9917,6 +10001,10 @@ packages: engines: {node: ^14 || ^16 || >=18} hasBin: true + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: true + /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -10019,6 +10107,17 @@ packages: lower-case: 2.0.2 tslib: 2.5.2 + /node-abi@3.40.0: + resolution: {integrity: sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.1 + dev: true + + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + dev: true + /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -11301,6 +11400,25 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.1 + 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.40.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: true + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -11521,6 +11639,13 @@ packages: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} 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: true + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -11554,6 +11679,16 @@ packages: destr: 1.2.2 flat: 5.0.2 + /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: true + /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} @@ -12153,6 +12288,29 @@ packages: /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + /sharp-ico@0.1.5: + resolution: {integrity: sha512-a3jODQl82NPp1d5OYb0wY+oFaPk7AvyxipIowCHk7pBsZCWgbe0yAkU2OOXdoH0ENyANhyOQbs9xkAiRHcF02Q==} + dependencies: + decode-ico: 0.4.1 + ico-endec: 0.1.6 + sharp: 0.32.1 + dev: true + + /sharp@0.32.1: + resolution: {integrity: sha512-kQTFtj7ldpUqSe8kDxoGLZc1rnMFU0AO2pqbX6pLy3b7Oj8ivJIdoKNwxHVQG2HN6XpHPJqCSM2nsma2gOXvOg==} + engines: {node: '>=14.15.0'} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 2.0.1 + node-addon-api: 6.1.0 + prebuild-install: 7.1.1 + semver: 7.5.1 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: true + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -12213,6 +12371,18 @@ packages: - supports-color dev: false + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: true + + /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: true + /simple-git-hooks@2.8.1: resolution: {integrity: sha512-DYpcVR1AGtSfFUNzlBdHrQGPsOhuuEJ/FkmPOOlFysP60AHd3nsEpkGq/QEOdtUyT1Qhk7w9oLmFoMG+75BDog==} hasBin: true @@ -12229,6 +12399,12 @@ packages: - supports-color 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: true + /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} @@ -12574,6 +12750,11 @@ packages: min-indent: 1.0.1 dev: true + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -12671,6 +12852,15 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + /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: true + /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -12819,6 +13009,10 @@ packages: dependencies: os-tmpdir: 1.0.2 + /to-data-view@1.1.0: + resolution: {integrity: sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==} + dev: true + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -12910,6 +13104,12 @@ packages: - supports-color dev: false + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -13698,8 +13898,8 @@ packages: - supports-color dev: false - /vite-plugin-pwa@0.15.0(vite@4.3.9)(workbox-build@6.5.4)(workbox-window@6.5.4): - resolution: {integrity: sha512-gpmx3BeubsRIXRBkjPToOTJbo8fknNmZFQs24i0TPZyaNVa0n27YHDo0Y72amnO70WvHKGE3e1fn8SYUP7e8SA==} + /vite-plugin-pwa@0.15.1(vite@4.3.9)(workbox-build@6.5.4)(workbox-window@6.5.4): + resolution: {integrity: sha512-lJVzEYda/Y9AfwxFzX0rV+QCQ2+WdBoEGtR1RBZKWxvrJ4NWEH1VZaHOMyzvRiYhWQsi7aFhewsp1CDvN/R1Og==} peerDependencies: vite: ^3.1.0 || ^4.0.0 workbox-build: ^6.5.4 diff --git a/public-dev/apple-touch-icon.png b/public-dev/apple-touch-icon.png index 2334d36db0b9d4c783b7d3aa71e13450b50e6ea9..8e43d9a3884f84d6d0682beaf3743c1d6e72c28f 100644 GIT binary patch delta 1068 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 P00000NkvXXu0mjf59X{D literal 16958 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 G^YuR)XgzEI diff --git a/public-dev/logo.svg b/public-dev/logo.svg index e8415d88..16426876 100644 --- a/public-dev/logo.svg +++ b/public-dev/logo.svg @@ -18,7 +18,7 @@ maskUnits="userSpaceOnUse" style="mask-type:alpha"> diff --git a/public-dev/maskable-icon.png b/public-dev/maskable-icon.png index 828648246e6230df9f4cf336502e108d616954ae..277ad08488da3488de5c4e39d033dd00f3737484 100644 GIT binary patch literal 2755 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 ib#--hb#--B)jugucQA&%cMbXg0000; z+*NGl5B?sY(f14codx|)XbcJ*VvR&0*LT*?7EUQ_5I#Go3n?! zKR!D)aM#^BnYch4A75@XO~9SzuC75 zetUO+w{r+fDM>CL_1it2YaeP$EB%&VlY5CcKDt<|>8Q@B%tYPY)OFTCQiGuL4twyNI+T7FIoX`YEMsLlHe|J%Eq6zy@h!4X%!Qu=qjfM$D7WWvItEwyxGJ<_Ycd zTN(i`msbEl1=CPbH1c1bvmy?9Y@F#v{UEA50TGiRg*b)QwpEwCW%T`q_nDO=3Xc_n zr=(9HX%9%^L{U}|`MXCkJd98#XZKXskLdl<{V{Ut+?1MO5SNkK&S8KqGQ%#kGx+ST z!(`2B&1pJEuIz<(LK&*86MJ`h_D78n$0Om)^8RP&vHxqXadEYhSSer36h$b5L@{Cn&BrjOY(?za&smIMyRy79Cjh6dUx0Z z<8yx7c`M)0E(vv_9mV=dI|g_^4q6$-Hk#)$GU3ts4T%Gc1q}xk$BpgM(CC_-j~%7E zTOJ{cS-B;oX>Zm(i7LH`k^KL{)Wil3-jUv+2!Qkk^A* zp-h3kMG$AwHIY3BT7|&Z*jITxRJ}xBoY0(5v|Z>53!oeQ2cE*7F3vC-!al08mWWHM zmdC^3Drv*`LY5&f8=$-b-7cu&GcM&t9ZGaSE zyX<$fdOm&o(aeKCNRd$*rZ<-Bw0HR%#E+s_Rt&dc`vOJI{j>pk=#+*f?(4TpFwfA90i?^Q)&euvo%^Yw&p)VjQj>wtvBU!O-LDI*BV5Y06u!pPsI$^O{ z2)g-`86MEVF-n7D1SPetTIqB6>e!!+}mS!TKsk7eCBX@kW&gL zEp!R^zRu&9d$Tir^kK2WOy`gOQfLmVv$j*J^;&BT^|2qUVA7L`wt+?R5f&DSz(1C6 zhJO?2Ig@&|M>lO@ z{^yTTAla7!l{m!m){w)W26;Kc75k@!A-#cxgb?2$9Q!`Mv-BWQGf!?Z+g~Q&CTeB! zXAzzUViQHt7iPcfw`!Xif(VYDtG+|%QbAG_^$Fh(7p*t9_H_$741PEX*3x{zK^r03 zOV4f_m#U&g-uJD`bXe}dnc=S%G2}-0tL5koXKrH8yAj*r7;#Hk6n0}dKKLxY>REzL zDo)B&KQYr^I<47Ire>Fb!R?oz+cpL}wa-tEjYlaMi14;WTN;1t2MFDhFDBgDU5zZ# zr_vXumvX>7K#niEelh&F%y5kgblTK!H0y4x42(TDP=4UC$3S)d(x&GNM-G zy?@XcXW1>^eVyFJKw2Z^NFQ1GG`>Py^cTeiZaGFSc40v@VK47G;`NzRr^e%O`!#V5 zxseDN6}g2Kq1#}}Tuy%ZBz^$KIf_U=A1s4&Oo&%2l(4N4aEr$sXZ5Oe1l1tcVB22s z`Y(!EDnQvbY7_kt0sd7Z*yE-_3sfdD*!Wk}j~He#t~{867>%WV2C638#Vc=*(;Y@_ zE+XpwQ^$)=6&5lD-DV+7Z@!~L3#>$n4ms}9<3 z%DD@2slJMW6!l#bWIh*d1&6F8_ki`^KFE;lVm4t8G zrgt=}ErT5E-wuR>#vdJG8~~=cirBB=G=j88T}QL|>n)=l+O~>Xp2TZyG#7S67=mGOgc_ z1b4ph?TP-#A)C^rWu#A6U`Gy^uB3rePs+RIQx7yB2rzE=!P2mXUiLjMqiQQ+st?qr zVi#EFbj9E!UUUQsNbPYL+RwWZ8SH69h{9u3E?Skqx3%blllITvguHwK7|6Ej@^H$B zvr%^bdbqK1eHNRjn<3vixd5n`1yn0LQ4epsxrExk0SzU6hUp=vwE_qgvgQyvF~MvH zW`6t3fX+%?w~#skbOA}EKz~m=hUd_E^J~u<5O|ZjycBeIv{q8KZ5b4ryxTr^r{@&# z(;JsN$o@4NCF|u4Z4MI3IV%ly_o)J408)KvW4^#9o}DR$r6)%W(^*{F zI`^2g{IdLz_4egfbT%&cz5at%+vRY@eJPDFEo~)&Rw%8Q>c{C=3g~|(;qyXX=vGTy zQ?5CD3DpqA&?mw}J6fAlglp@g&kjW0zw_AHejf4;?qc>N%{M1ZQKZ^*9EISkS*tbm z6`vN|(I59JD3W|a7TkFeH(dhd) z(bba;;tra)R}K{H6^PC?AJ1yHT3mS}Tj zna`?_=hP|McAl%}72$-ZGzV=6`qUTVt@R*A?!+3f1P~s*$45=dhRX()K*bF(AH;Hc zkG^KHSXMB9-=hy3%Jf`)HZjuuh(nk>`O7_s4F{#@x67U4|7+Fg?L!e_!Pf}`T^cEP zS?=cVS)B6AcuPeNmUTM7}rsZs)QJpSeIxcfiM7{4ex^%8cTz3o<* z4yj24eencocKYcB)g{?&_n2UCZnp{U2!Hy;KU6Sd0sg)}?J+GWL%ZiRPahtiz7?@=i0y}}pglMu=`qH*`qhw)ie zBM`vSCIs{qH%gI?(D3TV!r6p|MUjE648yBz2DuVj;}Vw2pUx7?{7AMG3Qh2y)Kub! z;UfE10i&f=H&$FZZd@CwQi*;6ZDSr!5oj&9510XuD8E`dyMACkdQESIQ+QN!vSuNy|KsMjy*`i9 zC09OO)jbJ+gA^(EU11^ErtLtIgoZ{&)enJo*+Jmb_*59HwgH{7qs*#2o8>IkPkpGq z1WOLeP!eA-u3R`0OazM>m^CKbp>f!8vpN)0~b5 zHwo|XJI!khE7tTZ@&@(c0{%X6q$h!SkO@~|3!ttvWSKGQRo)MLTH=1hMaKf&C+*+f%sOc;Xinn=q?p~gYkMZ>?m z8w$+Sj&6SP%Te`?Ovh}^zskdX60R6ytKj@oP>}oB=UIvzfj)J?YMc~V_I!jsYec=s zt{;lF%ixKVu8tLx(6@?Ko=1JcSe!*o!!_3qjY><+N(~9Ue++L!zApwd3|qwHLtMaw zRR=!YrX_PpgvW0nThU?GPI0T^k`H3{5Tz_h?(Jsm_1NA)`zFo}q-|2EniOW$ON%b23ybP&F33Q{P!U1#FpqPFQNUIvO$JvE zoC^Zt^kG`;yPn*U2 zGu%_DhxGc+3|jRktknGRTdGn=QCVNsv5blUNvTjBlEj^~>~6`fOUlX3wt2x{s^uex z=brr<_w&=X(?_^aBPPwEzUq(ngqzLgvxBow!Iml2#fOrrj?QWecVr6Huq`z1tX|kt z1;2e>?`eL^^qC012nF4qZ?p^`T3&=jT<+w+_xfMv%&@F zI`e6|V7ml@L7Q7Gs->sQaK(=vrW#g9cZ4IPUZnZ%3-hg~E=%%Bmi%dN0KFh#_o+ zeds0y-Hj5dfdzI0g~m0eBhVM+?!U%XuFC5d+DVb~k`*;$I(_a4<;Em{zn9+^u#s7l zd^4Tj0sz^Pk`9b~JMiln%1?wsq1;xN|O6(nBtBD;UM64!o`WRbEuG=2^?nmk~z}$;_=^AUv z2i9o_efMb|a6EpRY>BOoT(RIgV>V5a1(vHeIGZqe#pjRCm>o5rD$vVOw)%dkJH`$R zKRRJ<=F(syv5_C)&ggShBss=XoiY=xrE`$x*vM-?F9rLg6)s@8R^{C}%n1028_wCM zB8|D)F!EcNu$JMD(7SXBBQ3dN*_>Gvw(pKmGdUOm6=HTu`}{0uJ*n^iddZj#XchUr zAQ@ka-hPDnpZ}ZHZ?fHJwc3=%cT&hle{c;r{@Gb~%q5oZ^GD!nsvHFWfH;v9f+$SBRr|il@f2vPMP??&!>;5DM~Dt3a(R=F^ZN|Mk$Zz|G7A z6}C!xp%gD=>8_Js1Un%`Phb(%q#RQGZFOA>1A)7CVIqua)^qD6 zPe_)nuP4IZFv>gm`Rpg8d0$W*=kPmiAdh^pbcqXCLJ$umsd9UK{-0Y2XsGI{R4Kjt F{69K4WnBOO diff --git a/public-dev/pwa-512x512.png b/public-dev/pwa-512x512.png index 609b9d15ea981743fe1b621499309547639504f2..ed9560e390c4ae53d56593d79ad73bb353eee38e 100644 GIT binary patch literal 3554 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 literal 4811 zcmV;+5;X0JP)Px%`cO<%MRdN^K52Jyz0^Esc0Oo#bH3DbzSaN#|8u?6 zJ!p6R{{H^||Nj2|J!p1`$lO3`d2_whKWTV%zSVTS)&2ec)$H;_xhmI;#z)+j>_Ga&fxd>`A~O+UV)9><>**`i8y6+@bvYP zs+O%HuuF4*V}+2@+~Dx|`c->}{QUhxY7*7EfBTYrmejF*d~t>NhE`TF`~hmya~F|Zd+JVH`;PCZ_$J@i>?WNV^z|PWWiIk7a-sI}+Pj-Xu@$x!ncD>8cT!4(f%+XYO zhMLgfna|;~+~{(?)ywDaZ@kmT~-s(+tg39Ob)9dk9e2AvH!0GPq zv%|@Dl%3)5_OHRl#^vst(BW>5n7ZHUx5v!K)7N5zkV$cV+2Q2A;q2Ax^0wXT!Q$=C z+1yHUe}9{#$>#5z}l`o3Xgm-QkC!s;$}Q%(| z_m{4;K4^Bn=l6;L01t0TL_t(|+U%GMR1;Sk$1|D9WNtz>1W_oMEJVT@Py^8osRZzW z3QIr{u&6-5)rtj0l$RWBYwP1cK}34CR;}y`a_|M}?m>K_1qAJOkKzh0iqE68>YlE; zZtFhI*?VUunZ)*V+p`-O&*mm@CU++AyWjnP|L>a-h+n}Wa6!AEUC=IQ7qko71?_@% zLA#(`&@N~fvUtR&p-k)R!wyF5(BYu|G_S1H5$JOY^!}Mk)76+FJ?? zdVOXaKcICz%~b#>|Mo&+pO>?=d5yhkb`w#}W*{>cb@4>g+CD&FGDDKx&d29AW~3a; z2-lX9eF48)p6BUgXlcb)N+@di z*$UfK$X9Y`DcHTg+r;U%y4nmcI(&kYjO0mQQd!7LBG*NgD*$1-qLn%qTHIY{!3jbc z*I^5f@kAKZ2RL?a7FQDcF!OBl>;s*)b)>zp$m6b*X}uf_G{Xe{7KrKpsgt2~^GcNf zlgY2t+on3pF{lqkbCeA+VrxcbQE6dyoz1=DLlt*)2l1fM8Ngdl({(> zI=yKR+*6snwS)_GmI8yeXL-$XL!kzbyPaQ01r zwpazLVpS!VW@&Xu)mVOh6Fp^dBKlyIv- z>FW8mYSJnPXvpJQ>v}`F)4%0mY0E?76jd@cL11`5X0MIfZEFo&3X$64^xLiaBzX=7 z1+vp-4!Wo;q)iOq^4gS!(61Y}wRBa~$4AXjBU7@CShU11n*${e6ql~$k=R}{f1 zkbKC~+0gTQvv9Q0mMgX{DYCy1?LDN%abP+YvnRH+{cO^u#%*~e*4|=%NPngtwkasq z59o#~xTz^(O$Ms4mQzNj-;FOik&Ht|{BTC6RUr}2Vgb@MhI|CatCUK$+;F%yH7hgp z++aztCsPz}*5ERNAgYdCMz$h}YCRWn(*hT3NVxBGXmLq~9F=a|&`=i61~OvX0TYhm zh_)Lk1?1o;>VVK8 zfELf{kHrCv6%dzsW^YtmeSAT9TVsO-al*G6o;#6W5imqXmX0AY z!S=**F=6?U3nnADU-*1^o|EHd-m^uv=;ABlsc+_BWu@6M_d+ z7oRCqq8vU|0PEDb!}Qm~I^2c^TD<0DMx_Fo0YSr|48(w%T>_&Gl$HpaNlIGoGD8dk zRVyFB)=siA3`ZC284wQLoeUxXlfbA z?d};Hl_UD z&f-gZo4V@53nJ5X5{Vlc5{b^(y`}9%XjYht$x9e;438;;$(P#>%=Lziabdv9Ue(fa*K60Wx8Epw|C3si|EH)vRGs~l6>~7132>M5iw6;?z z23p#%v#Q++BdrUc+cnVC5-H{{G_0g~#i{Zfq-

*N!{;xyOG!w!FA!LA{isXh6b8 zXsJY_8SS?u`_1e?Kg}1m8=u^y8o8yg?@+jyf6!jpSAV;G$L4jrpYD3Pd)@6%6W{b> zpUG&yY)u%{GKE_s;S;o5;=wy($9o9fg>bkF=JDMu4W^8-3@zmTF??Z^?gaL&YilaP)BN8Z{%Lfv?~yU&@v zeHtI2rPnu2g^V;Q8)*UkStO*!-ul!}Jn85MzRXsjCA~lStw0_`I)5glCFvNGEE{`3 zP4%6!Z{)5Zp}R;#6OVw3_nonOqu=mr`nEqsji4#l!yl2rPA3#O)_=T^IUx|x7YT)9 z9&f%Y8E*Gjvg0R|$VO^~W{1$nx&xH;3QDly_wQv7cX3&=!(a4~O&qkSDH}CKu@lf$ z=xJIboBp)+li`IHFS&ik_ajafA`!*v#BLoT<`l(j2Q_}m!9>mQ_8xxuw^)X2EIzxngqp9gvT#RoNf6iHH)O)(_pum`l4h~VUg>DRNR!w3z> zYk^DG9zQtwoySvV_;2ta9ZL$9>Ihatsnov!4;a}g=X3)FKPDgMhOKX&NG;MHFns$J{wS&5I8=wr@-p z!n7N~##P|xDR%xx`p*1p@*j7v)$jp&={p~<7dVy|@+C82J_Ws(9T*rm?h8IZuh_qs zDc*GRK{1BGiG{TGvDD{R`SaZ4A8&u`?I;SGo@7@-AJ8jWc2(oW7wCm|7PDfYBTcdk zASt^(gdP*7|Mlv$Yz;r4XQD`x0`{)PzL#=Px`^@^^Zx#)i4tBwKW3mQZ_cF|VTkOx zY0IX(XDsA}l<%#z&jQ2#pg5tR#6LM`46v08yn&2^;`D;SbRP}i>N8boHw-k=q_yw8)h zptGdiOG=^je^NZ5Im{dr8LK9=OX=w${_zn&M=2>@<&RMBS302=&SMZx8IfjC8#iKf zl}hO9Ws&gh$Zz(_G(yjm+cLC0CAY4!x4zM&5L#S5Ohe!l+`ugfjbacY`RS29XtDBU z(d}U1Di%5PhS*zLrw%&wxV;$RY*!SwhKTB0yI!LWI^ONaBG`X+?>)Pig~rD7>Q$XC z=urLOK?7jQ9Q8O#Q2j)eo(|Qzhe_GC(UBFzoZJ00zj*aHP7SmeuV*iYY6RI0l_@hC z|Add7i*!JXvkRG>KclLGh%p3w1%Toi29Zjq!PbbPI1{SI_1yC6X#1hVNtR=0op2n4 zjyknRCydw5z3ke8PIj_Kx^ z>`BeUAPus;MudPTo=Mjqa9Z2v}d2jJy3uQfzC8529|x$ofA#v9R8x(NXKyH-O6lePf9RxCM( z-CaB`K~8)aZ=Hi6T+{fdIJvieUBP1Sk645ZVVG1mh;YLUgn& zp=WM&v>6DrP#Z)gC!`@D+Ja_mDE9u3rx3j6BZBge^ygrSW9adIFTDjWb_ zsfUcyq;xL^1}%g#H$@p?55@xq>{Lz;K)QltH!B1OEr_{rKgCOkBQu~S@9^LqQN`d- z(r5+=EeNxjcTZ^^c_SCuLK;lW8Q3ZR)m=SUXhGD=zdwybn>4?O(Nb3~0m!QlqiVp= z2KK`0X*($+X*|iHIHPM`Vqi@nATIWFeyaASMYw_oJ zw(lDmkl4GaC33m?nz8Ej#L;{;G$TIGUuXYqlR-0R2F;)uG=pZ)44OeRXa>!o88m}t l&tAy$B1vFjl|29e002ovPDHLkV1g;Y^~3-G diff --git a/public-staging/favicon.ico b/public-staging/favicon.ico index bf186fc9d115b3f3bb8bfbe905d83652940bd120..1d2cb016d8f13192e9a74c3ffea8c1e376e775da 100644 GIT binary patch literal 965 zcmV;$13LTw0096206;(h009690Ivf802TlM0EtjeM-2)Z3IG5A4M|8uQUCw|KmY&$ zKnMl^0063Kaozv`010qNS#tmY1Lyz%1Ly&@ds1rv00Uu3L_t(|oaLH5a-%R5$KNHk zTc=1%mun!qM>EiEk;=2(p2C%nk;2XmC_Uj4X?%_B2uYp?mOy}{C+y-s@z@yN`@Jto zF|hZ)@XP{g1E>Ym22cyA4WJfK8$d0fHh@|%^kMer->;W#wG(TWPJgg9y}4yEG&X_Sd6Rr*h8mgH zX#t4>@Yf?o$^eoC;IRbS(i(sOj}8EXcxnLLk_GS#07O$=RS9qhhuVFD+ER~cbz_iE z8*z(vg^-~0`NZ_TJQ{$*(*nrk!H2g7w>kiPV)P#h0H0X<4+VhFbbjt3NKycb<)=jJ z1iN!Ing;aA4->2AvQND0Vu*cIINk+;a*FCFYDrq zwA6O+RpTK~c&!ca+Wdo3I4K_7sIumvapq$Hp= nfLcIp0JVVH0BQlX0o3{rAwR)HwrZB600000NkvXXu0mjfD~zWT literal 16958 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 diff --git a/public-staging/maskable-icon.png b/public-staging/maskable-icon.png index 0f6560a3755527e6bd048a020f400010cd7bd4e5..901e510053c9b06d6841c268ab06011a2f3f30ae 100644 GIT binary patch literal 2682 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 literal 4340 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,vPTk{ zxd8|ha1(O^Bb&A>ua2Wmz)idfq@TedO29Lk{oHW?ssw)7T;;xgf&_j$IW*FXpX0=u zfaW*Az47>|wF5ba&Il23StnD-6n~?+N6l!wO5^g61-0LYboY+=H9TYKoHqXU={|UD zweIt_r1!7glc^M*2rj&hZUGHFjLN%}hnJ z4MOFO&~6Mja`oY|I%+%E)y&s_TSz1hTxJh-iM*qfJ65N5a@zg$0=L%`x3Zy&wUT#noWyk4e%4dZ8M?HuEO`r6Ua(b3V-(b3V-(NPY69o%%tb3qN500000 LNkvXXu0mjfW3iuK literal 5575 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 literal 16947 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 diff --git a/public-staging/pwa-64x64.png b/public-staging/pwa-64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..caaf1c76cac02848cec8e8a7c7238985fc779a2e GIT binary patch literal 603 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!j01c^TzxVNWqo6#HlC63i;dcJ zTGlr%a^o58)C!;=5Xk|#8_oa`PyvLL^NXuX`TYr~oxdc=FPI_U+em53L(zlJ{MMZ8 z%m0(olmnFFEbxddW?*1`0m6)1tAnx`7#KHux;TbZ+ zlY#GeY*&SMmtn|Rr3o5ASEiO+NeZu=-K;gyeA45t>Gl`itbf4F>5+1G>z?1t(Q!Mc zPEeltq_L|z$f(i9wR*SlNkd^5rIgJlf?d)(*Ce{_+-tYJSK%~oGTY14u+HAIGdATq z1kE_C6lEoCHF2}Q;4Fq?>-*FtXT$_I+xaXHT>d9e^W4>iZ1KHWvkK-EtNR6OUvW#} zSu1<{>YbB@@tVFX^}pTcewl2v*CEnn=PbPg&*n=iDmwL4y%iMjU&dJS@8Lts#NN>8 zCpwC4_l)+X zKJ<{~lYueQi#x}!>rU=dJbOxsZ=%BalHQOqE*SIs`o7exHsAC9kwOA#2;L&_woHBU2`njxgN@xNA$}Ia` literal 0 HcmV?d00001 diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index 8efbf41578c49855f5303c690d2017a5cb2aa738..93217ec0f443f4a786ea2e15e095c424574cdbb8 100644 GIT binary patch delta 960 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 diff --git a/public/favicon.ico b/public/favicon.ico index 563520c25ba9839594e4d2b276faad78d203f467..9621b7bd759894a5650652083ba070c4ea8aec0a 100644 GIT binary patch literal 1033 zcmV+k1ory?0096206;(h009690P_O?02TlM0EtjeM-2)Z3IG5A4M|8uQUCw|KmY&$ zKnMl^0063Kaozv`010qNS#tmY1Lyz%1Ly&@ds1rv00X5-L_t(|oaLIaa-%R1hW8Qj z2q|%Om5bC|so^=yjGHTN#%)^X8OXqMP(gV;X`Cle;m);hghY@85?}-irq~%LR>bb7 ze^)CJAmJa_vH`XO*ap}RU>jgNfNg;70JZ_P1K0+(FN^p6OLp)AW}5?W`FMNH4&F5j zclYezrH?)!J9x(|^uE{}O9TlW&T|0a?#|R;P{>gPcQgawbC|{~89*#K-&nmeJ?ih% zIRLaR#FPMn9s&NSgr$xC{lCAz_FZ!fF`>42761j8xHUjUC82kI7*dZK!REIq(m4R4 zKeQ!4Wrf4to&DUdB=20pYDohvu(S`IlaZ^i-+FiB&%`M@_4$q=54Gs?4irx-P2FXHX-+gO}oNEP6_z)|F*-&$w10ed2P|NfvudHaEnk#8DK2Kc1;3+4igtT)AMO{$<5M6$H z5M1)ydMUxEjzH-`rCe_;!rTBz1>xZU2Z2cSK=pz=TMZy>HK8F#i^S`*KwK3@zNM9) z)6RKB8t~`ZccfVWkY@1jf|C>gBLL*-ZREJZ}@#&vjo(N$s0A-Mk zz+0>Yqz1`83qUt{%xVB!%9ZO8d{Y%cX-0T_%vuz18V;eSMSfyCYb*i)VG#I=-X?<3 zNS(z2AaXIBN(}?k0_FywsUewA5qY0Z5wHNr#vJ7}!atQz`tBG#>w_&V06TbtI&#M; zk(<&2774(i0=m)wo*e*7E87+c&kvvmv1tGog9>0103ttGR|-Uy-hh24PL9=)y31Cz z4HoR=H)M+&c`Aeju6{63-ubfuNHztl9SHGjeuL=Min)}ZLfR4E+SvvsA zkH91D1Xj8YQoiaAj=d`ZQ1A*Lh>H)G7aq8`!i5?bztO2J7v0(fr#o(AUyy<$0Mp#- z^{_{;!=0u8eRKnZE(JH82^SC zrT`!ySl;Tou|@ok5a|Npy77^&#a#FYQv*;GG5WO^zXBV(_oDzH%{Rond#pM}rEC0o zot20&%RdCU400000NkvXXu0mjf DO$@vw literal 16958 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 SJniF#*t+;U_e% diff --git a/public/maskable-icon.png b/public/maskable-icon.png index 63518cca79f79b2652d796b272ad0b9536f603b5..64ac7ac89ab0427825c138cb9a7b7df838cd6927 100644 GIT binary patch literal 2456 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 diff --git a/public/pwa-512x512.png b/public/pwa-512x512.png index fe9118490e27f2c16600d0cb29499fb631a6e895..9a2017281c8cd75a63abd591280a80519e3feed3 100644 GIT binary patch literal 3462 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 literal 19201 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 Yb<@82aPP%Ez!+!nboFyt=akR{09UReBLDyZ literal 0 HcmV?d00001 diff --git a/scripts/generate-pwa-icons.ts b/scripts/generate-pwa-icons.ts new file mode 100644 index 00000000..c98282e5 --- /dev/null +++ b/scripts/generate-pwa-icons.ts @@ -0,0 +1,208 @@ +import { rm, writeFile } from 'node:fs/promises' +import { resolve } from 'pathe' +import type { PngOptions, ResizeOptions } from 'sharp' +import sharp from 'sharp' +import ico from 'sharp-ico' + +interface Icon { + sizes: number[] + padding: number + resizeOptions?: ResizeOptions +} + +type IconType = 'transparent' | 'maskable' | 'apple' + +/** + * PWA Icons definition: + * - transparent: [{ sizes: [192, 512], padding: 0.05, resizeOptions: { fit: 'contain', background: 'transparent' } }] + * - maskable: [{ sizes: [512], padding: 0.3 }, resizeOptions: { fit: 'contain', background: 'white' } }] + * - apple: [{ sizes: [180], padding: 0.3 }, resizeOptions: { fit: 'contain', background: 'white' } }] + */ +interface Icons extends Record { + /** + * @default: { compressionLevel: 9, quality: 60 }` + */ + png?: PngOptions + /** + * @default `pwa-x.png`, `maskable-icon-x.png`, `apple-touch-icon-x.png` + */ + iconName?: (type: IconType, size: number) => string + /** + * Generate `favicon.ico` from transparent icons (from `pwa-x.png` ones) + */ + ico?: { + /** + * @default `favicon-x.ico` + */ + icoName?: (size: number) => string + sizes: number[] + } +} + +interface ResolvedIcons extends Required> { + ico?: { + /** + * @default `favicon-x.ico` + */ + icoName?: (size: number) => string + sizes: number[] + } +} + +const defaultIcons: Icons = { + transparent: { + sizes: [192, 512], + padding: 0.05, + resizeOptions: { + fit: 'contain', + background: 'transparent', + }, + }, + maskable: { + sizes: [512], + padding: 0.3, + resizeOptions: { + fit: 'contain', + background: 'white', + }, + }, + apple: { + sizes: [180], + padding: 0.3, + resizeOptions: { + fit: 'contain', + background: 'white', + }, + }, +} + +const root = process.cwd() + +const publicFolders = ['public', 'public-dev', 'public-staging'].map(folder => resolve(root, folder)) + +async function optimizePng(filePath: string, png: PngOptions) { + await sharp(filePath).png(png).toFile(`${filePath.replace(/-temp\.png$/, '.png')}`) + await rm(filePath) +} + +async function generateTransparentIcons(icons: ResolvedIcons, svgLogo: string, folder: string) { + const { sizes, padding, resizeOptions } = icons.transparent + await Promise.all(sizes.map(async (size) => { + const filePath = resolve(folder, icons.iconName('transparent', size)) + await sharp({ + create: { + width: size, + height: size, + channels: 4, + background: { r: 0, g: 0, b: 0, alpha: 0 }, + }, + }).composite([{ + input: await sharp(svgLogo) + .resize( + Math.round(size * (1 - padding)), + Math.round(size * (1 - padding)), + resizeOptions, + ).toBuffer(), + }]).toFile(filePath) + await optimizePng(filePath, icons.png) + })) +} + +async function generateMaskableIcons(type: IconType, icons: ResolvedIcons, svgLogo: string, folder: string) { + const { sizes, padding, resizeOptions } = icons[type] + await Promise.all(sizes.map(async (size) => { + const filePath = resolve(folder, icons.iconName(type, size)) + await sharp({ + create: { + width: size, + height: size, + channels: 4, + background: resizeOptions?.background ?? 'white', + }, + }).composite([{ + input: await sharp(svgLogo) + .resize( + Math.round(size * (1 - padding)), + Math.round(size * (1 - padding)), + resizeOptions, + ).toBuffer(), + }]).toFile(filePath) + await optimizePng(filePath, icons.png) + })) +} + +async function generatePWAIconForEnv(folder: string, icons: ResolvedIcons) { + const svgLogo = resolve(folder, 'logo.svg') + await Promise.all([ + generateTransparentIcons(icons, svgLogo, folder), + generateMaskableIcons('maskable', icons, svgLogo, folder), + generateMaskableIcons('apple', icons, svgLogo, folder), + ]) + + if (icons.ico) { + const { + icoName = size => `favicon-${size}x${size}.ico`, + } = icons.ico + await Promise.all(icons.ico.sizes.map(async (size) => { + const png = await sharp( + resolve(folder, icons.iconName('transparent', size).replace(/-temp\.png$/, '.png')), + ).toFormat('png').toBuffer() + await writeFile(resolve(folder, icoName(size)), ico.encode([png])) + })) + } +} + +async function generatePWAIcons(folders: string[], icons: Icons) { + const { + png = { compressionLevel: 9, quality: 60 }, + iconName = (type, size) => { + switch (type) { + case 'transparent': + return `pwa-${size}x${size}.png` + case 'maskable': + return `maskable-icon-${size}x${size}.png` + case 'apple': + return `apple-touch-icon-${size}x${size}.png` + } + }, + transparent = { ...defaultIcons.transparent }, + maskable = { ...defaultIcons.maskable }, + apple = { ...defaultIcons.apple }, + ico, + } = icons + + if (!transparent.resizeOptions) + transparent.resizeOptions = { ...defaultIcons.transparent.resizeOptions } + + if (!maskable.resizeOptions) + maskable.resizeOptions = { ...defaultIcons.maskable.resizeOptions } + + if (!apple.resizeOptions) + apple.resizeOptions = { ...defaultIcons.apple.resizeOptions } + + await Promise.all(folders.map(folder => generatePWAIconForEnv(folder, { + png, + iconName, + transparent, + maskable, + apple, + ico, + }))) +} + +console.log('Generating Elk PWA Icons...') + +generatePWAIcons(publicFolders, { + transparent: { ...defaultIcons.transparent, sizes: [64, 192, 512] }, + ico: { sizes: [64], icoName: _ => 'favicon.ico' }, + iconName: (type, size) => { + switch (type) { + case 'transparent': + return `pwa-${size}x${size}-temp.png` + case 'maskable': + return 'maskable-icon-temp.png' + case 'apple': + return 'apple-touch-icon-temp.png' + } + }, +}).then(() => console.log('Elk PWA Icons generated')).catch(console.error)