feat: implement booking feature with service and time slot selection

This commit is contained in:
Danel Kungla
2025-09-03 10:04:00 +03:00
parent a587b222b9
commit f7514c698e
11 changed files with 306 additions and 14 deletions

View File

@@ -2,12 +2,13 @@ import { HomeLayoutPageHeader } from '@/app/home/(user)/_components/home-page-he
import { loadCategory } from '@/app/home/(user)/_lib/server/load-category';
import { AppBreadcrumbs } from '@kit/ui/makerkit/app-breadcrumbs';
import { PageBody } from '@kit/ui/page';
import { Trans } from '@kit/ui/trans';
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
import { withI18n } from '~/lib/i18n/with-i18n';
import BookingContainer from '../../../_components/booking/booking-container';
export const generateMetadata = async () => {
const i18n = await createI18nServerInstance();
const title = i18n.t('booking:title');
@@ -18,9 +19,13 @@ export const generateMetadata = async () => {
};
async function BookingHandlePage({ params }: { params: { handle: string } }) {
const handle = await params.handle;
const { handle } = await params;
const { category } = await loadCategory({ handle });
if (!category) {
return <div>Category not found</div>;
}
return (
<>
<AppBreadcrumbs
@@ -30,10 +35,10 @@ async function BookingHandlePage({ params }: { params: { handle: string } }) {
/>
<HomeLayoutPageHeader
title={<Trans i18nKey={'booking:title'} />}
description={<Trans i18nKey={'booking:description'} />}
description=""
/>
<PageBody></PageBody>
<BookingContainer category={category} />
</>
);
}