add form to edit subscription

This commit is contained in:
2026-01-19 13:52:35 -03:00
parent 3fd7c77469
commit 1c7d4de74a
4 changed files with 36 additions and 27 deletions

View File

@@ -60,7 +60,7 @@ export async function action({ params, request, context }: Route.ActionArgs) {
return { ok: true }
}
const r = await req({
await req({
url: `orgs/${params.id}/subscription`,
headers: new Headers({ 'Content-Type': 'application/json' }),
method: method as HttpMethod,
@@ -69,8 +69,6 @@ export async function action({ params, request, context }: Route.ActionArgs) {
context
})
console.log(r)
return { ok: true }
}
@@ -81,11 +79,12 @@ export default function Route({}: Route.ComponentProps) {
const form = useForm<Schema>({
defaultValues: {
plan: subscribed ? 'FLEXIVEL' : 'NOTHING',
subscription_frozen: !!org?.subscription_frozen,
...org?.subscription
},
resolver: zodResolver(formSchema)
})
const { handleSubmit, formState, watch } = form
const { handleSubmit, formState, watch, reset } = form
const plan = watch('plan')
const onSubmit = async ({ plan, ...data }: Schema) => {
@@ -93,7 +92,13 @@ export default function Route({}: Route.ComponentProps) {
fetcher.submit(null, {
method: 'DELETE'
})
return
return reset({
plan: 'NOTHING',
billing_day: 1,
payment_method: undefined,
subscription_frozen: false
})
}
fetcher.submit(JSON.stringify({ name: org.name, ...data }), {
@@ -102,8 +107,6 @@ export default function Route({}: Route.ComponentProps) {
})
}
console.log(org)
return (
<Form {...form}>
<form onSubmit={handleSubmit(onSubmit)}>
@@ -159,6 +162,7 @@ export default function Route({}: Route.ComponentProps) {
<FormField
control={form.control}
name="billing_day"
defaultValue={1}
render={({ field: { onChange, ...field } }) => (
<FormItem>
<FormLabel>Dia para faturar</FormLabel>