diff --git a/package-lock.json b/package-lock.json index 325e69cc..39d9786b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "@types/styled-components": "^5.1.34", "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", - "@vite-pwa/assets-generator": "^0.2.4", + "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react": "^4.2.1", "@vitejs/plugin-react-swc": "^3.5.0", "eslint": "^8.57.0", diff --git a/package.json b/package.json index 1b4a6784..71989975 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "pwa": "pwa-assets-generator --preset minimal public/test.svg", "format": "prettier --check --ignore-path .gitignore \"**/*.{ts,tsx}\"", "format:fix": "prettier --write --ignore-path .gitignore \"**/*.{ts,tsx}\"", - "build-and-test": "npm run build && lhci autorun" + "build-and-test": "npm run build && lhci autorun", + "gen-pwa": "pwa-assets-generator --preset minimal public/favicon.svg" }, "dependencies": { "@emotion/react": "^11.13.5", @@ -48,9 +49,7 @@ "@types/styled-components": "^5.1.34", "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", - "@types/ol": "^7.0.0", - "@types/react-textarea-autosize": "^8.0.0", - "@vite-pwa/assets-generator": "^0.2.4", + "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react": "^4.2.1", "@vitejs/plugin-react-swc": "^3.5.0", "eslint": "^8.57.0", diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 00000000..7f12744a Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/favicon.svg b/public/favicon.svg index 733f4fb4..dfef3a37 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,130 +1,13 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/public/icons/apple-touch-icon-180x180.png b/public/icons/apple-touch-icon-180x180.png new file mode 100644 index 00000000..cad0e90f Binary files /dev/null and b/public/icons/apple-touch-icon-180x180.png differ diff --git a/public/icons/maskable-icon-512x512.png b/public/icons/maskable-icon-512x512.png new file mode 100644 index 00000000..1392ca06 Binary files /dev/null and b/public/icons/maskable-icon-512x512.png differ diff --git a/public/icons/pwa-192x192.png b/public/icons/pwa-192x192.png new file mode 100644 index 00000000..bffe25db Binary files /dev/null and b/public/icons/pwa-192x192.png differ diff --git a/public/icons/pwa-512x512.png b/public/icons/pwa-512x512.png new file mode 100644 index 00000000..31c36776 Binary files /dev/null and b/public/icons/pwa-512x512.png differ diff --git a/public/icons/pwa-64x64.png b/public/icons/pwa-64x64.png new file mode 100644 index 00000000..479f8a24 Binary files /dev/null and b/public/icons/pwa-64x64.png differ diff --git a/src/pages/SocialPage/components/ChatItem/index.tsx b/src/pages/SocialPage/components/ChatItem/index.tsx index 4e2f0965..abfbc2c1 100644 --- a/src/pages/SocialPage/components/ChatItem/index.tsx +++ b/src/pages/SocialPage/components/ChatItem/index.tsx @@ -32,9 +32,11 @@ export default function ChatItem({ lastMessage, members, name, unreadMessageCoun {lastMessage} - - {unreadMessageCount} - + {unreadMessageCount ? ( + + {unreadMessageCount} + + ) : null} ) } diff --git a/vite.config.ts b/vite.config.ts index a8982d1f..4a46516c 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -41,7 +41,7 @@ export default defineConfig(({ mode }) => { strategies: 'injectManifest', srcDir: 'src', filename: 'sw.ts', - registerType: 'prompt', + registerType: 'autoUpdate', injectRegister: false, pwaAssets: { @@ -52,10 +52,44 @@ export default defineConfig(({ mode }) => { manifest: { name: 'DDang', short_name: 'DDang', + start_url: '/', description: '반려견 산책 서비스', - theme_color: '#ffffff', + theme_color: '#783D16', //? + background_color: '#783D16', //? + display: 'standalone', + categories: ['lifestyle', 'pets'], + icons: [ + { + src: '/icons/pwa-192x192.png', + sizes: '192x192', + type: 'image/png', + }, + { + src: '/icons/pwa-512x512.png', + sizes: '512x512', + type: 'image/png', + }, + { + src: '/icons/maskable-icon-512x512.png', + sizes: '512x512', + type: 'image/png', + purpose: 'maskable', + }, + { + src: '/icons/apple-touch-icon-180x180.png', + sizes: '180x180', + type: 'image/png', + purpose: 'apple touch icon', + }, + { + src: '/icons/pwa-64x64.png', + sizes: '64x64', + type: 'image/png', + }, + ], }, + useCredentials: true, injectManifest: { globPatterns: ['**/*.{js,css,html,svg,png,ico}'], },