From b45437bd0b774146c8e5cb2b69512c3a4bfb43a6 Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Tue, 28 Sep 2021 20:14:21 +0800 Subject: [PATCH] feat: add pwa --- web/assets/images/logo/logo@192.png | Bin 0 -> 23791 bytes web/assets/images/logo/logo@32.png | Bin 0 -> 2841 bytes web/assets/images/logo/logo@512.png | Bin 0 -> 21693 bytes web/assets/pwa.webmanifest | 26 ++++++++++++++++++++++++++ web/assets/template.html | 1 + web/webpack.config.ts | 8 ++++++++ 6 files changed, 35 insertions(+) create mode 100644 web/assets/images/logo/logo@192.png create mode 100644 web/assets/images/logo/logo@32.png create mode 100644 web/assets/images/logo/logo@512.png create mode 100644 web/assets/pwa.webmanifest diff --git a/web/assets/images/logo/logo@192.png b/web/assets/images/logo/logo@192.png new file mode 100644 index 0000000000000000000000000000000000000000..d6cd81c73a1bc89b6aa8ddd4aedcb1784a131d0a GIT binary patch literal 23791 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 P00000NkvXXu0mjfI2$S} literal 0 HcmV?d00001 diff --git a/web/assets/images/logo/logo@32.png b/web/assets/images/logo/logo@32.png new file mode 100644 index 0000000000000000000000000000000000000000..44bfcd1a5dfadac6ce9f4d11e3c207505c5e0aa9 GIT binary patch literal 2841 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 ImeiyF0a#bD-T(jq literal 0 HcmV?d00001 diff --git a/web/assets/images/logo/logo@512.png b/web/assets/images/logo/logo@512.png new file mode 100644 index 0000000000000000000000000000000000000000..eb5812955f488c45fc18b15b990d51647702f783 GIT binary patch literal 21693 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 literal 0 HcmV?d00001 diff --git a/web/assets/pwa.webmanifest b/web/assets/pwa.webmanifest new file mode 100644 index 00000000..ef78cb8e --- /dev/null +++ b/web/assets/pwa.webmanifest @@ -0,0 +1,26 @@ +{ + "name": "TailChat Application", + "short_name": "TailChat", + "description": "A open source chat application", + "icons": [ + { + "src": "/images/logo/logo@32.png", + "sizes": "32x32", + "type": "image/png" + }, + { + "src": "/images/logo/logo@192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/images/logo/logo@512.png", + "sizes": "512x512", + "type": "image/svg" + } + ], + "start_url": "/", + "display": "standalone", + "theme_color": "#374151", + "background_color": "#374151" +} diff --git a/web/assets/template.html b/web/assets/template.html index d0a03ec6..011649c6 100644 --- a/web/assets/template.html +++ b/web/assets/template.html @@ -11,6 +11,7 @@ + <%= htmlWebpackPlugin.options.title %> diff --git a/web/webpack.config.ts b/web/webpack.config.ts index ca14c8e1..3e28af00 100644 --- a/web/webpack.config.ts +++ b/web/webpack.config.ts @@ -138,6 +138,14 @@ const config: Configuration = { from: path.resolve(__dirname, '../locales'), to: 'locales', }, + { + from: path.resolve(__dirname, './assets/pwa.webmanifest'), + to: 'pwa.webmanifest', + }, + { + from: path.resolve(__dirname, './assets/images/logo/'), + to: 'images/logo/', + }, ], }) as any, new MiniCssExtractPlugin({ filename: 'styles-[contenthash].css' }),