diff --git a/src/features/store-admin/DeliverySlotsCard.tsx b/src/features/store-admin/DeliverySlotsCard.tsx index 6f7efc4..420141b 100644 --- a/src/features/store-admin/DeliverySlotsCard.tsx +++ b/src/features/store-admin/DeliverySlotsCard.tsx @@ -2,8 +2,8 @@ import { useEffect, useState } from 'react'; import { useMutation, useQuery } from '@tanstack/react-query'; import { errorMessage } from '@/api/client'; import { DEFAULT_SLOTS, deliverySlotsApi, slotProblems, type DeliverySlot } from '@/api/deliverySlots'; +import { Button } from '@astryxdesign/core/Button'; import { DeliverySlotsEditor } from './DeliverySlotsEditor'; -import { DrawerButton } from './drawerKit'; /** * A branch's delivery windows, on the shop profile. @@ -72,7 +72,6 @@ export function DeliverySlotsCard({ } const problems = slotProblems(draft); - const hasNone = (query.data?.details ?? []).length === 0; return (
@@ -83,21 +82,17 @@ export function DeliverySlotsCard({ setSaved(false); }} isDisabled={save.isPending} - {...(hasNone - ? { - // Said plainly, because the difference matters: this branch is - // taking orders right now with no window chosen, and will keep - // doing so until these are saved. - intro: - 'This branch has no delivery windows yet, so customers order without choosing a time. Set them below to start offering a choice.', - } - : {})} />
- 0} onClick={() => save.mutate(draft)} /> diff --git a/src/features/store-admin/DeliverySlotsEditor.tsx b/src/features/store-admin/DeliverySlotsEditor.tsx index 02d2ec8..5b95d59 100644 --- a/src/features/store-admin/DeliverySlotsEditor.tsx +++ b/src/features/store-admin/DeliverySlotsEditor.tsx @@ -28,7 +28,14 @@ export function DeliverySlotsEditor({ slots, onChange, isDisabled, - /** Shown above the rows. Onboarding and the profile screen say different things. */ + /** + * Shown above the rows, and only when a caller asks for it. + * + * No default: onboarding explains what a window is because it is new to the + * person reading, while the shop profile does not, because they are editing + * something they already set. A paragraph that cannot be turned off is one + * every screen has to live with. + */ intro, }: { slots: DeliverySlot[]; @@ -50,12 +57,9 @@ export function DeliverySlotsEditor({ return (
- - {intro ?? - 'Customers choose one of these when they order. A window takes orders right up until it ends — after that it disappears for the day and only the later windows are offered.'} - + {intro ? {intro} : null} -
+
{ordered.map((slot) => (