diff --git a/apps/desktop/src/renderer/src/hooks/biz/useSignOut.ts b/apps/desktop/src/renderer/src/hooks/biz/useSignOut.ts
deleted file mode 100644
index 18e41e931..000000000
--- a/apps/desktop/src/renderer/src/hooks/biz/useSignOut.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { clearStorage } from "@follow/utils/ns"
-import { useCallback } from "react"
-
-import { setWhoami } from "~/atoms/user"
-import { QUERY_PERSIST_KEY } from "~/constants"
-import { signOut } from "~/lib/auth"
-import { handleSessionChanges } from "~/queries/auth"
-import { clearLocalPersistStoreData } from "~/store/utils/clear"
-
-export const useSignOut = () =>
- useCallback(async () => {
- if (window.__RN__) {
- window.ReactNativeWebView?.postMessage("sign-out")
- return
- }
-
- // Clear query cache
- localStorage.removeItem(QUERY_PERSIST_KEY)
-
- // setLoginModalShow(true)
- setWhoami(null)
-
- // Clear local storage
- clearStorage()
-
- // clear local store data
- await clearLocalPersistStoreData()
- // Sign out
- await signOut().then(() => {
- handleSessionChanges()
- })
- }, [])
diff --git a/apps/desktop/src/renderer/src/modules/user/ProfileButton.electron.tsx b/apps/desktop/src/renderer/src/modules/user/ProfileButton.electron.tsx
index 8b67cc4d1..0cee2a0d1 100644
--- a/apps/desktop/src/renderer/src/modules/user/ProfileButton.electron.tsx
+++ b/apps/desktop/src/renderer/src/modules/user/ProfileButton.electron.tsx
@@ -22,12 +22,11 @@ import {
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "~/components/ui/dropdown-menu/dropdown-menu"
-import { useSignOut } from "~/hooks/biz/useSignOut"
import { UrlBuilder } from "~/lib/url-builder"
import { useAchievementModal } from "~/modules/achievement/hooks"
import { usePresentUserProfileModal } from "~/modules/profile/hooks"
import { useSettingModal } from "~/modules/settings/modal/use-setting-modal-hack"
-import { useSession } from "~/queries/auth"
+import { signOut, useSession } from "~/queries/auth"
import { useWallet } from "~/queries/wallet"
import { useActivationModal } from "../activation"
@@ -47,7 +46,6 @@ export type ProfileButtonProps = LoginProps & {
export const ProfileButton: FC = memo((props) => {
const { status, session } = useSession()
const { user } = session || {}
- const signOut = useSignOut()
const settingModalPresent = useSettingModal()
const presentUserProfile = usePresentUserProfileModal("dialog")
const presentAchievement = useAchievementModal()
diff --git a/apps/desktop/src/renderer/src/modules/user/ProfileButton.mobile.tsx b/apps/desktop/src/renderer/src/modules/user/ProfileButton.mobile.tsx
index 002f6e89a..892821f8c 100644
--- a/apps/desktop/src/renderer/src/modules/user/ProfileButton.mobile.tsx
+++ b/apps/desktop/src/renderer/src/modules/user/ProfileButton.mobile.tsx
@@ -9,8 +9,8 @@ import { Link } from "react-router"
import rsshubLogoUrl from "~/assets/rsshub-icon.png?url"
import { useUserRole, useWhoami } from "~/atoms/user"
-import { useSignOut } from "~/hooks/biz/useSignOut"
import { UrlBuilder } from "~/lib/url-builder"
+import { signOut } from "~/queries/auth"
import { useWallet } from "~/queries/wallet"
import { useAchievementModal } from "../achievement/hooks"
@@ -26,8 +26,6 @@ import { UserAvatar } from "./UserAvatar"
export const ProfileButton: FC = () => {
const user = useWhoami()
- const signOut = useSignOut()
-
const presentUserProfile = usePresentUserProfileModal("dialog")
const presentAchievement = useAchievementModal()
const { t } = useTranslation()
diff --git a/apps/desktop/src/renderer/src/pages/settings/(settings)/profile.tsx b/apps/desktop/src/renderer/src/pages/settings/(settings)/profile.tsx
index b0d7f40bb..1616be1ca 100644
--- a/apps/desktop/src/renderer/src/pages/settings/(settings)/profile.tsx
+++ b/apps/desktop/src/renderer/src/pages/settings/(settings)/profile.tsx
@@ -3,7 +3,6 @@ import { Divider } from "@follow/components/ui/divider/Divider.js"
import { Label } from "@follow/components/ui/label/index.js"
import { useModalStack } from "~/components/ui/modal/stacked/hooks"
-import { signOut } from "~/lib/auth"
import { isInMAS } from "~/lib/utils"
import { AccountManagement } from "~/modules/profile/account-management"
import { EmailManagement } from "~/modules/profile/email-management"
@@ -12,7 +11,7 @@ import { TwoFactor } from "~/modules/profile/two-factor"
import { UpdatePasswordForm } from "~/modules/profile/update-password-form"
import { SettingsTitle } from "~/modules/settings/title"
import { defineSettingPageData } from "~/modules/settings/utils"
-import { handleSessionChanges } from "~/queries/auth"
+import { signOut } from "~/queries/auth"
const iconName = "i-mgc-user-setting-cute-re"
const priority = 1090
@@ -52,13 +51,7 @@ export function Component() {
Are you sure you want to delete your account? This action is irreversible
and may take up to two days to take effect.
-