Skip to content

Commit

Permalink
feat: show onboarding to new user
Browse files Browse the repository at this point in the history
  • Loading branch information
ooooorobo committed Dec 29, 2024
1 parent b23b6e6 commit fbcd1bd
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions src/app/routes/_index.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import type { LoaderFunction } from '@remix-run/node';
import { json } from '@remix-run/node';
import { authenticate } from 'src/app/server/authenticate';
import { getAllInfo, info } from 'src/types';
import { getAllInfo, hasSeenOnboarding, info } from 'src/types';
import { InfoListPage } from 'src/pages/main/info_list/InfoListPage';
import { useLoaderData } from '@remix-run/react';
import { GenerateFormLink } from 'src/widgets/GenerateFormLink/GenerateFormLink';
import { commitSession } from 'src/app/server/sessions';
import { OnboardingPage } from 'src/pages/main/onboarding/OnboardingPage';
import { useState } from 'react';

export const loader: LoaderFunction = async ({ request }) => {
const { accessToken, newSession } = await authenticate(request);
Expand All @@ -22,8 +24,14 @@ export const loader: LoaderFunction = async ({ request }) => {
},
});

const { data: seenOnboarding } = await hasSeenOnboarding({
headers: {
Authorization: `Bearer ${accessToken}`,
},
});

return json(
{ userInfo, profileList },
{ userInfo, profileList, seenOnboarding },
{
headers: {
...(newSession && { 'Set-Cookie': await commitSession(newSession) }),
Expand All @@ -33,11 +41,16 @@ export const loader: LoaderFunction = async ({ request }) => {
};

export default function Index() {
const { profileList, userInfo } = useLoaderData<typeof loader>();
return (
const { profileList, userInfo, seenOnboarding } = useLoaderData<typeof loader>();

const [seenOnboardingState, setSeenOnboardingState] = useState(seenOnboarding);

return seenOnboardingState ? (
<>
<InfoListPage userInfo={userInfo} profileList={profileList} />
<GenerateFormLink />
</>
) : (
<OnboardingPage onClickNextPage={() => setSeenOnboardingState(true)} />
);
}

0 comments on commit fbcd1bd

Please sign in to comment.