frontend phase 14

This commit is contained in:
hamid
2026-07-10 18:46:16 +03:30
parent 85488bc25b
commit bc51cf59b4
73 changed files with 3582 additions and 13 deletions
@@ -3,6 +3,7 @@ import { useParams, useRouter } from 'next/navigation';
import { useLocale, useTranslations } from 'next-intl';
import { Stack, Typography } from '@mui/material';
import { BookingDetailView } from '@/components/booking';
import { BookingSupportEntry } from '@/components/messaging';
import RefundStatusCard from '@/components/RefundStatusCard';
import AppButton from '@/components/common/AppButton';
import { bookingCancelPath, bookingRefundStatusPath, bookingReviewPath } from '@/constants';
@@ -30,6 +31,7 @@ export default function CustomerBookingDetailPage() {
<BookingDetailView bookingId={bookingId} viewerRole="customer" />
{bookingId > 0 && <CustomerBookingActions bookingId={bookingId} />}
{bookingId > 0 && <LeaveReviewCta bookingId={bookingId} />}
{bookingId > 0 && <BookingSupportEntry bookingId={bookingId} role="customer" />}
</Stack>
);
}
@@ -0,0 +1,7 @@
'use client';
import { NotificationCenter } from '@/components/notifications';
/** /notifications — the customer notification center (f14). The bell deep-links here. */
export default function CustomerNotificationsPage() {
return <NotificationCenter role="customer" />;
}
@@ -0,0 +1,11 @@
'use client';
import { useParams } from 'next/navigation';
import { TicketThreadScreen } from '@/components/messaging';
/** /support/tickets/[id] — the customer ticket thread (f14). */
export default function CustomerTicketThreadPage() {
const params = useParams<{ id: string }>();
const id = Number(params.id);
const ticketId = Number.isInteger(id) && id > 0 ? id : -1;
return <TicketThreadScreen role="customer" ticketId={ticketId} />;
}
@@ -0,0 +1,7 @@
'use client';
import { TicketInboxScreen } from '@/components/messaging';
/** /support/tickets — the customer "My Tickets" inbox (f14). Shares the screen with the nurse shell. */
export default function CustomerTicketsPage() {
return <TicketInboxScreen role="customer" />;
}