diff --git a/nuxt4/app/app.vue b/nuxt4/app/app.vue index 1b35262..adae9c7 100644 --- a/nuxt4/app/app.vue +++ b/nuxt4/app/app.vue @@ -3,6 +3,9 @@ + + + @@ -54,6 +57,9 @@ const showProfileForm = ref(false) // Configurar meta tags para PWA useHead({ + htmlAttrs: { + lang: 'es' + }, link: [ { rel: 'manifest', href: '/manifest.webmanifest' }, { rel: 'icon', type: 'image/svg+xml', href: '/icon.svg' }, @@ -63,7 +69,9 @@ useHead({ { name: 'theme-color', content: '#00DC82' }, { name: 'mobile-web-app-capable', content: 'yes' }, { name: 'apple-mobile-web-app-capable', content: 'yes' }, - { name: 'apple-mobile-web-app-status-bar-style', content: 'default' } + { name: 'apple-mobile-web-app-status-bar-style', content: 'default' }, + { name: 'language', content: 'es' }, + { property: 'og:locale', content: 'es_ES' } ] }) @@ -73,7 +81,9 @@ useHead({ position: relative; z-index: 1; min-height: 100vh; - padding-top: 2rem; + /* Ajustar padding cuando Window Controls Overlay está activo */ + padding-top: max(2rem, env(titlebar-area-height, 0px)); + padding-top: max(2rem, calc(env(titlebar-area-height, 0px) + 1rem)); } .quick-actions { diff --git a/nuxt4/app/components/WindowTitleBar.vue b/nuxt4/app/components/WindowTitleBar.vue new file mode 100644 index 0000000..43de07c --- /dev/null +++ b/nuxt4/app/components/WindowTitleBar.vue @@ -0,0 +1,101 @@ + + + + + + + diff --git a/nuxt4/app/components/auth/EditProfileButton.vue b/nuxt4/app/components/auth/EditProfileButton.vue index d1ffc8a..bb7314e 100644 --- a/nuxt4/app/components/auth/EditProfileButton.vue +++ b/nuxt4/app/components/auth/EditProfileButton.vue @@ -21,7 +21,7 @@ /> - + - + { if (!groupName || typeof groupName !== 'string') { throw createError({ statusCode: 400, - statusMessage: 'Group name is required' + statusMessage: 'El nombre del grupo es requerido' }) }