@@ -192,6 +222,7 @@ function NoteListPageTitlebar({
const { navigate, current, display } = usePrimaryPage()
const { primaryViewType, setPrimaryNoteView } = usePrimaryNoteView()
const exploreActive = display && current === 'explore' && primaryViewType === null
+
return (
@@ -214,7 +245,6 @@ function NoteListPageTitlebar({
)}
-
{t('Favorites Feed')}
{isSmallScreen && (
diff --git a/src/pages/primary/SpellsPage/index.tsx b/src/pages/primary/SpellsPage/index.tsx
index 7c3bb90a..8d4e8397 100644
--- a/src/pages/primary/SpellsPage/index.tsx
+++ b/src/pages/primary/SpellsPage/index.tsx
@@ -29,7 +29,7 @@ import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider'
import { useKindFilter } from '@/providers/KindFilterProvider'
import { useNostr } from '@/providers/NostrProvider'
import { useScreenSize } from '@/providers/ScreenSizeProvider'
-import { useUserTrust } from '@/providers/UserTrustProvider'
+import { useUserTrust } from '@/contexts/user-trust-context'
import client from '@/services/client.service'
import indexedDb from '@/services/indexed-db.service'
import storage from '@/services/local-storage.service'
diff --git a/src/pages/secondary/GeneralSettingsPage/index.tsx b/src/pages/secondary/GeneralSettingsPage/index.tsx
index 878e63b4..323ea8a8 100644
--- a/src/pages/secondary/GeneralSettingsPage/index.tsx
+++ b/src/pages/secondary/GeneralSettingsPage/index.tsx
@@ -16,7 +16,7 @@ import { useContentPolicy } from '@/providers/ContentPolicyProvider'
import { useFontSize } from '@/providers/FontSizeProvider'
import { useTheme } from '@/providers/ThemeProvider'
import { useUserPreferences } from '@/providers/UserPreferencesProvider'
-import { useUserTrust } from '@/providers/UserTrustProvider'
+import { useUserTrust } from '@/contexts/user-trust-context'
import { TMediaAutoLoadPolicy } from '@/types'
import { SelectValue } from '@radix-ui/react-select'
import { ExternalLink } from 'lucide-react'
diff --git a/src/pages/secondary/MuteListPage/index.tsx b/src/pages/secondary/MuteListPage/index.tsx
index 5176bbbc..400bca8a 100644
--- a/src/pages/secondary/MuteListPage/index.tsx
+++ b/src/pages/secondary/MuteListPage/index.tsx
@@ -8,7 +8,7 @@ import Username from '@/components/Username'
import { useFetchProfile } from '@/hooks'
import SecondaryPageLayout from '@/layouts/SecondaryPageLayout'
import { usePrimaryNoteView } from '@/contexts/primary-note-view-context'
-import { useMuteList } from '@/providers/MuteListProvider'
+import { useMuteList } from '@/contexts/mute-list-context'
import { useNostr } from '@/providers/NostrProvider'
import { Lock, Unlock } from 'lucide-react'
import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react'
diff --git a/src/providers/MuteListProvider.tsx b/src/providers/MuteListProvider.tsx
index bffb21e7..3cc657b2 100644
--- a/src/providers/MuteListProvider.tsx
+++ b/src/providers/MuteListProvider.tsx
@@ -6,12 +6,13 @@ import {
removePubkeyFromPTags
} from '@/lib/replaceable-list-latest'
import { getPubkeysFromPTags } from '@/lib/tag'
+import { MuteListContext } from '@/contexts/mute-list-context'
import client from '@/services/client.service'
import indexedDb from '@/services/indexed-db.service'
import { kinds } from 'nostr-tools'
import dayjs from 'dayjs'
import { Event } from 'nostr-tools'
-import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'
+import { useCallback, useEffect, useMemo, useState, type ReactNode } from 'react'
import { useTranslation } from 'react-i18next'
import { toast } from 'sonner'
import { z } from 'zod'
@@ -19,29 +20,7 @@ import { useNostr } from './NostrProvider'
import { useFavoriteRelays } from './FavoriteRelaysProvider'
import logger from '@/lib/logger'
-type TMuteListContext = {
- mutePubkeySet: Set
- changing: boolean
- getMutePubkeys: () => string[]
- getMuteType: (pubkey: string) => 'public' | 'private' | null
- mutePubkeyPublicly: (pubkey: string) => Promise
- mutePubkeyPrivately: (pubkey: string) => Promise
- unmutePubkey: (pubkey: string) => Promise
- switchToPublicMute: (pubkey: string) => Promise
- switchToPrivateMute: (pubkey: string) => Promise
-}
-
-const MuteListContext = createContext(undefined)
-
-export const useMuteList = () => {
- const context = useContext(MuteListContext)
- if (!context) {
- throw new Error('useMuteList must be used within a MuteListProvider')
- }
- return context
-}
-
-export function MuteListProvider({ children }: { children: React.ReactNode }) {
+export function MuteListProvider({ children }: { children: ReactNode }) {
const { t } = useTranslation()
const {
pubkey: accountPubkey,
diff --git a/src/providers/UserTrustProvider.tsx b/src/providers/UserTrustProvider.tsx
index 0d60006a..317face2 100644
--- a/src/providers/UserTrustProvider.tsx
+++ b/src/providers/UserTrustProvider.tsx
@@ -2,32 +2,13 @@ import { replaceableEventService } from '@/services/client.service'
import { getPubkeysFromPTags } from '@/lib/tag'
import { kinds } from 'nostr-tools'
import storage from '@/services/local-storage.service'
-import { createContext, useCallback, useContext, useEffect, useState } from 'react'
+import { UserTrustContext } from '@/contexts/user-trust-context'
+import { type ReactNode, useCallback, useEffect, useState } from 'react'
import { useNostr } from './NostrProvider'
-type TUserTrustContext = {
- hideUntrustedInteractions: boolean
- hideUntrustedNotifications: boolean
- hideUntrustedNotes: boolean
- updateHideUntrustedInteractions: (hide: boolean) => void
- updateHideUntrustedNotifications: (hide: boolean) => void
- updateHideUntrustedNotes: (hide: boolean) => void
- isUserTrusted: (pubkey: string) => boolean
-}
-
-const UserTrustContext = createContext(undefined)
-
-export const useUserTrust = () => {
- const context = useContext(UserTrustContext)
- if (!context) {
- throw new Error('useUserTrust must be used within a UserTrustProvider')
- }
- return context
-}
-
const wotSet = new Set()
-export function UserTrustProvider({ children }: { children: React.ReactNode }) {
+export function UserTrustProvider({ children }: { children: ReactNode }) {
const { pubkey: currentPubkey } = useNostr()
const [hideUntrustedInteractions, setHideUntrustedInteractions] = useState(() =>
storage.getHideUntrustedInteractions()