turash/bugulma/frontend/components/layout/Footer.tsx
Damir Mukimov 6347f42e20
Consolidate repositories: Remove nested frontend .git and merge into main repository
- Remove nested git repository from bugulma/frontend/.git
- Add all frontend files to main repository tracking
- Convert from separate frontend/backend repos to unified monorepo
- Preserve all frontend code and development history as tracked files
- Eliminate nested repository complexity for simpler development workflow

This creates a proper monorepo structure with frontend and backend
coexisting in the same repository for easier development and deployment.
2025-11-25 06:02:57 +01:00

59 lines
2.4 KiB
TypeScript

import React from 'react';
import { useTranslation } from '@/hooks/useI18n.tsx';
import BrandLogo from '@/components/layout/BrandLogo.tsx';
interface FooterProps {
onNavigate: (page: 'about' | 'contact' | 'privacy') => void;
}
const Footer = ({ onNavigate }: FooterProps) => {
const { t } = useTranslation();
return (
<footer className="bg-muted/50 border-t">
<div className="mx-auto max-w-6xl px-4 py-8">
<div className="flex flex-col md:flex-row justify-between items-center gap-6">
<div className="flex items-center gap-2">
<BrandLogo />
<div className="leading-tight">
<p className="font-serif text-lg font-semibold text-foreground">
{t('topBar.title')}
</p>
<p className="text-sm text-muted-foreground">
{t('footer.copyright', { year: new Date().getFullYear() })}
</p>
</div>
</div>
<nav
className="flex flex-wrap gap-x-6 gap-y-2 justify-center"
aria-label="Footer navigation"
>
<button
onClick={() => onNavigate('about')}
className="text-sm text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 rounded px-2 py-1"
aria-label={`Navigate to ${t('footer.links.about')}`}
>
{t('footer.links.about')}
</button>
<button
onClick={() => onNavigate('contact')}
className="text-sm text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 rounded px-2 py-1"
aria-label={`Navigate to ${t('footer.links.contact')}`}
>
{t('footer.links.contact')}
</button>
<button
onClick={() => onNavigate('privacy')}
className="text-sm text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 rounded px-2 py-1"
aria-label={`Navigate to ${t('footer.links.privacy')}`}
>
{t('footer.links.privacy')}
</button>
</nav>
</div>
</div>
</footer>
);
};
export default React.memo(Footer);