refactor: replace userToken with userData in SuccessModal and HeaderTop components
This commit is contained in:
parent
a53f754ec5
commit
0a6f1a2d6f
@ -36,7 +36,7 @@ const DESCRIPTIONS: DescriptionMap = {
|
|||||||
export const SuccessModal = ({ isOpen, onClose }: ModalProperties) => {
|
export const SuccessModal = ({ isOpen, onClose }: ModalProperties) => {
|
||||||
const { setIsLoginOpen, setIsInitSubscribeOpen } = useNewsContext()
|
const { setIsLoginOpen, setIsInitSubscribeOpen } = useNewsContext()
|
||||||
const loaderData = useRouteLoaderData<typeof loader>('routes/_layout')
|
const loaderData = useRouteLoaderData<typeof loader>('routes/_layout')
|
||||||
const userToken = loaderData?.userToken
|
const userData = loaderData?.userData
|
||||||
|
|
||||||
const message = isOpen
|
const message = isOpen
|
||||||
? DESCRIPTIONS[isOpen]
|
? DESCRIPTIONS[isOpen]
|
||||||
@ -106,7 +106,7 @@ export const SuccessModal = ({ isOpen, onClose }: ModalProperties) => {
|
|||||||
alt={APP.title}
|
alt={APP.title}
|
||||||
className="h-[300px]"
|
className="h-[300px]"
|
||||||
/>
|
/>
|
||||||
{userToken ? (
|
{userData ? (
|
||||||
<Button
|
<Button
|
||||||
className="mt-5 w-full rounded-md"
|
className="mt-5 w-full rounded-md"
|
||||||
variant="newsSecondary"
|
variant="newsSecondary"
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import type { loader } from '~/routes/_layout'
|
|||||||
export const HeaderTop = () => {
|
export const HeaderTop = () => {
|
||||||
const { setIsLoginOpen } = useNewsContext()
|
const { setIsLoginOpen } = useNewsContext()
|
||||||
const loaderData = useRouteLoaderData<typeof loader>('routes/_layout')
|
const loaderData = useRouteLoaderData<typeof loader>('routes/_layout')
|
||||||
const userToken = loaderData?.userToken
|
const userData = loaderData?.userData
|
||||||
const fetcher = useFetcher()
|
const fetcher = useFetcher()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -30,7 +30,7 @@ export const HeaderTop = () => {
|
|||||||
<Button className="h-8 w-auto rounded-none px-3 text-xs sm:h-[50px] sm:w-[150px] sm:text-lg">
|
<Button className="h-8 w-auto rounded-none px-3 text-xs sm:h-[50px] sm:w-[150px] sm:text-lg">
|
||||||
About Us
|
About Us
|
||||||
</Button>
|
</Button>
|
||||||
{userToken ? (
|
{userData ? (
|
||||||
<fetcher.Form
|
<fetcher.Form
|
||||||
method="POST"
|
method="POST"
|
||||||
action="/actions/logout"
|
action="/actions/logout"
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { Outlet } from 'react-router'
|
|||||||
|
|
||||||
import { getCategories } from '~/apis/common/get-categories'
|
import { getCategories } from '~/apis/common/get-categories'
|
||||||
import { getSubscriptions } from '~/apis/common/get-subscriptions'
|
import { getSubscriptions } from '~/apis/common/get-subscriptions'
|
||||||
|
import { getUser } from '~/apis/news/get-user'
|
||||||
import { NewsProvider } from '~/contexts/news'
|
import { NewsProvider } from '~/contexts/news'
|
||||||
import { NewsDefaultLayout } from '~/layouts/news/default'
|
import { NewsDefaultLayout } from '~/layouts/news/default'
|
||||||
import { handleCookie } from '~/libs/cookies'
|
import { handleCookie } from '~/libs/cookies'
|
||||||
@ -10,11 +11,18 @@ import type { Route } from './+types/_layout'
|
|||||||
|
|
||||||
export const loader = async ({ request }: Route.LoaderArgs) => {
|
export const loader = async ({ request }: Route.LoaderArgs) => {
|
||||||
const { userToken } = await handleCookie(request)
|
const { userToken } = await handleCookie(request)
|
||||||
|
let userData
|
||||||
|
if (userToken) {
|
||||||
|
const { data } = await getUser({
|
||||||
|
accessToken: userToken,
|
||||||
|
})
|
||||||
|
userData = data
|
||||||
|
}
|
||||||
const { data: subscriptionsData } = await getSubscriptions()
|
const { data: subscriptionsData } = await getSubscriptions()
|
||||||
const { data: categoriesData } = await getCategories()
|
const { data: categoriesData } = await getCategories()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
userToken,
|
userData,
|
||||||
subscriptionsData,
|
subscriptionsData,
|
||||||
categoriesData,
|
categoriesData,
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user