feat: new "safe" procedure without unauth throwing
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import { logout } from "@/constants/routes/handleAuth"
|
||||
import { serverClient } from "@/lib/trpc/server"
|
||||
|
||||
import { auth } from "@/auth"
|
||||
import Link from "@/components/TempDesignSystem/Link"
|
||||
import { getIntl } from "@/i18n"
|
||||
|
||||
@@ -23,9 +22,7 @@ export default async function TopMenu({
|
||||
lang,
|
||||
}: TopMenuProps) {
|
||||
const { formatMessage } = await getIntl()
|
||||
const session = await auth()
|
||||
const user = session ? await serverClient().user.get() : null
|
||||
|
||||
const user = await serverClient().user.name()
|
||||
return (
|
||||
<div className={styles.topMenu}>
|
||||
<div className={styles.container}>
|
||||
@@ -46,7 +43,7 @@ export default async function TopMenu({
|
||||
</li>
|
||||
))}
|
||||
<li className={styles.sessionContainer}>
|
||||
{session ? (
|
||||
{user ? (
|
||||
<>
|
||||
{user ? (
|
||||
<Link
|
||||
|
||||
@@ -19,14 +19,11 @@ export default async function Header({
|
||||
}: LangParams & { languageSwitcher: React.ReactNode } & {
|
||||
myPagesMobileDropdown: React.ReactNode
|
||||
}) {
|
||||
const [data, session] = await Promise.all([
|
||||
serverClient().contentstack.base.header({
|
||||
lang,
|
||||
}),
|
||||
auth(),
|
||||
])
|
||||
const data = await serverClient().contentstack.base.header({
|
||||
lang,
|
||||
})
|
||||
|
||||
const user = !!session ? await serverClient().user.get() : null
|
||||
const user = await serverClient().user.name()
|
||||
|
||||
if (!data) {
|
||||
return null
|
||||
|
||||
@@ -124,13 +124,15 @@ function reducer(state: any, action: OverviewTableReducerAction) {
|
||||
}
|
||||
}
|
||||
|
||||
export default function OverviewTable({ user }: OverviewTableProps) {
|
||||
export default function OverviewTable({
|
||||
activeMembership,
|
||||
}: OverviewTableProps) {
|
||||
const intl = useIntl()
|
||||
const lang = Lang.en
|
||||
const levelsData = levelsTranslations[lang]
|
||||
const [selectionState, dispatch] = useReducer(
|
||||
reducer,
|
||||
{ user, lang },
|
||||
{ activeMembership, lang },
|
||||
getInitialState
|
||||
)
|
||||
|
||||
@@ -150,10 +152,6 @@ export default function OverviewTable({ user }: OverviewTableProps) {
|
||||
value: level.level,
|
||||
}))
|
||||
|
||||
const activeMembership = user?.memberships
|
||||
? getMembership(user.memberships)
|
||||
: null
|
||||
|
||||
let activeMembershipLevel: membershipLevels | null = null
|
||||
if (activeMembership?.membershipLevel) {
|
||||
activeMembershipLevel = membershipLevels[activeMembership?.membershipLevel]
|
||||
|
||||
@@ -21,9 +21,7 @@ import type {
|
||||
import { LoyaltyComponentEnum } from "@/types/components/loyalty/enums"
|
||||
|
||||
async function DynamicComponentBlock({ component }: DynamicComponentProps) {
|
||||
const session = await auth()
|
||||
|
||||
const user = session ? await serverClient().user.get() : null
|
||||
const membershipLevel = await serverClient().user.membershipLevel()
|
||||
|
||||
switch (component) {
|
||||
case LoyaltyComponentEnum.how_it_works:
|
||||
@@ -31,7 +29,7 @@ async function DynamicComponentBlock({ component }: DynamicComponentProps) {
|
||||
case LoyaltyComponentEnum.loyalty_levels:
|
||||
return <LoyaltyLevels />
|
||||
case LoyaltyComponentEnum.overview_table:
|
||||
return <OverviewTable user={user} />
|
||||
return <OverviewTable activeMembership={membershipLevel} />
|
||||
default:
|
||||
return null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user