({
selectedProjects,
onValueChange,
variant = "default",
triggerClassName,
showNewSpace = true,
enableDelete = false,
compact = false,
includeAuto = false,
hideCount = false,
enableEdit = false,
}: SpaceSelectorProps)
| 107 | } |
| 108 | |
| 109 | export function SpaceSelector({ |
| 110 | selectedProjects, |
| 111 | onValueChange, |
| 112 | variant = "default", |
| 113 | triggerClassName, |
| 114 | showNewSpace = true, |
| 115 | enableDelete = false, |
| 116 | compact = false, |
| 117 | includeAuto = false, |
| 118 | hideCount = false, |
| 119 | enableEdit = false, |
| 120 | }: SpaceSelectorProps) { |
| 121 | const [showCreateDialog, setShowCreateDialog] = useState(false) |
| 122 | const [showSelectSpacesModal, setShowSelectSpacesModal] = useState(false) |
| 123 | const [showEditDialog, setShowEditDialog] = useState(false) |
| 124 | const [recents, setRecents] = useState<string[]>([]) |
| 125 | const [deleteDialog, setDeleteDialog] = useState<{ |
| 126 | open: boolean |
| 127 | project: DeleteProjectTarget | null |
| 128 | action: "move" | "delete" |
| 129 | targetProjectId: string |
| 130 | }>({ |
| 131 | open: false, |
| 132 | project: null, |
| 133 | action: "move", |
| 134 | targetProjectId: "", |
| 135 | }) |
| 136 | const [bulkDeleteDialog, setBulkDeleteDialog] = useState<{ |
| 137 | open: boolean |
| 138 | projects: DeleteProjectTarget[] |
| 139 | confirmation: string |
| 140 | }>({ |
| 141 | open: false, |
| 142 | projects: [], |
| 143 | confirmation: "", |
| 144 | }) |
| 145 | |
| 146 | const { deleteProjectMutation, deleteProjectsMutation } = |
| 147 | useProjectMutations() |
| 148 | const { allProjects, isLoading } = useContainerTags() |
| 149 | const { user } = useAuth() |
| 150 | |
| 151 | useEffect(() => { |
| 152 | setRecents(readRecents()) |
| 153 | }, []) |
| 154 | |
| 155 | const activeTag = selectedProjects[0] ?? DEFAULT_PROJECT_ID |
| 156 | const { data: spaceCountData } = useQuery({ |
| 157 | queryKey: ["space-selector-count", activeTag], |
| 158 | queryFn: async (): Promise<number> => { |
| 159 | const response = await $fetch("@post/documents/documents", { |
| 160 | body: { |
| 161 | page: 1, |
| 162 | limit: 1, |
| 163 | sort: "createdAt", |
| 164 | order: "desc", |
| 165 | containerTags: [activeTag], |
| 166 | }, |
nothing calls this directly
no test coverage detected
searching dependent graphs…