diff --git a/apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/(list)/page.tsx b/apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/(list)/page.tsx index 0658fb2f5..fa4a2068b 100644 --- a/apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/(list)/page.tsx +++ b/apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/(list)/page.tsx @@ -81,7 +81,7 @@ export default function Page() { await createMaintenanceMutation.mutateAsync({ pageId: Number.parseInt(id), title: values.title, - message: values.message, + message: values.message ?? "", startDate: values.startDate, endDate: values.endDate, pageComponents: values.pageComponents, diff --git a/apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/[maintenanceId]/client.tsx b/apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/[maintenanceId]/client.tsx index 280f84eb3..846481c4d 100644 --- a/apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/[maintenanceId]/client.tsx +++ b/apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/[maintenanceId]/client.tsx @@ -22,7 +22,6 @@ import { SectionGroup } from "@/components/content/section"; import { Timeline } from "@/components/content/timeline"; import { MaintenanceActions } from "@/components/maintenances/maintenance-actions"; import { MaintenanceComponents } from "@/components/maintenances/maintenance-components"; -import { MaintenanceComposer } from "@/components/maintenances/maintenance-composer"; import { MaintenanceProperties } from "@/components/maintenances/maintenance-properties"; import { MaintenanceUpdateComposer } from "@/components/maintenances/maintenance-update-composer"; import { MaintenanceUpdateTimelineItem } from "@/components/maintenances/maintenance-update-timeline"; @@ -99,27 +98,20 @@ export function Client({ id, pageId }: { id: number; pageId: number }) { - - Message - - - - Updates - - + + {updates.map((update, i) => ( + - {updates.map((update, i) => ( - - ))} - - + ))} + diff --git a/apps/dashboard/src/components/data-table/maintenances/data-table-row-actions.tsx b/apps/dashboard/src/components/data-table/maintenances/data-table-row-actions.tsx index c6ebdffaa..9bab71caa 100644 --- a/apps/dashboard/src/components/data-table/maintenances/data-table-row-actions.tsx +++ b/apps/dashboard/src/components/data-table/maintenances/data-table-row-actions.tsx @@ -69,7 +69,6 @@ export function MaintenanceRowActions({ )} defaultValues={{ title: maintenance.title, - message: maintenance.message, startDate: maintenance.from, endDate: maintenance.to, pageComponents: maintenance.pageComponents?.map((c) => c.id) ?? [], @@ -78,7 +77,6 @@ export function MaintenanceRowActions({ await updateMaintenanceMutation.mutateAsync({ id: maintenance.id, title: values.title, - message: values.message, startDate: values.startDate, endDate: values.endDate, pageComponents: values.pageComponents, diff --git a/apps/dashboard/src/components/forms/maintenance/form.tsx b/apps/dashboard/src/components/forms/maintenance/form.tsx index b61acbf7e..34bbefd49 100644 --- a/apps/dashboard/src/components/forms/maintenance/form.tsx +++ b/apps/dashboard/src/components/forms/maintenance/form.tsx @@ -46,7 +46,8 @@ import { useTRPC } from "@/lib/trpc/client"; const schema = z .object({ title: z.string().trim().min(1, "Title is required"), - message: z.string(), + /** Create only: becomes the first timeline update. */ + message: z.string().trim().min(1, "Message is required").optional(), startDate: z.date(), endDate: z.date(), pageComponents: z.array(z.number()), @@ -215,39 +216,46 @@ export function FormMaintenance({ )} /> - - - - - Writing - Preview - - - ( - - Message - -