diff --git a/__tests__/pages/utilities/har-file-viewer.test.tsx b/__tests__/pages/utilities/har-file-viewer.test.tsx index ef2bbb7..8a62239 100644 --- a/__tests__/pages/utilities/har-file-viewer.test.tsx +++ b/__tests__/pages/utilities/har-file-viewer.test.tsx @@ -53,7 +53,9 @@ describe("HARFileViewer", () => { test("should render the component and display the drop zone text", () => { render(); - expect(screen.getByText("Drop your .har or .json file here")).toBeInTheDocument(); + expect( + screen.getByText("Drop your .har or .json file here") + ).toBeInTheDocument(); }); test("should list all requests after uploading a har file", async () => { diff --git a/pages/utilities/har-file-viewer.tsx b/pages/utilities/har-file-viewer.tsx index 3a8b388..706740e 100644 --- a/pages/utilities/har-file-viewer.tsx +++ b/pages/utilities/har-file-viewer.tsx @@ -110,6 +110,31 @@ export default function HARFileViewer() { const [activeFilter, setActiveFilter] = useState("All"); const [viewMode, setViewMode] = useState<"table" | "waterfall">("table"); const [statusFilter, setStatusFilter] = useState([]); + const [isInitialized, setIsInitialized] = useState(false); + + // Load view mode from localStorage on component mount + useEffect(() => { + try { + const savedViewMode = localStorage.getItem("har-viewer-view-mode"); + if (savedViewMode === "table" || savedViewMode === "waterfall") { + setViewMode(savedViewMode); + } + } catch (error) { + // localStorage not available or error occurred, use default + } + setIsInitialized(true); + }, []); + + // Save view mode to localStorage when it changes (but not on initial load) + useEffect(() => { + if (!isInitialized) return; + + try { + localStorage.setItem("har-viewer-view-mode", viewMode); + } catch (error) { + // localStorage not available or error occurred + } + }, [viewMode, isInitialized]); const handleFileUpload = useCallback((file: File | undefined) => { if (!file) { @@ -142,7 +167,10 @@ export default function HARFileViewer() { setStatus("hover"); const file = event.dataTransfer.files[0]; - if (!file || (!file.name.endsWith(".har") && !file.name.endsWith(".json"))) { + if ( + !file || + (!file.name.endsWith(".har") && !file.name.endsWith(".json")) + ) { setStatus("unsupported"); return; }