diff --git a/web/default/src/components/profile-dropdown.tsx b/web/default/src/components/profile-dropdown.tsx
index 7db6d32e..f76199d2 100644
--- a/web/default/src/components/profile-dropdown.tsx
+++ b/web/default/src/components/profile-dropdown.tsx
@@ -24,6 +24,7 @@ import { useAuthStore } from '@/stores/auth-store'
import { getUserAvatarFallback, getUserAvatarStyle } from '@/lib/avatar'
import { ROLE } from '@/lib/roles'
import useDialogState from '@/hooks/use-dialog'
+import { useIsSidebarModuleVisible } from '@/hooks/use-sidebar-config'
import { useUserDisplay } from '@/hooks/use-user-display'
import { Avatar, AvatarFallback } from '@/components/ui/avatar'
import { Button } from '@/components/ui/button'
@@ -45,6 +46,7 @@ export function ProfileDropdown() {
const user = useAuthStore((state) => state.auth.user)
const { displayName, roleLabel } = useUserDisplay(user)
const isSuperAdmin = user?.role === ROLE.SUPER_ADMIN
+ const isWalletVisible = useIsSidebarModuleVisible('/wallet')
const avatarName = user?.username || displayName
const avatarFallback = getUserAvatarFallback(avatarName)
const avatarFallbackStyle = useMemo(
@@ -104,10 +106,12 @@ export function ProfileDropdown() {
{t('Profile')}
- navigate({ to: '/wallet' })}>
-
- {t('Wallet')}
-
+ {isWalletVisible && (
+ navigate({ to: '/wallet' })}>
+
+ {t('Wallet')}
+
+ )}
{isSuperAdmin && (