diff --git a/apps/web/components/orders/components/index.ts b/apps/web/components/orders/components/index.ts index 58955e1..827e61c 100644 --- a/apps/web/components/orders/components/index.ts +++ b/apps/web/components/orders/components/index.ts @@ -2,4 +2,5 @@ export * from './back-button'; export * from './contacts-grid'; export * from './datetime-select'; export * from './next-button'; +export * from './result'; export * from './service-select'; diff --git a/apps/web/components/orders/components/result.tsx b/apps/web/components/orders/components/result.tsx new file mode 100644 index 0000000..195d40b --- /dev/null +++ b/apps/web/components/orders/components/result.tsx @@ -0,0 +1,58 @@ +'use client'; +import { useOrderStore } from '@/stores/order'; +import { Button } from '@repo/ui/components/ui/button'; +import { Card, CardContent } from '@repo/ui/components/ui/card'; +import { AlertCircle, CheckCircle2, Home, RefreshCw } from 'lucide-react'; +import Link from 'next/link'; + +export function ErrorPage() { + const setStep = useOrderStore((store) => store.setStep); + + const handleRetry = () => { + setStep('datetime-select'); + }; + + return ( +
+ + +
+ +
+
+

Ошибка!

+

Произошла ошибка при выполнении операции.

+
+ +
+
+
+ ); +} + +export function SuccessPage() { + return ( +
+ + +
+ +
+
+

Готово!

+

Запись успешно создана

+
+ +
+
+
+ ); +} diff --git a/apps/web/components/orders/order-form.tsx b/apps/web/components/orders/order-form.tsx index 7b58364..0292c13 100644 --- a/apps/web/components/orders/order-form.tsx +++ b/apps/web/components/orders/order-form.tsx @@ -4,9 +4,11 @@ import { BackButton, ClientsGrid, DateTimeSelect, + ErrorPage, MastersGrid, NextButton, ServiceSelect, + SuccessPage, } from './components'; import { SubmitButton } from './components/submit-button'; import { OrderStoreProvider, useOrderStore } from '@/stores/order'; @@ -17,8 +19,10 @@ import { type JSX } from 'react'; const STEP_COMPONENTS: Record = { 'client-select': , 'datetime-select': , + error: , 'master-select': , 'service-select': , + success: , }; function getStepComponent(step: string) {