diff --git a/app/components/chat/CommandPalette.vue b/app/components/chat/CommandPalette.vue index 8419cc5..6b78859 100644 --- a/app/components/chat/CommandPalette.vue +++ b/app/components/chat/CommandPalette.vue @@ -45,10 +45,15 @@ defineShortcuts({ t: () => toggleDark({ clientX: window.innerWidth / 2, clientY: window.innerHeight }), }) +const isMobile = computed(() => { + if (!import.meta.client) + return false + return isMobileDevice(navigator.userAgent, window.innerWidth) +}) const activeElement = useActiveElement() watch(openMessageModal, async () => { await nextTick() - if (activeElement.value instanceof HTMLElement) { + if (activeElement.value instanceof HTMLElement && isMobile.value) { activeElement.value.blur() } }) diff --git a/app/error.vue b/app/error.vue index 5d4eca9..038036e 100644 --- a/app/error.vue +++ b/app/error.vue @@ -10,12 +10,12 @@ const { t } = useI18n()

{{ t('error.main') }} - - - {{ t('error.redirect') }} - -

+ + + {{ t('error.redirect') }} + + diff --git a/app/pages/canva.vue b/app/pages/canva.vue index 395ab7f..3ad81b7 100644 --- a/app/pages/canva.vue +++ b/app/pages/canva.vue @@ -1,7 +1,263 @@ diff --git a/app/pages/projects/[slug].vue b/app/pages/projects/[slug].vue index 340ba92..7e457f1 100644 --- a/app/pages/projects/[slug].vue +++ b/app/pages/projects/[slug].vue @@ -3,6 +3,13 @@ const route = useRoute() const { data: project } = await useAsyncData(`projects/${route.params.slug}`, () => queryCollection('projects').path(`/projects/${route.params.slug}`).first()) +if (!project.value) { + throw createError({ + statusCode: 404, + statusMessage: `Project "${route.params.slug}" not found`, + }) +} + useSeoMeta({ title: project.value?.title, description: project.value?.description, @@ -11,7 +18,7 @@ useSeoMeta({