Skip to content

Commit cef7c70

Browse files
authored
Reduce unnecessary boilerplate for dialogs (#200)
1 parent d8200d3 commit cef7c70

53 files changed

Lines changed: 631 additions & 890 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/apps/files/components/dialogs/copy-link/context.tsx

Lines changed: 0 additions & 54 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { useCallback, useMemo } from 'react';
2+
3+
import type { IFile } from '@/types/files';
4+
5+
import { useFilesDialogsRegistry } from '../registry';
6+
7+
export function useCopyLinkDialog() {
8+
const { dispatch } = useFilesDialogsRegistry();
9+
const openDialog = useCallback(
10+
(file: IFile) => dispatch({ type: 'open-copy-link', file }),
11+
[dispatch],
12+
);
13+
const closeDialog = useCallback(() => dispatch({ type: 'close', key: 'copyLink' }), [dispatch]);
14+
return useMemo(() => ({ openDialog, closeDialog }), [closeDialog, openDialog]);
15+
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
export { CopyLinkDialogProvider, useCopyLinkDialog } from './context';
1+
export { CopyLinkDialog } from './dialog';
2+
export { useCopyLinkDialog } from './hooks';

src/apps/files/components/dialogs/create-folder/context.tsx

Lines changed: 0 additions & 52 deletions
This file was deleted.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { useCallback, useMemo } from 'react';
2+
3+
import { useFilesDialogsRegistry } from '../registry';
4+
5+
export function useCreateFolderDialog() {
6+
const { dispatch } = useFilesDialogsRegistry();
7+
const openDialog = useCallback(
8+
(path: string) => dispatch({ type: 'open-create-folder', path }),
9+
[dispatch],
10+
);
11+
const closeDialog = useCallback(
12+
() => dispatch({ type: 'close', key: 'createFolder' }),
13+
[dispatch],
14+
);
15+
return useMemo(() => ({ openDialog, closeDialog }), [closeDialog, openDialog]);
16+
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
export { CreateFolderDialogProvider, useCreateFolderDialog } from './context';
1+
export { CreateFolderDialog } from './dialog';
2+
export { useCreateFolderDialog } from './hooks';

src/apps/files/components/dialogs/delete-immediately/context.tsx

Lines changed: 0 additions & 56 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { useCallback, useMemo } from 'react';
2+
3+
import type { IFile } from '@/types/files';
4+
5+
import { useFilesDialogsRegistry } from '../registry';
6+
7+
export function useDeleteImmediatelyDialog() {
8+
const { dispatch } = useFilesDialogsRegistry();
9+
const openDialog = useCallback(
10+
(files: IFile[]) => dispatch({ type: 'open-delete-immediately', files }),
11+
[dispatch],
12+
);
13+
const closeDialog = useCallback(
14+
() => dispatch({ type: 'close', key: 'deleteImmediately' }),
15+
[dispatch],
16+
);
17+
return useMemo(() => ({ openDialog, closeDialog }), [closeDialog, openDialog]);
18+
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
export { DeleteImmediatelyDialogProvider, useDeleteImmediatelyDialog } from './context';
1+
export { DeleteImmediatelyDialogContainer } from './dialog';
2+
export { useDeleteImmediatelyDialog } from './hooks';

src/apps/files/components/dialogs/delete/context.tsx

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)