From 79f2974c39e77291629a64c9a1e4fc9d0cb53808 Mon Sep 17 00:00:00 2001 From: Chris Kruining Date: Tue, 7 Jan 2025 08:27:33 +0100 Subject: [PATCH] fix closing a directory --- src/features/file/index.tsx | 9 ++++++++- src/routes/(editor)/edit.tsx | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/features/file/index.tsx b/src/features/file/index.tsx index 524f2a2..b6d7117 100644 --- a/src/features/file/index.tsx +++ b/src/features/file/index.tsx @@ -30,7 +30,8 @@ interface FilesContextType { readonly root: Accessor, readonly loading: Accessor, - open(directory: FileSystemDirectoryHandle): void; + open(directory: FileSystemDirectoryHandle): Promise; + close(): Promise; get(key: string): Accessor set(key: string, handle: FileSystemDirectoryHandle): Promise; remove(key: string): Promise; @@ -140,6 +141,12 @@ export const FilesProvider: ParentComponent = (props) => { await internal.set(ROOT, directory); }, + async close() { + setState('root', undefined); + + await internal.remove(ROOT); + }, + get(key: string): Accessor { return createMemo(() => state.openedFiles.find(entity => entity.key === key)?.handle); }, diff --git a/src/routes/(editor)/edit.tsx b/src/routes/(editor)/edit.tsx index 9df6c5f..8235219 100644 --- a/src/routes/(editor)/edit.tsx +++ b/src/routes/(editor)/edit.tsx @@ -242,7 +242,7 @@ const Editor: Component<{ root: FileSystemDirectoryHandle }> = (props) => { await filesContext.open(directory); }, { key: 'o', modifier: Modifier.Control }), close: createCommand('page.edit.command.close', async () => { - filesContext.remove('__root__'); + await filesContext.close(); }), closeTab: createCommand('page.edit.command.closeTab', async (id: string) => { filesContext.remove(id);