I have completed the character creation screen on the avatar branch and am preparing to merge it into main.
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
export const routes = {
|
|
home: "/",
|
|
login: "/auth/login",
|
|
signUp: "/auth/sign-up",
|
|
signUpSuccess: "/auth/sign-up-success",
|
|
onboardingQuiz: "/onboarding/quiz",
|
|
onboardingCustomize: "/onboarding/customize",
|
|
avatar: "/avatar",
|
|
habits: "/habits",
|
|
dailyQuiz: "/daily/quiz",
|
|
shop: "/shop",
|
|
profile: "/profile",
|
|
} as const;
|
|
|
|
export type AppRoute = (typeof routes)[keyof typeof routes];
|
|
|
|
export const appNavItems = [
|
|
{ href: routes.avatar, label: "Pet", shortLabel: "Pet" },
|
|
{ href: routes.habits, label: "Habits", shortLabel: "Habits" },
|
|
{ href: routes.dailyQuiz, label: "Daily Quiz", shortLabel: "Quiz" },
|
|
{ href: routes.shop, label: "Shop", shortLabel: "Shop" },
|
|
{ href: routes.profile, label: "Profile", shortLabel: "Profile" },
|
|
] as const;
|
|
|
|
export type NavItem = (typeof appNavItems)[number];
|
|
|
|
export function isAuthPath(pathname: string) {
|
|
return pathname.startsWith("/auth");
|
|
}
|
|
|
|
export function isOnboardingPath(pathname: string) {
|
|
return pathname.startsWith("/onboarding");
|
|
}
|
|
|
|
export function isPublicPath(pathname: string) {
|
|
return pathname === routes.home || isAuthPath(pathname);
|
|
}
|