diff --git a/.env.example b/.env.example index c318ed3..72c1cdb 100644 --- a/.env.example +++ b/.env.example @@ -1 +1,3 @@ -NUXT_PUBLIC_BACKEND_URL=http://localhost:3100 +NUXT_PUBLIC_API_BASE=http://localhost:3100 +NUXT_PUBLIC_URL_BASE=http://localhost:3000 +NUXT_PUBLIC_FEDIVERSE_CREATOR="@user@instance.example" diff --git a/app/app.vue b/app/app.vue index d08249c..80318a1 100644 --- a/app/app.vue +++ b/app/app.vue @@ -13,11 +13,27 @@ import * as locales from '@nuxt/ui/locale'; const { locale } = useI18n(); const lang = computed(() => locales[locale.value].code); const dir = computed(() => locales[locale.value].dir); +const { urlBase, fediverseCreator } = useRuntimeConfig().public; +const route = useRoute(); +const url = computed(() => urlBase.replace(/\/+$/, '') + route.fullPath); useHead({ htmlAttrs: { dir, lang, }, + link: [ + { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/favicon-32x32.png' }, + { rel: 'icon', type: 'image/png', sizes: '16x16', href: '/favicon-16x16.png' }, + { rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' }, + { rel: 'manifest', href: '/site.webmanifest' }, + ], + meta: fediverseCreator !== '' ? [{ name: 'fediverse:creator', content: fediverseCreator + '' }] : [], +}); + +useSeoMeta({ + ogImage: '/leon.png', + twitterImage: '/leon.png', + ogUrl: url, }); diff --git a/nuxt.config.ts b/nuxt.config.ts index 033d3a2..414d840 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -73,6 +73,8 @@ export default defineNuxtConfig({ runtimeConfig: { public: { apiBase: process.env.NUXT_PUBLIC_API_BASE || 'http://localhost:3100/api', + urlBase: process.env.NUXT_PUBLIC_URL_BASE || 'http://localhost:3000/', + fediverseCreator: process.env.NUXT_PUBLIC_FEDIVERSE_CREATOR || '' } }, nitro: { diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000..a5959fa Binary files /dev/null and b/public/android-chrome-192x192.png differ diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000..9b7c8d0 Binary files /dev/null and b/public/android-chrome-512x512.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000..1f4a2ea Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000..d0e2c4e Binary files /dev/null and b/public/favicon-16x16.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000..56e8ebb Binary files /dev/null and b/public/favicon-32x32.png differ diff --git a/public/favicon.ico b/public/favicon.ico index 18993ad..4fe8205 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/leon.png b/public/leon.png new file mode 100644 index 0000000..a1ee277 Binary files /dev/null and b/public/leon.png differ diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file