diff --git a/src/components/ReqViewer.tsx b/src/components/ReqViewer.tsx index c78d22c..69a0255 100644 --- a/src/components/ReqViewer.tsx +++ b/src/components/ReqViewer.tsx @@ -16,9 +16,6 @@ import { Loader2, Mail, Send, - List, - Rows3, - Braces, } from "lucide-react"; import { Virtuoso } from "react-virtuoso"; import { useReqTimeline } from "@/hooks/useReqTimeline"; @@ -76,10 +73,7 @@ import { resolveFilterAliases, getTagValues } from "@/lib/nostr-utils"; import { useNostrEvent } from "@/hooks/useNostrEvent"; import { cn } from "@/lib/utils"; import { MemoizedCompactEventRow } from "./nostr/CompactEventRow"; -import { MemoizedJsonEventRow } from "./nostr/JsonEventRow"; - -// View mode type -type ViewMode = "list" | "compact" | "json"; +import type { ViewMode } from "@/lib/req-parser"; // Memoized FeedEvent to prevent unnecessary re-renders during scroll const MemoizedFeedEvent = memo( @@ -91,6 +85,7 @@ interface ReqViewerProps { filter: NostrFilter; relays?: string[]; closeOnEose?: boolean; + view?: ViewMode; nip05Authors?: string[]; nip05PTags?: string[]; needsAccount?: boolean; @@ -643,6 +638,7 @@ export default function ReqViewer({ filter, relays, closeOnEose = false, + view = "list", nip05Authors, nip05PTags, needsAccount = false, @@ -756,7 +752,6 @@ export default function ReqViewer({ const [exportFilename, setExportFilename] = useState(""); const [isExporting, setIsExporting] = useState(false); const [exportProgress, setExportProgress] = useState(0); - const [viewMode, setViewMode] = useState("list"); // Freeze timeline after EOSE to prevent auto-scrolling on new events const [freezePoint, setFreezePoint] = useState(null); @@ -1115,61 +1110,6 @@ export default function ReqViewer({ - {/* View Mode Toggle */} -
- - - - - List view - - - - - - Compact view - - - - - - JSON view - -
- {/* Query (Clickable) */}