diff --git a/public/favicon/android-chrome-192x192.png b/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000..7284fbe Binary files /dev/null and b/public/favicon/android-chrome-192x192.png differ diff --git a/public/favicon/android-chrome-maskable-192x192.png b/public/favicon/android-chrome-maskable-192x192.png new file mode 100644 index 0000000..7284fbe Binary files /dev/null and b/public/favicon/android-chrome-maskable-192x192.png differ diff --git a/public/favicon/android-chrome-maskable-512x512.png b/public/favicon/android-chrome-maskable-512x512.png new file mode 100644 index 0000000..cb0ef27 Binary files /dev/null and b/public/favicon/android-chrome-maskable-512x512.png differ diff --git a/public/favicon/apple-touch-icon-120x120.png b/public/favicon/apple-touch-icon-120x120.png new file mode 100644 index 0000000..902f4e7 Binary files /dev/null and b/public/favicon/apple-touch-icon-120x120.png differ diff --git a/public/favicon/apple-touch-icon-152x152.png b/public/favicon/apple-touch-icon-152x152.png new file mode 100644 index 0000000..03a8e9d Binary files /dev/null and b/public/favicon/apple-touch-icon-152x152.png differ diff --git a/public/favicon/apple-touch-icon-180x180.png b/public/favicon/apple-touch-icon-180x180.png new file mode 100644 index 0000000..ee11fc8 Binary files /dev/null and b/public/favicon/apple-touch-icon-180x180.png differ diff --git a/public/favicon/apple-touch-icon-60x60.png b/public/favicon/apple-touch-icon-60x60.png new file mode 100644 index 0000000..cec266b Binary files /dev/null and b/public/favicon/apple-touch-icon-60x60.png differ diff --git a/public/favicon/apple-touch-icon-76x76.png b/public/favicon/apple-touch-icon-76x76.png new file mode 100644 index 0000000..e9d21fc Binary files /dev/null and b/public/favicon/apple-touch-icon-76x76.png differ diff --git a/public/favicon/apple-touch-icon.png b/public/favicon/apple-touch-icon.png new file mode 100644 index 0000000..ee11fc8 Binary files /dev/null and b/public/favicon/apple-touch-icon.png differ diff --git a/public/favicon/favicon-16x16.png b/public/favicon/favicon-16x16.png new file mode 100644 index 0000000..11214a7 Binary files /dev/null and b/public/favicon/favicon-16x16.png differ diff --git a/public/favicon/favicon-32x32.png b/public/favicon/favicon-32x32.png new file mode 100644 index 0000000..fa24521 Binary files /dev/null and b/public/favicon/favicon-32x32.png differ diff --git a/public/favicon/favicon.ico b/public/favicon/favicon.ico new file mode 100644 index 0000000..243d8c5 Binary files /dev/null and b/public/favicon/favicon.ico differ diff --git a/public/favicon/msapplication-icon-144x144.png b/public/favicon/msapplication-icon-144x144.png new file mode 100644 index 0000000..268c626 Binary files /dev/null and b/public/favicon/msapplication-icon-144x144.png differ diff --git a/public/favicon/mstile-150x150.png b/public/favicon/mstile-150x150.png new file mode 100644 index 0000000..d40a4b3 Binary files /dev/null and b/public/favicon/mstile-150x150.png differ diff --git a/public/favicon/safari-pinned-tab.svg b/public/favicon/safari-pinned-tab.svg new file mode 100644 index 0000000..6c4831c --- /dev/null +++ b/public/favicon/safari-pinned-tab.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..c2a49f4 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Allow: / diff --git a/vite.config.ts b/vite.config.ts index de5cb31..5d700d3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,11 +1,95 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' +import { fileURLToPath, URL } from 'node:url' +import { defineConfig } from 'vite' +import { VitePWA } from 'vite-plugin-pwa' // https://vitejs.dev/config/ export default defineConfig({ - plugins: [vue()], + plugins: [ + vue(), + VitePWA({ + manifest: { + name: 'Loopycode', + short_name: 'Loopycode', + description: 'Feedback loop when coding', + theme_color: '#192a56', + icons: [ + { + src: 'favicon/apple-touch-icon-60x60.png', + sizes: '60x60', + type: 'image/png' + }, + { + src: 'favicon/apple-touch-icon-76x76.png', + sizes: '76x76', + type: 'image/png' + }, + { + src: 'favicon/apple-touch-icon-120x120.png', + sizes: '120x120', + type: 'image/png' + }, + { + src: 'favicon/apple-touch-icon-152x152.png', + sizes: '152x152', + type: 'image/png' + }, + { + src: 'favicon/apple-touch-icon-180x180.png', + sizes: '180x180', + type: 'image/png' + }, + { + src: 'favicon/apple-touch-icon.png', + sizes: '180x180', + type: 'image/png' + }, + { + src: 'favicon/favicon-16x16.png', + sizes: '16x16', + type: 'image/png' + }, + { + src: 'favicon/favicon-32x32.png', + sizes: '32x32', + type: 'image/png' + }, + { + src: 'favicon/msapplication-icon-144x144.png', + sizes: '144x144', + type: 'image/png' + }, + { + src: 'favicon/mstile-150x150.png', + sizes: '150x150', + type: 'image/png' + }, + { + src: 'favicon/android-chrome-192x192.png', + sizes: '192x192', + type: 'image/png' + }, + { + src: 'favicon/android-chrome-512x512.png', + sizes: '512x512', + type: 'image/png' + }, + { + src: 'favicon/android-chrome-maskable-192x192.png', + sizes: '192x192', + type: 'image/png', + purpose: 'maskable' + }, + { + src: 'favicon/android-chrome-maskable-512x512.png', + sizes: '512x512', + type: 'image/png', + purpose: 'maskable' + } + ] + } + }) + ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url))