From 056def78517fc35fd02ec61ab33397d393cf9fc7 Mon Sep 17 00:00:00 2001 From: csuzhangxc Date: Sun, 1 Dec 2024 10:24:28 +0800 Subject: [PATCH] chore: making PWA installable --- src/playground/index.ejs | 1 + static/app.webmanifest | 28 ++++++++++++++++++++++++++++ static/favicon-144.png | Bin 0 -> 5138 bytes static/favicon-192.png | Bin 0 -> 7203 bytes static/favicon-48.png | Bin 0 -> 1640 bytes static/favicon-72.png | Bin 0 -> 2372 bytes static/favicon-96.png | Bin 0 -> 3325 bytes 7 files changed, 29 insertions(+) create mode 100644 static/app.webmanifest create mode 100644 static/favicon-144.png create mode 100644 static/favicon-192.png create mode 100644 static/favicon-48.png create mode 100644 static/favicon-72.png create mode 100644 static/favicon-96.png diff --git a/src/playground/index.ejs b/src/playground/index.ejs index b789b004866..7726a9fa22e 100644 --- a/src/playground/index.ejs +++ b/src/playground/index.ejs @@ -5,6 +5,7 @@ + <%= htmlWebpackPlugin.options.title %> diff --git a/static/app.webmanifest b/static/app.webmanifest new file mode 100644 index 00000000000..a628171c6d9 --- /dev/null +++ b/static/app.webmanifest @@ -0,0 +1,28 @@ +{ + "short_name": "Scratch", + "name": "Scratch", + "icons": [ + { + "src": "/static/favicon-48.png", + "sizes": "48x48" + }, + { + "src": "/static/favicon-72.png", + "sizes": "72x72" + }, + { + "src": "/static/favicon-96.png", + "sizes": "96x96" + }, + { + "src": "/static/favicon-144.png", + "sizes": "144x144" + }, + { + "src": "/static/favicon-192.png", + "sizes": "192x192" + } + ], + "start_url": "/", + "display": "standalone" +} \ No newline at end of file diff --git a/static/favicon-144.png b/static/favicon-144.png new file mode 100644 index 0000000000000000000000000000000000000000..01792712973649a48c7c731b3f4f6990061fd773 GIT binary patch literal 5138 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 As{jB1 literal 0 HcmV?d00001 diff --git a/static/favicon-192.png b/static/favicon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..e758985a423c3220cca746a8e069627fb278bd57 GIT binary patch literal 7203 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 a7U#}>%Q{NaQ{=w*2Pn&H$W^~Uh5ZjalydF> literal 0 HcmV?d00001 diff --git a/static/favicon-48.png b/static/favicon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..af6e7758f6f7297f6c70ac1fba5e446b977f07fd GIT binary patch literal 1640 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