diff --git a/frontend/src/components/AppHeader.vue b/frontend/src/components/AppHeader.vue index e3f6273..6b7e7b8 100644 --- a/frontend/src/components/AppHeader.vue +++ b/frontend/src/components/AppHeader.vue @@ -177,6 +177,34 @@ const handleLogout = () => { gap: 12px; } +.admin-badge, .driver-badge { + padding: 4px 8px; + border-radius: 6px; + font-size: 10px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 1px; + white-space: nowrap; +} + +.admin-badge { + background: rgba(254, 231, 21, 0.15); + color: var(--active-color); + border: 1px solid rgba(254, 231, 21, 0.3); +} + +.driver-badge { + background: rgba(74, 222, 128, 0.15); + color: #4ade80; + border: 1px solid rgba(74, 222, 128, 0.3); +} + +@media (max-width: 600px) { + .admin-badge, .driver-badge { + display: none; + } +} + .header-title { font-size: 24px; font-weight: 800; diff --git a/frontend/src/i18n/locales/en.json b/frontend/src/i18n/locales/en.json index 4d5e71e..10a317c 100644 --- a/frontend/src/i18n/locales/en.json +++ b/frontend/src/i18n/locales/en.json @@ -267,7 +267,19 @@ "socialMedia": "Social Media", "availableOffers": "Available Offers", "viewBusiness": "View Business", - "loadingPremium": "Loading premium experience..." + "loadingPremium": "Loading premium experience...", + "loading": "Loading business...", + "offlineTitle": "Offline", + "offlineDesc": "We couldn't load the data. Check your internet connection and try again.", + "website": "Website", + "gallery": "📸 Gallery", + "about": "About the place", + "contactUs": "Contact us", + "offers": "🎁 Available Offers", + "viewMap": "View on Map", + "call": "Call", + "previous": "Previous", + "next": "Next" }, "profile": { "title": "Profile", diff --git a/frontend/src/i18n/locales/es.json b/frontend/src/i18n/locales/es.json index c81c99f..06810d1 100644 --- a/frontend/src/i18n/locales/es.json +++ b/frontend/src/i18n/locales/es.json @@ -271,7 +271,19 @@ "availableOffers": "Ofertas Disponibles", "viewBusiness": "Ver Negocio", "getDirections": "Cómo llegar", - "loadingPremium": "Cargando experiencia premium..." + "loadingPremium": "Cargando experiencia premium...", + "loading": "Cargando negocio...", + "offlineTitle": "Sin conexión", + "offlineDesc": "No pudimos cargar los datos. Revisa tu internet e intenta de nuevo.", + "website": "Sitio Web", + "gallery": "📸 Galería", + "about": "Sobre el lugar", + "contactUs": "Contáctanos", + "offers": "🎁 Ofertas Disponibles", + "viewMap": "Ver en el Mapa", + "call": "Llamar", + "previous": "Anterior", + "next": "Siguiente" }, "profile": { "title": "Perfil", diff --git a/frontend/src/views/AdminPanel.vue b/frontend/src/views/AdminPanel.vue index 8b93fcf..3edc377 100644 --- a/frontend/src/views/AdminPanel.vue +++ b/frontend/src/views/AdminPanel.vue @@ -268,7 +268,14 @@ h1 { @media (max-width: 600px) { .admin-panel { padding: 30px 16px 120px; } - .category-grid { grid-template-columns: 1fr; } + .category-grid { + flex-direction: column; + align-items: center; + } + .action-card { + width: 100%; + max-width: 340px; + } .header-section { text-align: center; padding: 0; } } diff --git a/frontend/src/views/BusinessDetailsView.vue b/frontend/src/views/BusinessDetailsView.vue index 2901619..5fd8db1 100644 --- a/frontend/src/views/BusinessDetailsView.vue +++ b/frontend/src/views/BusinessDetailsView.vue @@ -9,6 +9,9 @@ import { getImageUrl as utilGetImageUrl } from '@/utils/imageUrl' import { analyticsService } from '@/services/analyticsService' import LoadingBranded from '@/components/common/LoadingBranded.vue' +import { useI18n } from 'vue-i18n' + +const { t } = useI18n() const route = useRoute() const router = useRouter() const business = ref(null) @@ -122,7 +125,7 @@ const quickInfoPills = computed(() => { if (business.value.area) pills.push({ icon: 'location_on', text: business.value.area }) if (business.value.schedule) pills.push({ icon: 'schedule', text: business.value.schedule }) if (business.value.phone) pills.push({ icon: 'phone', text: business.value.phone }) - if (business.value.website) pills.push({ icon: 'language', text: 'Sitio Web', href: business.value.website }) + if (business.value.website) pills.push({ icon: 'language', text: t('business.website'), href: business.value.website }) return pills }) @@ -135,17 +138,17 @@ const hasSocials = computed(() =>