diff --git a/apps/web/components/ensure-workspace.tsx b/apps/web/components/ensure-workspace.tsx index a9bd8823..370d5ca0 100644 --- a/apps/web/components/ensure-workspace.tsx +++ b/apps/web/components/ensure-workspace.tsx @@ -10,8 +10,14 @@ export function EnsureWorkspace({ children }: { children: React.ReactNode }) { const { session, organizations, isRestoring } = useAuth() useEffect(() => { - if (!session) return - if (isRestoring || organizations === null) return + if (isRestoring) return + if (!session) { + router.replace( + `/login?redirect=${encodeURIComponent(window.location.href)}`, + ) + return + } + if (organizations === null) return if (organizations.length > 0) return if (pathname.startsWith("/onboarding")) return router.replace("/onboarding/welcome?step=input") diff --git a/apps/web/components/header.tsx b/apps/web/components/header.tsx index 38c5c68c..a66626b0 100644 --- a/apps/web/components/header.tsx +++ b/apps/web/components/header.tsx @@ -34,7 +34,7 @@ import { useIsMobile } from "@hooks/use-mobile" import { useLocalStorageUsername } from "@hooks/use-local-storage-username" import { UserProfileMenu } from "@/components/user-profile-menu" import { FeedbackModal } from "./feedback-modal" -import { useViewMode } from "@/lib/view-mode-context" +import { useViewMode, type ViewMode } from "@/lib/view-mode-context" import { useQueryState } from "nuqs" import { feedbackParam } from "@/lib/search-params" @@ -45,7 +45,7 @@ interface HeaderProps { } export function Header({ onAddMemory, onOpenChat, onOpenSearch }: HeaderProps) { - const { user } = useAuth() + const { user, isRestoring } = useAuth() const { selectedProjects, setSelectedProjects } = useProject() const router = useRouter() const isMobile = useIsMobile() @@ -53,14 +53,16 @@ export function Header({ onAddMemory, onOpenChat, onOpenSearch }: HeaderProps) { "feedback", feedbackParam, ) - const isFeedbackOpen = feedbackOpen ?? false const { viewMode, setViewMode } = useViewMode() const handleFeedback = () => setFeedbackOpen(true) const localStorageUsername = useLocalStorageUsername() const displayName = - user?.displayUsername || localStorageUsername || user?.name || "" + user?.displayUsername || + (isRestoring ? localStorageUsername : "") || + user?.name || + "" const userName = displayName ? `${displayName.split(" ")[0]}'s` : "My" return (