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'
})
}