From e7aa6a6694be4246e3ac9cd41cc52fc68e7d9426 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Rafael=20Siqueira?= Date: Thu, 25 Dec 2025 23:39:12 -0300 Subject: [PATCH] fix --- .../routes/_.$orgid.enrollments.buy/assigned.tsx | 16 ++++++++++++---- .../app/routes/_.$orgid.enrollments.buy/bulk.tsx | 15 +++++++++++---- .../routes/_.$orgid.enrollments.buy/review.tsx | 2 +- .../routes/_.$orgid.enrollments.buy/route.tsx | 16 ++++++++++------ 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/assigned.tsx b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/assigned.tsx index cf9423a..0705fed 100644 --- a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/assigned.tsx +++ b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/assigned.tsx @@ -63,17 +63,23 @@ type Schema = z.infer type AssignedProps = { onSubmit: (value: any) => void | Promise courses: Promise<{ hits: Course[] }> - defaultValues?: { enrollments: object[]; coupon?: object } + enrollments: object[] + coupon?: object } -export function Assigned({ courses, onSubmit, defaultValues }: AssignedProps) { +export function Assigned({ + courses, + onSubmit, + enrollments, + coupon: couponInit +}: AssignedProps) { const wizard = useWizard() const { orgid } = useParams() const form = useForm({ resolver: zodResolver(formSchemaAssigned), defaultValues: { - coupon: defaultValues?.coupon || {}, - enrollments: defaultValues?.enrollments?.map((e: any) => ({ + coupon: couponInit, + enrollments: enrollments?.map((e: any) => ({ ...e, scheduled_for: e.scheduled_for ? new Date(e.scheduled_for) : undefined })) || [emptyRow] @@ -95,6 +101,8 @@ export function Assigned({ courses, onSubmit, defaultValues }: AssignedProps) { 0 ) + console.log(coupon) + const onSearch = async (search: string) => { const params = new URLSearchParams({ q: search }) const r = await fetch(`/${orgid}/users.json?${params.toString()}`) diff --git a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/bulk.tsx b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/bulk.tsx index 1d69c27..15d06f4 100644 --- a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/bulk.tsx +++ b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/bulk.tsx @@ -44,7 +44,8 @@ const emptyRow = { type BulkProps = { onSubmit: (value: any) => void | Promise courses: Promise<{ hits: Course[] }> - defaultValues?: { items: object[]; coupon?: object } + items?: object[] + coupon?: object } const item = z.object({ @@ -75,13 +76,18 @@ const formSchema = z.object({ type Schema = z.infer -export function Bulk({ courses, onSubmit, defaultValues }: BulkProps) { +export function Bulk({ + courses, + onSubmit, + items: itemInit, + coupon: couponInit +}: BulkProps) { const wizard = useWizard() const form = useForm({ resolver: zodResolver(formSchema), defaultValues: { - items: defaultValues?.items || [emptyRow], - coupon: defaultValues?.coupon || {} + items: itemInit || [emptyRow], + coupon: couponInit } }) const { @@ -102,6 +108,7 @@ export function Bulk({ courses, onSubmit, defaultValues }: BulkProps) { name: 'items' }) const coupon = useWatch({ control, name: 'coupon' }) + const subtotal = items.reduce( (acc, { course, quantity }) => acc + diff --git a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/review.tsx b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/review.tsx index 79c24e6..b8ca413 100644 --- a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/review.tsx +++ b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/review.tsx @@ -21,7 +21,7 @@ type ReviewProps = { export function Review({ state }: ReviewProps) { const wizard = useWizard() - const { coupon, items } = state.cart || { items: [], coupon: {} } + const { coupon, items } = state || { items: [], coupon: {} } const subtotal = items?.reduce( (acc, { course, quantity }) => diff --git a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/route.tsx b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/route.tsx index 6a1514b..b17de27 100644 --- a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/route.tsx +++ b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.buy/route.tsx @@ -37,15 +37,19 @@ import { Skeleton } from '@repo/ui/components/skeleton' type WizardState = { index: number kind: 'bulk' | 'assigned' - cart: any - payment: any + items?: object[] + coupon?: object + enrollments?: object[] + payment?: any } const emptyWizard: WizardState = { index: 0, kind: 'bulk', - cart: {}, - payment: {} + items: undefined, + coupon: undefined, + enrollments: undefined, + payment: undefined } export function meta({}: Route.MetaArgs) { @@ -80,12 +84,12 @@ export default function Route({ const index = state.index const kind = state.kind const props = { + ...state, courses, - defaultValues: state.cart, onSubmit: async (data: any) => setState((prev) => ({ ...(prev ?? emptyWizard), - cart: data + ...data })) }