From dc69b8344ac5e64a6f96470537fa7cccb07d83d3 Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Wed, 17 Dec 2025 10:43:44 +0100 Subject: [PATCH] feat: update environment variables and API endpoints for improved configuration --- .env.example | 5 ++++- app/components/home/Activity.vue | 4 ++-- app/components/home/CatchPhrase.vue | 4 ++-- app/components/home/Quote.vue | 2 +- app/components/home/Stats.vue | 6 +++--- app/pages/index.vue | 6 +++--- nuxt.config.ts | 4 +++- server/api/activity.get.ts | 4 ++++ server/api/stats.get.ts | 4 ++++ 9 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 server/api/activity.get.ts create mode 100644 server/api/stats.get.ts diff --git a/.env.example b/.env.example index 7f76e40..e212e12 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,5 @@ NUXT_PUBLIC_I18N_BASE_URL= -NUXT_ARTAPI= +NUXT_API_URL= + +STUDIO_GITHUB_CLIENT_ID= +STUDIO_GITHUB_CLIENT_SECRET= \ No newline at end of file diff --git a/app/components/home/Activity.vue b/app/components/home/Activity.vue index 32c3356..12c5dff 100644 --- a/app/components/home/Activity.vue +++ b/app/components/home/Activity.vue @@ -7,7 +7,7 @@ const { locale, locales, t } = useI18n({ useScope: 'local', }) -const { data: activity, refresh } = await useAsyncData('activity', () => $fetch('/api/activity')) +const { data: activity, refresh } = await useAsyncData('activity', () => $fetch('/api/activity')) useIntervalFn(async () => await refresh(), 5000) const codingActivity = computed(() => { @@ -75,7 +75,7 @@ const getActivity = computed(() => {
diff --git a/app/components/home/CatchPhrase.vue b/app/components/home/CatchPhrase.vue index e99a9dc..fa378e3 100644 --- a/app/components/home/CatchPhrase.vue +++ b/app/components/home/CatchPhrase.vue @@ -9,10 +9,10 @@ const { t } = useI18n({

{{ t('quote') }}

diff --git a/app/components/home/Quote.vue b/app/components/home/Quote.vue index ffd5f27..eef16e2 100644 --- a/app/components/home/Quote.vue +++ b/app/components/home/Quote.vue @@ -11,7 +11,7 @@ const { t } = useI18n({ diff --git a/app/components/home/Stats.vue b/app/components/home/Stats.vue index 7a33802..1d15163 100644 --- a/app/components/home/Stats.vue +++ b/app/components/home/Stats.vue @@ -7,10 +7,10 @@ const { locale, locales, t } = useI18n({ }) const currentLocale = computed(() => locales.value.find(l => l.code === locale.value)) -const { data: stats } = await useAsyncData('stats', () => $fetch()) +const { data: stats } = await useAsyncData('stats', () => $fetch('/api/stats')) -const time = useTimeAgo(new Date(stats.value!.coding.data.range.start) ?? new Date()).value.split(' ')[0] -const date = useDateFormat(new Date(stats.value!.coding.data.range.start ?? new Date()), 'DD MMMM YYYY', { locales: currentLocale.value?.code ?? 'en' }) +const time = useTimeAgo(new Date(stats.value!.coding.data.range.start)).value.split(' ')[0] +const date = useDateFormat(new Date(stats.value!.coding.data.range.start), 'DD MMMM YYYY', { locales: currentLocale.value?.code ?? 'en' }) const hours = usePrecision(stats.value!.coding.data.grand_total.total_seconds_including_other_language / 3600, 0) diff --git a/app/pages/index.vue b/app/pages/index.vue index eb39d40..a27fa98 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -16,9 +16,9 @@ const { data: page } = await useAsyncData(`/home/${locale.value}`, () => { diff --git a/nuxt.config.ts b/nuxt.config.ts index f2919bb..442cb22 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -101,7 +101,9 @@ export default defineNuxtConfig({ }, runtimeConfig: { - artapi: '', + api: { + url: '' + }, public: { i18n: { baseUrl: '', diff --git a/server/api/activity.get.ts b/server/api/activity.get.ts new file mode 100644 index 0000000..ff26bad --- /dev/null +++ b/server/api/activity.get.ts @@ -0,0 +1,4 @@ +export default defineEventHandler(async (event) => { + const config = useRuntimeConfig(event) + return await $fetch(`${config.api.url}/api/activity`) +}) \ No newline at end of file diff --git a/server/api/stats.get.ts b/server/api/stats.get.ts new file mode 100644 index 0000000..af893db --- /dev/null +++ b/server/api/stats.get.ts @@ -0,0 +1,4 @@ +export default defineEventHandler(async (event) => { + const config = useRuntimeConfig(event) + return await $fetch(`${config.api.url}/api/stats`) +}) \ No newline at end of file