2025-06-07 16:31:52 +03:30
|
|
|
'use client';
|
|
|
|
|
|
2026-07-19 07:59:16 +03:30
|
|
|
import { appConstants } from '@/assets/constants';
|
|
|
|
|
import { getQuickLinks } from '@/assets/constants/footerMenu/quickLinks.const';
|
|
|
|
|
import { getWhoAreWeLinks } from '@/assets/constants/footerMenu/whoAreWe.const';
|
2025-06-02 18:06:15 +03:30
|
|
|
import images from '@/assets/images/images';
|
2026-07-19 07:59:16 +03:30
|
|
|
import { Icon, IconName } from '@/components/uikit/icons';
|
|
|
|
|
import { TLocales } from '@/models/layout';
|
|
|
|
|
import { useTranslations } from 'next-intl';
|
2025-06-02 18:06:15 +03:30
|
|
|
import Image from 'next/image';
|
|
|
|
|
import Link from 'next/link';
|
2026-07-19 07:59:16 +03:30
|
|
|
import { useParams } from 'next/navigation';
|
|
|
|
|
import FooterInfo from './FooterInfo';
|
2025-06-02 18:06:15 +03:30
|
|
|
import FooterMenuBuilder from './FooterMenuBuilder';
|
|
|
|
|
import FooterMenuBuilderWrapper from './FooterMenuBuilderWrapper';
|
|
|
|
|
|
|
|
|
|
export default function Footer() {
|
2025-06-07 16:31:52 +03:30
|
|
|
const t = useTranslations();
|
|
|
|
|
const params = useParams();
|
2025-06-08 09:25:38 +03:30
|
|
|
const locale = (params.locale as TLocales) || 'en';
|
2025-06-07 16:31:52 +03:30
|
|
|
|
|
|
|
|
const quickLinks = getQuickLinks(t, locale);
|
|
|
|
|
const whoAreWeLinks = getWhoAreWeLinks(t, locale);
|
|
|
|
|
|
2025-06-02 18:06:15 +03:30
|
|
|
return (
|
2025-06-16 15:21:44 +03:30
|
|
|
<div className="relative w-full bg-gray-500 pt-12 text-white md:pt-24">
|
2025-06-02 18:06:15 +03:30
|
|
|
<div className="absolute inset-0 z-10 flex items-end justify-start">
|
|
|
|
|
<div className="w-1/2 md:w-2/5">
|
|
|
|
|
<Image
|
|
|
|
|
alt="footer-bg"
|
|
|
|
|
src={images.factoryVector}
|
|
|
|
|
className="h-full w-full object-cover"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="relative z-20 container mx-auto">
|
|
|
|
|
<div className="flex max-w-[920px] flex-col gap-5 pb-10">
|
2025-06-16 15:21:44 +03:30
|
|
|
<p className="text-3xl tracking-tighter md:text-5xl">
|
|
|
|
|
{t('footer_title')}
|
|
|
|
|
</p>
|
2025-06-02 18:06:15 +03:30
|
|
|
<h5 className="text-base tracking-normal">
|
2025-06-07 16:31:52 +03:30
|
|
|
{t('footer_description')}
|
2025-06-02 18:06:15 +03:30
|
|
|
</h5>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flex items-start justify-between gap-8 border-y border-gray-300/50 py-14 max-lg:flex-col-reverse">
|
2026-07-19 07:59:16 +03:30
|
|
|
<FooterInfo withLogo className="max-lg:mt-3 lg:max-w-[200px]" />
|
2025-06-02 18:06:15 +03:30
|
|
|
<div className="grid w-full grid-cols-2 gap-5 md:grid-cols-3 md:gap-10 lg:max-w-3/5">
|
|
|
|
|
<FooterMenuBuilder
|
2025-06-07 16:31:52 +03:30
|
|
|
title={t('footer_links_quick_links')}
|
|
|
|
|
links={quickLinks}
|
2025-06-02 18:06:15 +03:30
|
|
|
className="max-md:text-center"
|
|
|
|
|
/>
|
|
|
|
|
<FooterMenuBuilder
|
2025-06-07 16:31:52 +03:30
|
|
|
title={t('footer_links_who_we_are')}
|
|
|
|
|
links={whoAreWeLinks}
|
2025-06-02 18:06:15 +03:30
|
|
|
className="max-md:text-center"
|
|
|
|
|
/>
|
|
|
|
|
<FooterMenuBuilderWrapper
|
2025-06-07 16:31:52 +03:30
|
|
|
title={t('footer_links_contact')}
|
2025-06-02 18:06:15 +03:30
|
|
|
className="max-md:col-span-2 max-md:text-center"
|
|
|
|
|
>
|
|
|
|
|
<div className="flex flex-col gap-4">
|
|
|
|
|
<Link
|
|
|
|
|
href="tel:+9812345678"
|
|
|
|
|
className="text-sm tracking-tight text-gray-100 hover:text-gray-200"
|
|
|
|
|
>
|
|
|
|
|
+98 12345678
|
|
|
|
|
</Link>
|
|
|
|
|
<Link
|
|
|
|
|
href="mailto:info@sample.com"
|
|
|
|
|
className="text-sm tracking-tight text-gray-100 hover:text-gray-200"
|
|
|
|
|
>
|
|
|
|
|
info@sample.com
|
|
|
|
|
</Link>
|
|
|
|
|
<span className="text-sm tracking-tight text-gray-100 hover:text-gray-200">
|
2025-06-07 16:31:52 +03:30
|
|
|
{t('footer_links_address')}
|
2025-06-02 18:06:15 +03:30
|
|
|
</span>
|
|
|
|
|
</div>
|
2026-07-19 07:59:16 +03:30
|
|
|
|
|
|
|
|
<div className="flex items-center gap-4 max-lg:justify-center">
|
|
|
|
|
{appConstants.socials.map((social) => (
|
|
|
|
|
<Link
|
|
|
|
|
href={social.link}
|
|
|
|
|
key={social.title}
|
|
|
|
|
className="text-white lg:flex-1"
|
|
|
|
|
>
|
|
|
|
|
<Icon
|
|
|
|
|
name={social.icon as IconName}
|
|
|
|
|
className="text-primary"
|
|
|
|
|
/>
|
|
|
|
|
</Link>
|
|
|
|
|
))}
|
|
|
|
|
</div>
|
2025-06-02 18:06:15 +03:30
|
|
|
</FooterMenuBuilderWrapper>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="py-8 lg:py-14">
|
2025-06-16 15:21:44 +03:30
|
|
|
<p className="text-center text-sm">
|
|
|
|
|
{t('footer_copyright', { year: new Date().getFullYear() })}
|
|
|
|
|
</p>
|
2025-06-02 18:06:15 +03:30
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|