- Introduced a new `QuickAppointment` component for scheduling appointments directly from the profile page. - Integrated the `QuickAppointment` component into the profile layout, allowing users to book appointments with a selected master or client. - Implemented a Radix UI Drawer for the appointment booking interface, enhancing user experience with a modal-like interaction. - Updated `pnpm-lock.yaml` and `package.json` to include new dependencies for the Radix UI components and the `vaul` library.
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { Container } from '@/components/layout';
|
|
import { PageHeader } from '@/components/navigation';
|
|
import { ContactDataCard, PersonCard, ProfileOrdersList } from '@/components/profile';
|
|
import { QuickAppointment } from '@/components/profile/quick-appointment';
|
|
import { ReadonlyServicesList } from '@/components/profile/services';
|
|
|
|
// Тип параметров страницы
|
|
type Props = { params: Promise<{ telegramId: string }> };
|
|
|
|
export default async function ProfilePage(props: Readonly<Props>) {
|
|
const { telegramId } = await props.params;
|
|
const contactTelegramId = Number(telegramId);
|
|
|
|
return (
|
|
<>
|
|
<PageHeader title="Профиль контакта" />
|
|
<Container className="px-0">
|
|
<PersonCard telegramId={contactTelegramId} />
|
|
<QuickAppointment telegramId={contactTelegramId} />
|
|
<ContactDataCard telegramId={contactTelegramId} />
|
|
<ReadonlyServicesList telegramId={contactTelegramId} />
|
|
<ProfileOrdersList telegramId={contactTelegramId} />
|
|
</Container>
|
|
</>
|
|
);
|
|
}
|