Skip to content

Commit 01aa875

Browse files
committed
feat: Remember folder open state in session storage
https://harperdb.atlassian.net/browse/STUDIO-386
1 parent b2b0582 commit 01aa875

File tree

1 file changed

+5
-3
lines changed
  • src/features/instance/applications/components/ApplicationsSidebar/FileTreeExplorer

1 file changed

+5
-3
lines changed

src/features/instance/applications/components/ApplicationsSidebar/FileTreeExplorer/Folder.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
import { DirectoryEntry } from '@/features/instance/operations/queries/getComponents';
2-
import { useState } from 'react';
2+
import { useSessionStorage } from '@/hooks/useSessionStorage';
3+
import { useParams } from '@tanstack/react-router';
4+
import { File } from './File';
35
import { calculateIconForDirectoryEntry } from './lib/calculateIconForDirectoryEntry';
46
import { directorySortComparator } from './lib/directorySortComparator';
57
import { parseFileExtension } from './lib/parseFileExtension';
6-
import { File } from './File';
78

89
export function Folder({ directoryEntry, depth, pkg }: {
910
readonly directoryEntry: DirectoryEntry;
1011
readonly depth: number;
1112
readonly pkg?: string;
1213
}) {
13-
const [open, setOpen] = useState(depth <= 1 && !directoryEntry.package);
14+
const { instanceId, clusterId } = useParams({ strict: false });
15+
const [open, setOpen] = useSessionStorage(`FolderOpened/${instanceId ?? clusterId}/${directoryEntry.key}` as 'FolderOpened/{instanceId}/{key}', depth <= 1 && !directoryEntry.package);
1416

1517
const entries = [...(directoryEntry.entries || [])].sort(directorySortComparator);
1618
const fileExtension = parseFileExtension(directoryEntry.name);

0 commit comments

Comments
 (0)