feat: add certificate gallery and certifications section components
- Implemented CertificateGallery component to display certification images in a gallery format. - Created CertificationsSection component to showcase certifications with titles and descriptions. - Enhanced Gallery component to support animations and keyboard navigation. - Introduced Select component for dropdown selection with images. - Added utility functions for API responses and pagination handling. - Implemented localization functions for text and content. - Created a custom hook for detecting clicks outside of a component.
This commit is contained in:
@@ -1,16 +1,18 @@
|
||||
'use client';
|
||||
|
||||
import images from '@/assets/images/images';
|
||||
import Image from 'next/image';
|
||||
import Link from 'next/link';
|
||||
import FooterMenuBuilder from './FooterMenuBuilder';
|
||||
import FooterMenuBuilderWrapper from './FooterMenuBuilderWrapper';
|
||||
import FooterInfo from './FooterInfo';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useParams } from 'next/navigation';
|
||||
import { appConstants } from '@/assets/constants';
|
||||
import { getQuickLinks } from '@/assets/constants/footerMenu/quickLinks.const';
|
||||
import { getWhoAreWeLinks } from '@/assets/constants/footerMenu/whoAreWe.const';
|
||||
import images from '@/assets/images/images';
|
||||
import { Icon, IconName } from '@/components/uikit/icons';
|
||||
import { TLocales } from '@/models/layout';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import Image from 'next/image';
|
||||
import Link from 'next/link';
|
||||
import { useParams } from 'next/navigation';
|
||||
import FooterInfo from './FooterInfo';
|
||||
import FooterMenuBuilder from './FooterMenuBuilder';
|
||||
import FooterMenuBuilderWrapper from './FooterMenuBuilderWrapper';
|
||||
|
||||
export default function Footer() {
|
||||
const t = useTranslations();
|
||||
@@ -41,7 +43,7 @@ export default function Footer() {
|
||||
</h5>
|
||||
</div>
|
||||
<div className="flex items-start justify-between gap-8 border-y border-gray-300/50 py-14 max-lg:flex-col-reverse">
|
||||
<FooterInfo withLogo className="lg:max-w-[200px]" />
|
||||
<FooterInfo withLogo className="max-lg:mt-3 lg:max-w-[200px]" />
|
||||
<div className="grid w-full grid-cols-2 gap-5 md:grid-cols-3 md:gap-10 lg:max-w-3/5">
|
||||
<FooterMenuBuilder
|
||||
title={t('footer_links_quick_links')}
|
||||
@@ -74,6 +76,21 @@ export default function Footer() {
|
||||
{t('footer_links_address')}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
</FooterMenuBuilderWrapper>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user