import { FC } from 'react' import cn from 'classnames' import Link from 'next/link' import type { Page } from '@lib/bigcommerce/api/operations/get-all-pages' import getSlug from '@utils/get-slug' import { Logo } from '@components/ui' interface Props { className?: string children?: any pages?: Page[] } const LEGAL_PAGES = ['terms-of-use', 'shipping-returns', 'privacy-policy'] const Footer: FC = ({ className, pages }) => { const rootClassName = cn( 'flex flex-col p-6 md:py-12 md:flex-row flex-wrap max-w-screen-xl m-auto', className ) const { sitePages, legalPages } = getPages(pages) return (
) } function getPages(pages?: Page[]) { const sitePages: Page[] = [] const legalPages: Page[] = [] if (pages) { pages.forEach((page) => { if (page.url) { if (LEGAL_PAGES.includes(getSlug(page.url))) { legalPages.push(page) } else { sitePages.push(page) } } }) } return { sitePages: sitePages.sort(bySortOrder), legalPages: legalPages.sort(bySortOrder), } } // Sort pages by the sort order assigned in the BC dashboard function bySortOrder(a: Page, b: Page) { return (a.sort_order ?? 0) - (b.sort_order ?? 0) } export default Footer