2025-09-06 23:04:26 +02:00

84 lines
4.2 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react';
import { URLS, SITE_CONFIG } from '../../config/constants';
export const Footer: React.FC = () => (
<footer className="bg-banquise-blue-dark/95 backdrop-blur-sm text-white py-8 px-4 sm:px-6 md:px-8 relative z-10 border-t border-banquise-blue-lightest/10 w-full box-border">
<div className="max-w-6xl mx-auto">
{/* Main Footer Content */}
<div className="flex flex-col md:flex-row justify-between items-center gap-6 mb-6">
{/* Logo/Brand */}
<div className="flex items-center gap-3">
<div className="w-8 h-8 bg-gradient-to-br from-banquise-blue-light to-banquise-blue rounded-lg flex items-center justify-center">
<span className="text-white font-bold text-sm">B</span>
</div>
<span className="text-banquise-blue-lightest font-semibold text-lg">
{SITE_CONFIG.name}
</span>
</div>
{/* Quick Links */}
<div className="flex flex-wrap items-center gap-6 text-sm">
<a
href={URLS.services.wiki}
className="text-banquise-gray/80 hover:text-banquise-blue-lightest transition-colors duration-200"
>
Wiki
</a>
<a
href={URLS.services.gitea}
className="text-banquise-gray/80 hover:text-banquise-blue-lightest transition-colors duration-200"
>
Gitea
</a>
<a
href={URLS.services.panel}
className="text-banquise-gray/80 hover:text-banquise-blue-lightest transition-colors duration-200"
>
Panel
</a>
<a
href={URLS.services.opencloud}
className="text-banquise-gray/80 hover:text-banquise-blue-lightest transition-colors duration-200"
>
OpenCloud
</a>
</div>
{/* Social Links */}
<div className="flex items-center gap-4">
<a
href={URLS.social.discord}
className="w-10 h-10 bg-banquise-blue/20 hover:bg-banquise-blue/30 rounded-full flex items-center justify-center transition-all duration-200 hover:scale-110"
aria-label="Discord"
>
<span className="text-banquise-blue-lightest text-sm">
<svg className="w-4 h-4 lg:w-5 lg:h-5" fill="currentColor" viewBox="0 0 24 24">
<path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z"/>
</svg>
</span>
</a>
<a
href={URLS.contact.email}
className="w-10 h-10 bg-banquise-blue/20 hover:bg-banquise-blue/30 rounded-full flex items-center justify-center transition-all duration-200 hover:scale-110"
aria-label="Email"
>
<span className="text-banquise-blue-lightest text-sm">📧</span>
</a>
</div>
</div>
{/* Bottom Bar */}
<div className="flex flex-col sm:flex-row justify-between items-center gap-4 pt-6 border-t border-banquise-blue-lightest/5">
<p className="text-banquise-gray/60 text-xs text-center sm:text-left">
© 2025 {SITE_CONFIG.name}. Hébergement communautaire pour développeurs et gamers.
</p>
<div className="flex items-center gap-4 text-xs text-banquise-gray/60">
<span>Fait avec par Banquise</span>
<div className="w-1 h-1 bg-banquise-gray/40 rounded-full"></div>
<span>EPITA 2025</span>
</div>
</div>
</div>
</footer>
);