Files
Tiber365/src/components/Footer.astro
2025-07-24 18:46:24 +02:00

156 lines
6.0 KiB
Plaintext

---
import { NAVIGATION } from '../site.config';
import { getLangFromUrl, useTranslations } from '../utils/i18n';
const lang = getLangFromUrl(Astro.url);
const t = await useTranslations(lang);
---
<footer class="bg-secondary-900 text-secondary-100 pt-16 pb-8">
<div class="container-custom">
<!-- Main footer content -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-8">
<!-- Company info -->
<div class="lg:col-span-2">
<!-- Logo -->
<div class="flex items-center space-x-2 mb-4">
<div class="h-8 w-8 flex items-center justify-center">
<img
src="/images/TIBER365.png"
alt="Tiber365 Logo"
class="h-6 w-6 object-contain"
/>
</div>
<span class="font-display font-bold text-xl text-white">Tiber365</span>
</div>
<!-- Description -->
<p class="text-secondary-300 mb-6 max-w-md leading-relaxed">
{t('footer.description')}
</p>
<!-- Contact info -->
<div class="space-y-2">
<div class="flex items-center text-secondary-300">
<svg class="h-5 w-5 mr-3 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/>
</svg>
{t('contact.info.email')}
</div>
<div class="flex items-center text-secondary-300">
<svg class="h-5 w-5 mr-3 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"/>
</svg>
{t('contact.info.phone')}
</div>
<div class="flex items-center text-secondary-300">
<svg class="h-5 w-5 mr-3 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"/>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 11a3 3 0 11-6 0 3 3 0 016 0z"/>
</svg>
{t('contact.info.address')}
</div>
</div>
</div>
<!-- Quick Links -->
<div>
<h3 class="font-semibold text-white mb-4">Quick Links</h3>
<ul class="space-y-2">
{NAVIGATION.filter(item => item.type === 'internal').map((item) => (
<li>
<a
href={item.href}
class="text-secondary-300 hover:text-primary transition-colors"
>
{t(item.label)}
</a>
</li>
))}
<li>
<a
href="/contact"
class="text-secondary-300 hover:text-primary transition-colors"
>
{t('footer.links.contact')}
</a>
</li>
</ul>
</div>
<!-- External Links -->
<div>
<h3 class="font-semibold text-white mb-4">Resources</h3>
<ul class="space-y-2">
{NAVIGATION.filter(item => item.type === 'external').map((item) => (
<li>
<a
href={item.href}
target="_blank"
rel="noopener noreferrer"
class="text-secondary-300 hover:text-primary transition-colors inline-flex items-center"
>
{t(item.label)}
<svg class="h-3 w-3 ml-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"/>
</svg>
</a>
</li>
))}
<li>
<a
href="/privacy"
class="text-secondary-300 hover:text-primary transition-colors"
>
{t('footer.links.privacy')}
</a>
</li>
<li>
<a
href="/terms"
class="text-secondary-300 hover:text-primary transition-colors"
>
{t('footer.links.terms')}
</a>
</li>
</ul>
</div>
</div>
<!-- Footer bottom -->
<div class="border-t border-secondary-800 pt-8">
<div class="flex flex-col md:flex-row justify-between items-center">
<!-- Copyright -->
<p class="text-secondary-400 text-sm">
{t('footer.copyright')}
</p>
<!-- Social links placeholder -->
<div class="flex items-center space-x-4 mt-4 md:mt-0">
<a
href="https://blog.tiber365.it"
target="_blank"
rel="noopener noreferrer"
class="text-secondary-400 hover:text-primary transition-colors"
aria-label="Blog"
>
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24">
<path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/>
</svg>
</a>
<a
href="https://support.tiber365.it"
target="_blank"
rel="noopener noreferrer"
class="text-secondary-400 hover:text-primary transition-colors"
aria-label="Support Portal"
>
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24">
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/>
</svg>
</a>
</div>
</div>
</div>
</div>
</footer>