feat: improve seo, trust signals, and performance
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
---
|
||||
interface Props {
|
||||
name:
|
||||
| 'architecture'
|
||||
| 'arrow-forward'
|
||||
| 'auto-awesome'
|
||||
| 'call'
|
||||
| 'chat'
|
||||
| 'history-edu'
|
||||
| 'language'
|
||||
| 'local-florist'
|
||||
| 'restaurant-menu'
|
||||
| 'verified';
|
||||
class?: string;
|
||||
size?: number;
|
||||
}
|
||||
|
||||
const { name, class: className, size = 20 } = Astro.props;
|
||||
|
||||
const icons: Record<Props['name'], { viewBox: string; markup: string }> = {
|
||||
architecture: {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="M3 21h18" /><path d="M5 21V9" /><path d="M19 21V9" /><path d="M8 21v-5" /><path d="M12 21v-5" /><path d="M16 21v-5" /><path d="M4 9h16" /><path d="M12 3 3 9h18L12 3Z" />',
|
||||
},
|
||||
'arrow-forward': {
|
||||
viewBox: '0 0 24 24',
|
||||
markup: '<path d="M5 12h14" /><path d="m13 6 6 6-6 6" />',
|
||||
},
|
||||
'auto-awesome': {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="m12 3 1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3Z" /><path d="m19 14 .8 2.2L22 17l-2.2.8L19 20l-.8-2.2L16 17l2.2-.8L19 14Z" /><path d="m5 14 .8 2.2L8 17l-2.2.8L5 20l-.8-2.2L2 17l2.2-.8L5 14Z" />',
|
||||
},
|
||||
call: {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="M4.5 6.8c0 7 5.7 12.7 12.7 12.7h1.9a1.4 1.4 0 0 0 1.4-1.4v-2.4a1.4 1.4 0 0 0-1.2-1.4l-3.2-.4a1.4 1.4 0 0 0-1.4.8l-.7 1.4a11.4 11.4 0 0 1-6.1-6.1l1.4-.7a1.4 1.4 0 0 0 .8-1.4l-.4-3.2A1.4 1.4 0 0 0 8.3 3.5H5.9A1.4 1.4 0 0 0 4.5 4.9v1.9Z" />',
|
||||
},
|
||||
chat: {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="M7 18H4a1 1 0 0 1-1-1V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v6a4 4 0 0 1-4 4H9l-4 4v-3Z" /><path d="M8 9h8" /><path d="M8 13h5" />',
|
||||
},
|
||||
'history-edu': {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="M4 5.5A2.5 2.5 0 0 1 6.5 3H20v16H6.5A2.5 2.5 0 0 0 4 21.5V5.5Z" /><path d="M8 7h7" /><path d="M8 11h8" /><path d="M8 15h5" /><path d="M4 21.5A2.5 2.5 0 0 1 6.5 19" />',
|
||||
},
|
||||
language: {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z" /><path d="M3 12h18" /><path d="M12 3a14.5 14.5 0 0 1 0 18" /><path d="M12 3a14.5 14.5 0 0 0 0 18" />',
|
||||
},
|
||||
'local-florist': {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="M12 13.5c1.8-2.1 4.5-2.7 5.8-1.4 1.3 1.3.7 4-1.4 5.8-2.1 1.8-4.8 2.2-6.1.9-1.3-1.3-.9-4 .9-6.1.2-.2.5-.5.8-.7Z" /><path d="M12 13.5c-1.8-2.1-4.5-2.7-5.8-1.4-1.3 1.3-.7 4 1.4 5.8 2.1 1.8 4.8 2.2 6.1.9 1.3-1.3.9-4-.9-6.1-.2-.2-.5-.5-.8-.7Z" /><path d="M12 13.5c2.7-.8 4.4-2.9 3.8-4.7-.6-1.8-3.4-2.5-6.1-1.7-2.7.8-4.4 2.9-3.8 4.7.6 1.8 3.4 2.5 6.1 1.7Z" /><path d="M12 13.5V21" /><path d="M10 21h4" />',
|
||||
},
|
||||
'restaurant-menu': {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="M6 3v7" /><path d="M9 3v7" /><path d="M6 7h3" /><path d="M7.5 10v11" /><path d="M15 3c1.7 2 2.5 4.1 2.5 6.3V21" /><path d="M15 10.5c-1.4 0-2.5-1.1-2.5-2.5S13.6 5.5 15 5.5" />',
|
||||
},
|
||||
verified: {
|
||||
viewBox: '0 0 24 24',
|
||||
markup:
|
||||
'<path d="m9 12 2 2 4-4" /><path d="M12 3.5 14.6 5l3-.2 1 2.8 2.4 1.8-1 2.8 1 2.8-2.4 1.8-1 2.8-3-.2-2.6 1.5-2.6-1.5-3 .2-1-2.8L3 15.9l1-2.8-1-2.8 2.4-1.8 1-2.8 3 .2L12 3.5Z" />',
|
||||
},
|
||||
};
|
||||
|
||||
const icon = icons[name];
|
||||
---
|
||||
|
||||
<svg
|
||||
class:list={['icon', className]}
|
||||
style={`--icon-size:${size}px;`}
|
||||
viewBox={icon.viewBox}
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
stroke="currentColor"
|
||||
stroke-width="1.8"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
aria-hidden="true"
|
||||
focusable="false"
|
||||
set:html={icon.markup}
|
||||
/>
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
||||
---
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="page-wrap">
|
||||
<div class="footer-inner">
|
||||
@@ -5,12 +9,18 @@
|
||||
<div class="footer-brand">
|
||||
<a href="/" aria-label="MNQ Catering y Eventos">
|
||||
<img
|
||||
src="/images/logo-secondary.png"
|
||||
src="/images/logo-secondary.webp"
|
||||
alt="MNQ Catering y Eventos"
|
||||
width="224"
|
||||
height="224"
|
||||
style="height: 3.5rem; width: auto; mix-blend-mode: multiply; margin-bottom: 1rem;"
|
||||
/>
|
||||
</a>
|
||||
<p>© 2025 MNQ Catering y Evento. Excelencia culinaria para los momentos más importantes de su vida.</p>
|
||||
<div style="display:flex;flex-direction:column;gap:0.35rem;margin-top:var(--space-4);">
|
||||
<a href="tel:+34678171513" class="footer-link" style="width:fit-content;">+34 678 17 15 13</a>
|
||||
<a href="https://mnq.elkazurrotaberna.es" class="footer-link" style="width:fit-content;">mnq.elkazurrotaberna.es</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-links">
|
||||
@@ -29,6 +39,7 @@
|
||||
class="footer-link"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
aria-label={whatsappAriaLabel}
|
||||
>WhatsApp</a>
|
||||
<a href="/privacidad" class="footer-link">Privacidad</a>
|
||||
<a href="/cookies" class="footer-link">Cookies</a>
|
||||
@@ -38,7 +49,7 @@
|
||||
</div>
|
||||
|
||||
<div class="footer-bottom">
|
||||
<p class="text-body-sm text-muted opacity-60">
|
||||
<p class="text-body-sm">
|
||||
Excelencia culinaria · Diseño de eventos · Gastronomía de autor
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -3,6 +3,7 @@ interface Props {
|
||||
activeNav?: string;
|
||||
}
|
||||
const { activeNav } = Astro.props;
|
||||
const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
||||
|
||||
const links = [
|
||||
{ href: '/bodas-reales', label: 'Bodas', key: 'bodas' },
|
||||
@@ -21,8 +22,8 @@ const links = [
|
||||
src="/images/logo-nav-dark.webp"
|
||||
alt="MNQ Catering y Eventos"
|
||||
class="site-logo-banner"
|
||||
width="220"
|
||||
height="85"
|
||||
width="600"
|
||||
height="232"
|
||||
/>
|
||||
</a>
|
||||
|
||||
@@ -42,6 +43,7 @@ const links = [
|
||||
class="btn btn-pill nav-wa"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
aria-label={whatsappAriaLabel}
|
||||
>
|
||||
WhatsApp
|
||||
</a>
|
||||
@@ -69,6 +71,7 @@ const links = [
|
||||
class="btn btn-primary mobile-wa"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
aria-label={whatsappAriaLabel}
|
||||
style="width: 100%; justify-content: center; margin-top: 0.5rem;"
|
||||
>
|
||||
Consultar por WhatsApp
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
---
|
||||
import Icon from './Icon.astro';
|
||||
---
|
||||
|
||||
<a
|
||||
class="whatsapp-float"
|
||||
href="https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20cotizar%20mi%20evento"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
aria-label="Consultar por WhatsApp"
|
||||
aria-label="Contactar con MNQ por WhatsApp"
|
||||
>
|
||||
<span>Consultar via WhatsApp</span>
|
||||
<span>Contactar por WhatsApp</span>
|
||||
<span class="whatsapp-float-icon" aria-hidden="true">
|
||||
<span class="material-symbols-outlined" style="font-variation-settings: 'FILL' 1;">chat</span>
|
||||
<Icon name="chat" size={18} />
|
||||
</span>
|
||||
</a>
|
||||
|
||||
Reference in New Issue
Block a user