diff --git a/index.html b/index.html
index 2a02b4f..14d6529 100644
--- a/index.html
+++ b/index.html
@@ -3,7 +3,12 @@
- React application
+
+
+
+
+
+ TooDo
diff --git a/package.json b/package.json
index f433acb..90159ad 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,8 @@
"@types/react-dom": "^17.0.9",
"serve": "^12.0.0",
"typescript": "^4.4.2",
- "vite": "^2.5.3"
+ "vite": "^2.5.3",
+ "vite-plugin-pwa": "^0.11.3"
},
"dependencies": {
"@mui/icons-material": "^5.0.3",
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..0e729d2
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 0000000..82fa5ac
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1,70 @@
+
+
+
+
diff --git a/public/pwa-192x192.png b/public/pwa-192x192.png
new file mode 100644
index 0000000..bfaad66
Binary files /dev/null and b/public/pwa-192x192.png differ
diff --git a/public/pwa-512x512.png b/public/pwa-512x512.png
new file mode 100644
index 0000000..d2be29a
Binary files /dev/null and b/public/pwa-512x512.png differ
diff --git a/public/pwa-maskable-512x512.png b/public/pwa-maskable-512x512.png
new file mode 100644
index 0000000..db3a9bc
Binary files /dev/null and b/public/pwa-maskable-512x512.png differ
diff --git a/vite.config.js b/vite.config.js
deleted file mode 100644
index 2ac486d..0000000
--- a/vite.config.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import { defineConfig } from "vite";
-
-export default defineConfig({
- build: {
- rollupOptions: {
- output: {
- entryFileNames: "assets/[name].js",
- chunkFileNames: `assets/[name].js`,
- assetFileNames: "assets/[name][extname]",
- },
- },
- },
-});
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..d6a1e9c
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,34 @@
+import { defineConfig } from "vite";
+import { VitePWA } from "vite-plugin-pwa";
+
+export default defineConfig({
+ plugins: [
+ VitePWA({
+ includeAssets: ["robots.txt", "favicon.ico", "favicon.svg"],
+ manifest: {
+ name: "TooDo",
+ short_name: "TooDo",
+ description: "Task management application",
+ theme_color: "#ffffff",
+ icons: [
+ {
+ src: "pwa-192x192.png",
+ sizes: "192x192",
+ type: "image/png",
+ },
+ {
+ src: "pwa-512x512.png",
+ sizes: "512x512",
+ type: "image/png",
+ },
+ {
+ src: "pwa-maskable-512x512.png",
+ sizes: "512x512",
+ type: "image/png",
+ purpose: "any maskable",
+ },
+ ],
+ },
+ }),
+ ],
+});