fix: replace to invalidate context

This commit is contained in:
Aslam H
2024-10-30 05:40:38 +07:00
parent fcffba23f1
commit 5294ade0ab
7 changed files with 20 additions and 9 deletions

View File

@@ -16,11 +16,12 @@ import { cn } from "@/lib/utils"
import { showShortcutAtom } from "@/components/shortcut/shortcut" import { showShortcutAtom } from "@/components/shortcut/shortcut"
import { useKeyboardManager } from "@/hooks/use-keyboard-manager" import { useKeyboardManager } from "@/hooks/use-keyboard-manager"
import { SignInButton, useAuth, useUser } from "@clerk/tanstack-start" import { SignInButton, useAuth, useUser } from "@clerk/tanstack-start"
import { Link, useLocation } from "@tanstack/react-router" import { Link, useLocation, useRouter } from "@tanstack/react-router"
import { ShortcutKey } from "@shared/minimal-tiptap/components/shortcut-key" import { ShortcutKey } from "@shared/minimal-tiptap/components/shortcut-key"
import { Feedback } from "./feedback" import { Feedback } from "./feedback"
export const ProfileSection: React.FC = () => { export const ProfileSection: React.FC = () => {
const router = useRouter()
const { user, isSignedIn } = useUser() const { user, isSignedIn } = useUser()
const { signOut } = useAuth() const { signOut } = useAuth()
const [menuOpen, setMenuOpen] = React.useState(false) const [menuOpen, setMenuOpen] = React.useState(false)
@@ -29,6 +30,15 @@ export const ProfileSection: React.FC = () => {
const { disableKeydown } = useKeyboardManager("profileSection") const { disableKeydown } = useKeyboardManager("profileSection")
const handleSignOut = async () => {
// this is no good, stupid fn, invalidate context but dont do it correctly
await router.invalidate()
signOut(() => {
window.location.replace("/")
})
}
React.useEffect(() => { React.useEffect(() => {
disableKeydown(menuOpen) disableKeydown(menuOpen)
}, [menuOpen, disableKeydown]) }, [menuOpen, disableKeydown])
@@ -53,7 +63,7 @@ export const ProfileSection: React.FC = () => {
user={user} user={user}
menuOpen={menuOpen} menuOpen={menuOpen}
setMenuOpen={setMenuOpen} setMenuOpen={setMenuOpen}
signOut={signOut} signOut={handleSignOut}
setShowShortcut={setShowShortcut} setShowShortcut={setShowShortcut}
/> />
<span className="flex flex-auto"></span> <span className="flex flex-auto"></span>

View File

@@ -8,11 +8,10 @@ import { useAccountOrGuest } from "@/lib/providers/jazz-provider"
import { LaIcon } from "@/components/custom/la-icon" import { LaIcon } from "@/components/custom/la-icon"
import { Link, useLocation } from "@tanstack/react-router" import { Link, useLocation } from "@tanstack/react-router"
// import { LinkSection } from "./partials/link-section"
import { PageSection } from "./partials/page-section" import { PageSection } from "./partials/page-section"
import { ProfileSection } from "./partials/profile-section" import { ProfileSection } from "./partials/profile-section"
import { JournalSection } from "./partials/journal-section" import { JournalSection } from "./partials/journal-section"
import { TaskSection } from "./partials/task-section" // import { TaskSection } from "./partials/task-section"
import { LinkCollection } from "./partials/link-collection" import { LinkCollection } from "./partials/link-collection"
interface SidebarContextType { interface SidebarContextType {

View File

@@ -2,7 +2,7 @@ import { createFileRoute, Outlet, redirect } from "@tanstack/react-router"
export const Route = createFileRoute("/_layout/(auth)/_auth")({ export const Route = createFileRoute("/_layout/(auth)/_auth")({
beforeLoad({ context }) { beforeLoad({ context }) {
if (context.auth.userId) { if (context.auth?.userId) {
throw redirect({ to: "/links", replace: true }) throw redirect({ to: "/links", replace: true })
} }
}, },

View File

@@ -89,7 +89,7 @@ export const TopicDetailHeader = React.memo(function TopicDetailHeader({
const handleAddToProfile = (learningState: LearningStateValue) => { const handleAddToProfile = (learningState: LearningStateValue) => {
if (me?._type === "Anonymous") { if (me?._type === "Anonymous") {
return clerk.redirectToSignIn({ return clerk.redirectToSignIn({
redirectUrl: pathname, signInFallbackRedirectUrl: pathname,
}) })
} }

View File

@@ -77,7 +77,7 @@ export const LinkItem = React.memo(
(learningState: LearningStateValue) => { (learningState: LearningStateValue) => {
if (!personalLinks || !me || me?._type === "Anonymous") { if (!personalLinks || !me || me?._type === "Anonymous") {
return clerk.redirectToSignIn({ return clerk.redirectToSignIn({
redirectUrl: pathname, signInFallbackRedirectUrl: pathname,
}) })
} }

View File

@@ -173,7 +173,6 @@ export const LinkForm: React.FC<LinkFormProps> = ({
ref.current?.contains(event.target as Node), ref.current?.contains(event.target as Node),
) )
) { ) {
console.log("clicking outside")
onClose?.() onClose?.()
} }
}) })

View File

@@ -190,7 +190,10 @@ const createExtensions = ({
}, },
onValidationError: (errors) => { onValidationError: (errors) => {
errors.forEach((error) => { errors.forEach((error) => {
console.log("File validation error", error) toast.error("Image validation error", {
position: "bottom-right",
description: error.reason,
})
}) })
}, },
}), }),