diff --git a/src/frontend/apps/drive/src/features/drivers/Driver.ts b/src/frontend/apps/drive/src/features/drivers/Driver.ts index 06d520406..e05c9e9ac 100644 --- a/src/frontend/apps/drive/src/features/drivers/Driver.ts +++ b/src/frontend/apps/drive/src/features/drivers/Driver.ts @@ -35,6 +35,7 @@ export type ItemFilters = { page?: number; page_size?: number; workspaces?: WorkspaceType; + is_creator_me?: boolean; }; export type PaginatedChildrenResult = { diff --git a/src/frontend/apps/drive/src/features/explorer/components/app-view/ExplorerFilters.scss b/src/frontend/apps/drive/src/features/explorer/components/app-view/ExplorerFilters.scss index 15afad63a..e1618478d 100644 --- a/src/frontend/apps/drive/src/features/explorer/components/app-view/ExplorerFilters.scss +++ b/src/frontend/apps/drive/src/features/explorer/components/app-view/ExplorerFilters.scss @@ -1,5 +1,11 @@ +.explorer__filters { + display: flex; + align-items: center; + gap: 0.75rem; +} + .explorer__filters__item { display: flex; align-items: center; gap: 0.5em; -} +} \ No newline at end of file diff --git a/src/frontend/apps/drive/src/features/explorer/components/app-view/ExplorerFilters.tsx b/src/frontend/apps/drive/src/features/explorer/components/app-view/ExplorerFilters.tsx index 100926df2..8fd5c6bd2 100644 --- a/src/frontend/apps/drive/src/features/explorer/components/app-view/ExplorerFilters.tsx +++ b/src/frontend/apps/drive/src/features/explorer/components/app-view/ExplorerFilters.tsx @@ -13,6 +13,8 @@ import { ItemIcon } from "../icons/ItemIcon"; import { getItemTitle } from "../../utils/utils"; const ALL = "all"; +const CREATED_BY_ME = "true"; +const CREATED_BY_OTHERS = "false"; export const handleFilterChange = ( filters: ItemFilters = {}, @@ -48,12 +50,34 @@ export const ExplorerFilters = () => { onFiltersChange?.(handleFilterChange(filters, name, value)); }; + const onCreatedByChange = (value: Key | null) => { + if (value === ALL) { + const newFilters = { ...filters }; + delete newFilters.is_creator_me; + onFiltersChange?.(newFilters); + } else if (value === CREATED_BY_ME) { + onFiltersChange?.({ ...filters, is_creator_me: true }); + } else if (value === CREATED_BY_OTHERS) { + onFiltersChange?.({ ...filters, is_creator_me: false }); + } + }; + return (