From 5e90b828b4f3f5424f5df81107e9dd6b90407bdb Mon Sep 17 00:00:00 2001 From: SkateSpots Date: Sun, 1 Nov 2026 13:49:06 +0700 Subject: [PATCH] refactor: use app-owned secure login provider --- src/App.tsx | 2 +- src/components/AmberApprovalHint.tsx | 2 +- src/components/CrewChat.tsx | 2 +- src/components/NostrSync.tsx | 2 +- src/components/SecuritySettings.tsx | 2 +- src/hooks/useCordnChat.ts | 2 +- src/hooks/useCordnJoinNotifications.ts | 2 +- src/hooks/useCordnNative.ts | 2 +- src/hooks/useCrewDismissals.ts | 2 +- src/hooks/useCurrentUser.ts | 2 +- src/hooks/useDirectMessages.ts | 2 +- src/hooks/useLoggedInAccounts.ts | 2 +- src/hooks/useLoginActions.ts | 2 +- src/hooks/useOfflineCache.ts | 2 +- src/hooks/usePrivateContacts.ts | 2 +- src/hooks/useReadState.ts | 2 +- src/hooks/useShakespeare.ts | 2 +- src/hooks/useStash.ts | 2 +- src/hooks/useSyncedAppData.ts | 2 +- src/pages/ContactsPage.tsx | 2 +- src/pages/ConversationPage.tsx | 2 +- src/pages/DirectMessagesPage.tsx | 2 +- src/pages/GroupConversationPage.tsx | 2 +- src/pages/SignersPage.tsx | 2 +- src/test/TestApp.tsx | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 0871b54..5cd881c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -16,7 +16,7 @@ import NostrProvider from '@/components/NostrProvider'; import { NostrSync } from '@/components/NostrSync'; import { Toaster } from "@/components/ui/toaster"; import { TooltipProvider } from "@/components/ui/tooltip"; -import { NostrLoginProvider } from '@nostrify/react/login'; +import { NostrLoginProvider } from '@/lib/nostrLogin'; import { AppProvider } from '@/components/AppProvider'; import { NWCProvider } from '@/contexts/NWCContext'; import { LanguageProvider } from '@/contexts/LanguageContext'; diff --git a/src/components/AmberApprovalHint.tsx b/src/components/AmberApprovalHint.tsx index 5b85baa..37f28e4 100644 --- a/src/components/AmberApprovalHint.tsx +++ b/src/components/AmberApprovalHint.tsx @@ -1,7 +1,7 @@ import { KeyRound } from 'lucide-react'; import { useCurrentUser } from '@/hooks/useCurrentUser'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { isInteractiveSigner } from '@/lib/signerCapabilities'; import { cn } from '@/lib/utils'; import { useTranslation } from '@/contexts/language'; diff --git a/src/components/CrewChat.tsx b/src/components/CrewChat.tsx index eb4e02a..db1422b 100644 --- a/src/components/CrewChat.tsx +++ b/src/components/CrewChat.tsx @@ -13,7 +13,7 @@ import { Skeleton } from '@/components/ui/skeleton'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { useTranslation } from '@/contexts/language'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { hasNip44 as checkNip44 } from '@/lib/signerCapabilities'; import { AmberApprovalHint } from '@/components/AmberApprovalHint'; import { useAuthor } from '@/hooks/useAuthor'; diff --git a/src/components/NostrSync.tsx b/src/components/NostrSync.tsx index 25f2d3e..a61a049 100644 --- a/src/components/NostrSync.tsx +++ b/src/components/NostrSync.tsx @@ -1,6 +1,6 @@ import { useEffect, useRef } from 'react'; import { useNostr } from '@nostrify/react'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useQueryClient } from '@tanstack/react-query'; import { NSchema as n } from '@nostrify/nostrify'; import { useCurrentUser } from '@/hooks/useCurrentUser'; diff --git a/src/components/SecuritySettings.tsx b/src/components/SecuritySettings.tsx index fee6ded..9e031a6 100644 --- a/src/components/SecuritySettings.tsx +++ b/src/components/SecuritySettings.tsx @@ -7,7 +7,7 @@ import { QRCodeCanvas } from '@/components/ui/qrcode'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { useLocalStorage } from '@/hooks/useLocalStorage'; import { backupConfirmedKey } from '@/lib/backup'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { toast } from '@/hooks/useToast'; import { useTranslation } from '@/contexts/language'; diff --git a/src/hooks/useCordnChat.ts b/src/hooks/useCordnChat.ts index 91ac2dc..1120fbe 100644 --- a/src/hooks/useCordnChat.ts +++ b/src/hooks/useCordnChat.ts @@ -1,6 +1,6 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { useNostr } from '@nostrify/react'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { hasNip44 as checkNip44, isInteractiveSigner } from '@/lib/signerCapabilities'; import { diff --git a/src/hooks/useCordnJoinNotifications.ts b/src/hooks/useCordnJoinNotifications.ts index d27cca4..be0b1c4 100644 --- a/src/hooks/useCordnJoinNotifications.ts +++ b/src/hooks/useCordnJoinNotifications.ts @@ -1,6 +1,6 @@ import { useCallback, useMemo, useRef } from 'react'; import { useQuery } from '@tanstack/react-query'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { useLocalStorage } from '@/hooks/useLocalStorage'; import { useSkateRelays } from '@/hooks/useSkateRelays'; diff --git a/src/hooks/useCordnNative.ts b/src/hooks/useCordnNative.ts index 8ef077a..77ff05a 100644 --- a/src/hooks/useCordnNative.ts +++ b/src/hooks/useCordnNative.ts @@ -1,5 +1,5 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import type { NostrSigner } from '@contextvm/sdk/core'; import type { JoinRequest } from '@cordn/core'; import { useCurrentUser } from '@/hooks/useCurrentUser'; diff --git a/src/hooks/useCrewDismissals.ts b/src/hooks/useCrewDismissals.ts index dd4a0a6..267beac 100644 --- a/src/hooks/useCrewDismissals.ts +++ b/src/hooks/useCrewDismissals.ts @@ -1,5 +1,5 @@ import { useNostr } from '@nostrify/react'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { isInteractiveSigner } from '@/lib/signerCapabilities'; diff --git a/src/hooks/useCurrentUser.ts b/src/hooks/useCurrentUser.ts index a8b6a75..424e2e9 100644 --- a/src/hooks/useCurrentUser.ts +++ b/src/hooks/useCurrentUser.ts @@ -1,4 +1,4 @@ -import { type NLoginType, NUser, useNostrLogin } from '@nostrify/react/login'; +import { type NLoginType, NUser, useNostrLogin } from '@/lib/nostrLogin'; import { useNostr } from '@nostrify/react'; import { useCallback, useMemo } from 'react'; diff --git a/src/hooks/useDirectMessages.ts b/src/hooks/useDirectMessages.ts index ea96d25..0a3f3fb 100644 --- a/src/hooks/useDirectMessages.ts +++ b/src/hooks/useDirectMessages.ts @@ -4,7 +4,7 @@ import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { nip44, nip19, generateSecretKey, finalizeEvent, getEventHash, verifyEvent } from 'nostr-tools'; import type { NostrEvent } from '@nostrify/nostrify'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useCurrentUser } from './useCurrentUser'; import { useAppContext } from './useAppContext'; import { hasNip44 as checkNip44, isInteractiveSigner } from '@/lib/signerCapabilities'; diff --git a/src/hooks/useLoggedInAccounts.ts b/src/hooks/useLoggedInAccounts.ts index 113a237..b721df7 100644 --- a/src/hooks/useLoggedInAccounts.ts +++ b/src/hooks/useLoggedInAccounts.ts @@ -1,5 +1,5 @@ import { useNostr } from '@nostrify/react'; -import { useNostrLogin, type NLoginType } from '@nostrify/react/login'; +import { useNostrLogin, type NLoginType } from '@/lib/nostrLogin'; import { useQuery } from '@tanstack/react-query'; import { NSchema as n, NostrEvent, NostrMetadata } from '@nostrify/nostrify'; diff --git a/src/hooks/useLoginActions.ts b/src/hooks/useLoginActions.ts index c2e6757..f8706b0 100644 --- a/src/hooks/useLoginActions.ts +++ b/src/hooks/useLoginActions.ts @@ -3,7 +3,7 @@ import { NLogin, type NLoginType, useNostrLogin, -} from '@nostrify/react/login'; +} from '@/lib/nostrLogin'; // NOTE: This file should not be edited except for adding new login methods. diff --git a/src/hooks/useOfflineCache.ts b/src/hooks/useOfflineCache.ts index e8d9e6d..35c8c4a 100644 --- a/src/hooks/useOfflineCache.ts +++ b/src/hooks/useOfflineCache.ts @@ -21,7 +21,7 @@ import { updatePendingPostStatus, } from '@/lib/offlineCache'; import { useCurrentUser } from './useCurrentUser'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { isInteractiveSigner } from '@/lib/signerCapabilities'; import { useToast } from './useToast'; import { useTranslation } from '@/contexts/language'; diff --git a/src/hooks/usePrivateContacts.ts b/src/hooks/usePrivateContacts.ts index 27457f9..3863d91 100644 --- a/src/hooks/usePrivateContacts.ts +++ b/src/hooks/usePrivateContacts.ts @@ -1,6 +1,6 @@ import { useNostr } from '@nostrify/react'; import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { isInteractiveSigner } from '@/lib/signerCapabilities'; diff --git a/src/hooks/useReadState.ts b/src/hooks/useReadState.ts index 95df110..17320ef 100644 --- a/src/hooks/useReadState.ts +++ b/src/hooks/useReadState.ts @@ -1,5 +1,5 @@ import { useCallback, useEffect, useMemo, useRef } from 'react'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useLocalStorage } from '@/hooks/useLocalStorage'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { useSyncedAppData, type MergeStrategy } from '@/hooks/useSyncedAppData'; diff --git a/src/hooks/useShakespeare.ts b/src/hooks/useShakespeare.ts index 283ba11..ceec7c3 100644 --- a/src/hooks/useShakespeare.ts +++ b/src/hooks/useShakespeare.ts @@ -1,6 +1,6 @@ import { useCallback, useState } from 'react'; import { useCurrentUser } from './useCurrentUser'; -import type { NUser } from '@nostrify/react/login'; +import type { NUser } from '@/lib/nostrLogin'; // Types for Shakespeare API (compatible with OpenAI ChatCompletionMessageParam) export interface ChatMessage { diff --git a/src/hooks/useStash.ts b/src/hooks/useStash.ts index e891f60..06c066d 100644 --- a/src/hooks/useStash.ts +++ b/src/hooks/useStash.ts @@ -1,7 +1,7 @@ import { useCallback, useMemo } from 'react'; import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { useNostr } from '@nostrify/react'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useCurrentUser } from './useCurrentUser'; import { useNostrPublish } from './useNostrPublish'; import { toast } from './useToast'; diff --git a/src/hooks/useSyncedAppData.ts b/src/hooks/useSyncedAppData.ts index d3a3cc2..6580e2c 100644 --- a/src/hooks/useSyncedAppData.ts +++ b/src/hooks/useSyncedAppData.ts @@ -1,7 +1,7 @@ import { useCallback, useEffect, useMemo, useRef } from 'react'; import { useQuery, useQueryClient } from '@tanstack/react-query'; import { useNostr } from '@nostrify/react'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { useCurrentUser } from './useCurrentUser'; import { useNostrPublish } from './useNostrPublish'; import { hasNip44 as checkNip44, isInteractiveSigner } from '@/lib/signerCapabilities'; diff --git a/src/pages/ContactsPage.tsx b/src/pages/ContactsPage.tsx index a74d2c6..5e31ddb 100644 --- a/src/pages/ContactsPage.tsx +++ b/src/pages/ContactsPage.tsx @@ -11,7 +11,7 @@ import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs'; import { LoginArea } from '@/components/auth/LoginArea'; import { ZapButton } from '@/components/ZapButton'; import { useCurrentUser } from '@/hooks/useCurrentUser'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { hasNip44 as checkNip44 } from '@/lib/signerCapabilities'; import { useAuthor } from '@/hooks/useAuthor'; import { useFollowing } from '@/hooks/useFollowing'; diff --git a/src/pages/ConversationPage.tsx b/src/pages/ConversationPage.tsx index eff531a..4851192 100644 --- a/src/pages/ConversationPage.tsx +++ b/src/pages/ConversationPage.tsx @@ -11,7 +11,7 @@ import { Skeleton } from '@/components/ui/skeleton'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { useTranslation } from '@/contexts/language'; import { useToast } from '@/hooks/useToast'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { hasNip44 as checkNip44 } from '@/lib/signerCapabilities'; import { useConversation, useSendDirectMessage, type DirectMessage } from '@/hooks/useDirectMessages'; import { usePendingTradeConfirmations, useTradeAttestation, useIncomingTradeRequests } from '@/hooks/useTradeAttestations'; diff --git a/src/pages/DirectMessagesPage.tsx b/src/pages/DirectMessagesPage.tsx index 5ae4e45..2c9bae0 100644 --- a/src/pages/DirectMessagesPage.tsx +++ b/src/pages/DirectMessagesPage.tsx @@ -11,7 +11,7 @@ import { Skeleton } from '@/components/ui/skeleton'; import { NewMessageDialog } from '@/components/NewMessageDialog'; import { useTranslation } from '@/contexts/language'; import { useCurrentUser } from '@/hooks/useCurrentUser'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { hasNip44 as checkNip44, isInteractiveSigner } from '@/lib/signerCapabilities'; import { useConversations, useGroupConversations, type Conversation } from '@/hooks/useDirectMessages'; import { useUserCrews } from '@/hooks/useCrews'; diff --git a/src/pages/GroupConversationPage.tsx b/src/pages/GroupConversationPage.tsx index e5b6a3b..6344423 100644 --- a/src/pages/GroupConversationPage.tsx +++ b/src/pages/GroupConversationPage.tsx @@ -9,7 +9,7 @@ import { Skeleton } from '@/components/ui/skeleton'; import { useCurrentUser } from '@/hooks/useCurrentUser'; import { useTranslation } from '@/contexts/language'; import { useToast } from '@/hooks/useToast'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { hasNip44 as checkNip44 } from '@/lib/signerCapabilities'; import { useGroupConversation, useSendDirectMessage, getGroupId } from '@/hooks/useDirectMessages'; import { useDMRead } from '@/hooks/useDMRead'; diff --git a/src/pages/SignersPage.tsx b/src/pages/SignersPage.tsx index 1c080aa..56ef6b8 100644 --- a/src/pages/SignersPage.tsx +++ b/src/pages/SignersPage.tsx @@ -6,7 +6,7 @@ import { Alert, AlertDescription } from '@/components/ui/alert'; import { Smartphone, Shield, ExternalLink, Star, CheckCircle2, Info, Apple, Chrome } from 'lucide-react'; import { useTranslation } from '@/contexts/language'; import { useCurrentUser } from '@/hooks/useCurrentUser'; -import { useNostrLogin } from '@nostrify/react/login'; +import { useNostrLogin } from '@/lib/nostrLogin'; import { isInteractiveSigner } from '@/lib/signerCapabilities'; // Platform detection diff --git a/src/test/TestApp.tsx b/src/test/TestApp.tsx index c63da0d..e3c5006 100644 --- a/src/test/TestApp.tsx +++ b/src/test/TestApp.tsx @@ -1,7 +1,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { createHead, UnheadProvider } from '@unhead/react/client'; import { BrowserRouter } from 'react-router-dom'; -import { NostrLoginProvider } from '@nostrify/react/login'; +import { NostrLoginProvider } from '@/lib/nostrLogin'; import NostrProvider from '@/components/NostrProvider'; import { AppProvider } from '@/components/AppProvider'; import { NWCProvider } from '@/contexts/NWCContext';