From 4a4701c20e3d9223cf3bc8e07b1bc798949a71e4 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Fri, 23 May 2025 17:24:54 +0300 Subject: [PATCH] refactor components/schedule --- .../schedule/{ => day-slots-list}/day-slot-add-form.tsx | 2 +- .../{day-slots-list.tsx => day-slots-list/index.tsx} | 2 +- .../schedule/{components => day-slots-list}/slot-card.tsx | 0 apps/web/components/schedule/index.ts | 1 - .../schedule/{slot-datetime.tsx => slot-datetime/index.tsx} | 6 +++--- .../schedule/{components => slot-datetime}/slot-date.tsx | 0 .../schedule/{components => slot-datetime}/slot-time.tsx | 3 +-- apps/web/components/schedule/slot-orders-list.tsx | 2 +- apps/web/components/shared/order-card.tsx | 2 +- .../time-range.tsx => shared/time-range/editable.tsx} | 1 + apps/web/components/shared/time-range/index.ts | 2 ++ .../shared/{time-range.tsx => time-range/readonly.tsx} | 0 12 files changed, 11 insertions(+), 10 deletions(-) rename apps/web/components/schedule/{ => day-slots-list}/day-slot-add-form.tsx (94%) rename apps/web/components/schedule/{day-slots-list.tsx => day-slots-list/index.tsx} (93%) rename apps/web/components/schedule/{components => day-slots-list}/slot-card.tsx (100%) rename apps/web/components/schedule/{slot-datetime.tsx => slot-datetime/index.tsx} (70%) rename apps/web/components/schedule/{components => slot-datetime}/slot-date.tsx (100%) rename apps/web/components/schedule/{components => slot-datetime}/slot-time.tsx (95%) rename apps/web/components/{schedule/components/time-range.tsx => shared/time-range/editable.tsx} (99%) create mode 100644 apps/web/components/shared/time-range/index.ts rename apps/web/components/shared/{time-range.tsx => time-range/readonly.tsx} (100%) diff --git a/apps/web/components/schedule/day-slot-add-form.tsx b/apps/web/components/schedule/day-slots-list/day-slot-add-form.tsx similarity index 94% rename from apps/web/components/schedule/day-slot-add-form.tsx rename to apps/web/components/schedule/day-slots-list/day-slot-add-form.tsx index f8990e8..b0633c9 100644 --- a/apps/web/components/schedule/day-slot-add-form.tsx +++ b/apps/web/components/schedule/day-slots-list/day-slot-add-form.tsx @@ -1,7 +1,7 @@ /* eslint-disable canonical/id-match */ 'use client'; -import { EditableTimeRangeForm } from './components/time-range'; +import { EditableTimeRangeForm } from '@/components/shared/time-range'; import { useSlotCreate } from '@/hooks/api/slots'; import { ScheduleStoreProvider, useScheduleStore } from '@/stores/schedule'; import { withContext } from '@/utils/context'; diff --git a/apps/web/components/schedule/day-slots-list.tsx b/apps/web/components/schedule/day-slots-list/index.tsx similarity index 93% rename from apps/web/components/schedule/day-slots-list.tsx rename to apps/web/components/schedule/day-slots-list/index.tsx index 40007c5..de77c01 100644 --- a/apps/web/components/schedule/day-slots-list.tsx +++ b/apps/web/components/schedule/day-slots-list/index.tsx @@ -1,7 +1,7 @@ 'use client'; -import { SlotCard } from './components/slot-card'; import { DaySlotAddForm } from './day-slot-add-form'; +import { SlotCard } from './slot-card'; import { LoadingSpinner } from '@/components/common/spinner'; import { DateContext } from '@/context/date'; import { useSlotsQuery } from '@/hooks/api/slots'; diff --git a/apps/web/components/schedule/components/slot-card.tsx b/apps/web/components/schedule/day-slots-list/slot-card.tsx similarity index 100% rename from apps/web/components/schedule/components/slot-card.tsx rename to apps/web/components/schedule/day-slots-list/slot-card.tsx diff --git a/apps/web/components/schedule/index.ts b/apps/web/components/schedule/index.ts index 0251181..5fd891e 100644 --- a/apps/web/components/schedule/index.ts +++ b/apps/web/components/schedule/index.ts @@ -1,5 +1,4 @@ export * from './calendar'; -export * from './day-slot-add-form'; export * from './day-slots-list'; export * from './slot-buttons'; export * from './slot-datetime'; diff --git a/apps/web/components/schedule/slot-datetime.tsx b/apps/web/components/schedule/slot-datetime/index.tsx similarity index 70% rename from apps/web/components/schedule/slot-datetime.tsx rename to apps/web/components/schedule/slot-datetime/index.tsx index dd213b3..4c84846 100644 --- a/apps/web/components/schedule/slot-datetime.tsx +++ b/apps/web/components/schedule/slot-datetime/index.tsx @@ -1,8 +1,8 @@ 'use client'; -import { SlotDate } from './components/slot-date'; -import { SlotTime } from './components/slot-time'; -import { type SlotComponentProps } from './types'; +import { type SlotComponentProps } from '../types'; +import { SlotDate } from './slot-date'; +import { SlotTime } from './slot-time'; import { ScheduleStoreProvider } from '@/stores/schedule'; import { withContext } from '@/utils/context'; diff --git a/apps/web/components/schedule/components/slot-date.tsx b/apps/web/components/schedule/slot-datetime/slot-date.tsx similarity index 100% rename from apps/web/components/schedule/components/slot-date.tsx rename to apps/web/components/schedule/slot-datetime/slot-date.tsx diff --git a/apps/web/components/schedule/components/slot-time.tsx b/apps/web/components/schedule/slot-datetime/slot-time.tsx similarity index 95% rename from apps/web/components/schedule/components/slot-time.tsx rename to apps/web/components/schedule/slot-datetime/slot-time.tsx index 4006960..7fa5a66 100644 --- a/apps/web/components/schedule/components/slot-time.tsx +++ b/apps/web/components/schedule/slot-datetime/slot-time.tsx @@ -2,8 +2,7 @@ 'use client'; import { type SlotComponentProps } from '../types'; -import { EditableTimeRangeForm } from './time-range'; -import { ReadonlyTimeRange } from '@/components/shared/time-range'; +import { EditableTimeRangeForm, ReadonlyTimeRange } from '@/components/shared/time-range'; import { useSlotMutation, useSlotQuery } from '@/hooks/api/slots'; import { useZustandStore } from '@/stores/schedule'; import { Button } from '@repo/ui/components/ui/button'; diff --git a/apps/web/components/schedule/slot-orders-list.tsx b/apps/web/components/schedule/slot-orders-list.tsx index 7880ddd..a0a1e6c 100644 --- a/apps/web/components/schedule/slot-orders-list.tsx +++ b/apps/web/components/schedule/slot-orders-list.tsx @@ -1,7 +1,7 @@ 'use client'; -import { OrderCard } from '../shared/order-card'; import { type SlotComponentProps } from './types'; +import { OrderCard } from '@/components/shared/order-card'; import { useSlotQuery } from '@/hooks/api/slots'; export function SlotOrdersList({ documentId }: Readonly) { diff --git a/apps/web/components/shared/order-card.tsx b/apps/web/components/shared/order-card.tsx index 2227033..125674a 100644 --- a/apps/web/components/shared/order-card.tsx +++ b/apps/web/components/shared/order-card.tsx @@ -2,7 +2,7 @@ 'use client'; import { type OrderClient, type OrderComponentProps } from '../schedule/types'; -import { ReadonlyTimeRange } from './time-range'; +import { ReadonlyTimeRange } from './time-range/readonly'; import { useOrderQuery } from '@/hooks/api/orders'; import { Enum_Order_State } from '@repo/graphql/types'; import { Avatar, AvatarFallback, AvatarImage } from '@repo/ui/components/ui/avatar'; diff --git a/apps/web/components/schedule/components/time-range.tsx b/apps/web/components/shared/time-range/editable.tsx similarity index 99% rename from apps/web/components/schedule/components/time-range.tsx rename to apps/web/components/shared/time-range/editable.tsx index 3ab64c9..47e2727 100644 --- a/apps/web/components/schedule/components/time-range.tsx +++ b/apps/web/components/shared/time-range/editable.tsx @@ -1,4 +1,5 @@ 'use client'; + import { useScheduleStore } from '@/stores/schedule'; import { Input } from '@repo/ui/components/ui/input'; import { type FormEvent, type PropsWithChildren } from 'react'; diff --git a/apps/web/components/shared/time-range/index.ts b/apps/web/components/shared/time-range/index.ts new file mode 100644 index 0000000..291f5af --- /dev/null +++ b/apps/web/components/shared/time-range/index.ts @@ -0,0 +1,2 @@ +export * from './editable'; +export * from './readonly'; diff --git a/apps/web/components/shared/time-range.tsx b/apps/web/components/shared/time-range/readonly.tsx similarity index 100% rename from apps/web/components/shared/time-range.tsx rename to apps/web/components/shared/time-range/readonly.tsx