@@ -8,13 +8,8 @@ import { getZodConstraint, parseWithZod } from '@conform-to/zod'
88import {
99 redirect ,
1010 data ,
11- type ActionFunctionArgs ,
12- type LoaderFunctionArgs ,
13- type MetaFunction ,
1411 type Params ,
1512 Form ,
16- useActionData ,
17- useLoaderData ,
1813 useSearchParams ,
1914} from 'react-router'
2015import { safeRedirect } from 'remix-utils/safe-redirect'
@@ -36,6 +31,7 @@ import { authSessionStorage } from '#app/utils/session.server.ts'
3631import { redirectWithToast } from '#app/utils/toast.server.ts'
3732import { NameSchema , UsernameSchema } from '#app/utils/user-validation.ts'
3833import { verifySessionStorage } from '#app/utils/verification.server.ts'
34+ import { type Route } from './+types/onboarding_.$provider.ts'
3935import { onboardingEmailSessionKey } from './onboarding'
4036
4137export const providerIdKey = 'providerId'
@@ -80,7 +76,7 @@ async function requireData({
8076 }
8177}
8278
83- export async function loader ( { request, params } : LoaderFunctionArgs ) {
79+ export async function loader ( { request, params } : Route . LoaderArgs ) {
8480 const { email } = await requireData ( { request, params } )
8581 const connectionSession = await connectionSessionStorage . getSession (
8682 request . headers . get ( 'cookie' ) ,
@@ -104,7 +100,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) {
104100 }
105101}
106102
107- export async function action ( { request, params } : ActionFunctionArgs ) {
103+ export async function action ( { request, params } : Route . ActionArgs ) {
108104 const { email, providerId, providerName } = await requireData ( {
109105 request,
110106 params,
@@ -172,21 +168,22 @@ export async function action({ request, params }: ActionFunctionArgs) {
172168 )
173169}
174170
175- export const meta : MetaFunction = ( ) => {
171+ export const meta : Route . MetaFunction = ( ) => {
176172 return [ { title : 'Setup Epic Notes Account' } ]
177173}
178174
179- export default function OnboardingProviderRoute ( ) {
180- const data = useLoaderData < typeof loader > ( )
181- const actionData = useActionData < typeof action > ( )
175+ export default function OnboardingProviderRoute ( {
176+ loaderData,
177+ actionData,
178+ } : Route . ComponentProps ) {
182179 const isPending = useIsPending ( )
183180 const [ searchParams ] = useSearchParams ( )
184181 const redirectTo = searchParams . get ( 'redirectTo' )
185182
186183 const [ form , fields ] = useForm ( {
187184 id : 'onboarding-provider-form' ,
188185 constraint : getZodConstraint ( SignupFormSchema ) ,
189- lastResult : actionData ?. result ?? data . submission ,
186+ lastResult : actionData ?. result ?? loaderData . submission ,
190187 onValidate ( { formData } ) {
191188 return parseWithZod ( formData , { schema : SignupFormSchema } )
192189 } ,
@@ -197,7 +194,7 @@ export default function OnboardingProviderRoute() {
197194 < div className = "container flex min-h-full flex-col justify-center pb-32 pt-20" >
198195 < div className = "mx-auto w-full max-w-lg" >
199196 < div className = "flex flex-col gap-3 text-center" >
200- < h1 className = "text-h1" > Welcome aboard { data . email } !</ h1 >
197+ < h1 className = "text-h1" > Welcome aboard { loaderData . email } !</ h1 >
201198 < p className = "text-body-md text-muted-foreground" >
202199 Please enter your details.
203200 </ p >
0 commit comments