MCPcopy Index your code
hub / github.com/simstudioai/sim / Files

Function Files

apps/sim/app/workspace/[workspaceId]/files/files.tsx:171–2040  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

169}
170
171export function Files() {
172 const fileInputRef = useRef<HTMLInputElement>(null)
173 const saveRef = useRef<(() => Promise<void>) | null>(null)
174
175 const params = useParams()
176 const router = useRouter()
177 const [{ folderId: currentFolderId, new: isNewFile, shareFileId }, setFilesParams] =
178 useQueryStates(filesParsers, filesUrlKeys)
179 const workspaceId = params?.workspaceId as string
180
181 const posthog = usePostHog()
182 const posthogRef = useRef(posthog)
183 posthogRef.current = posthog
184
185 const fileIdFromRoute =
186 typeof params?.fileId === 'string' && params.fileId.length > 0 ? params.fileId : null
187 const userPermissions = useUserPermissionsContext()
188 const canEdit = userPermissions.canEdit === true
189 const { config: permissionConfig } = usePermissionConfig()
190
191 useEffect(() => {
192 if (permissionConfig.hideFilesTab) {
193 router.replace(`/workspace/${workspaceId}`)
194 }
195 }, [permissionConfig.hideFilesTab, router, workspaceId])
196
197 const { data: files = EMPTY_WORKSPACE_FILES, isLoading, error } = useWorkspaceFiles(workspaceId)
198 const { data: folders = EMPTY_WORKSPACE_FILE_FOLDERS } = useWorkspaceFileFolders(workspaceId)
199 const { data: members } = useWorkspaceMembersQuery(workspaceId)
200 const membersById = useMemo(() => {
201 const map = new Map<string, WorkspaceMember>()
202 for (const member of members ?? []) map.set(member.userId, member)
203 return map
204 }, [members])
205 const uploadFile = useUploadWorkspaceFile()
206 const notifyLimit = useLimitUpgradeToast()
207 const deleteFile = useDeleteWorkspaceFile()
208 const renameFile = useRenameWorkspaceFile()
209 const createFolder = useCreateWorkspaceFileFolder()
210 const updateFolder = useUpdateWorkspaceFileFolder()
211 const moveItems = useMoveWorkspaceFileItems()
212 const bulkArchiveItems = useBulkArchiveWorkspaceFileItems()
213
214 const {
215 isOpen: isContextMenuOpen,
216 position: contextMenuPosition,
217 handleContextMenu: openContextMenu,
218 closeMenu: closeContextMenu,
219 } = useContextMenu()
220
221 const {
222 isOpen: isListContextMenuOpen,
223 position: listContextMenuPosition,
224 handleContextMenu: handleListContextMenu,
225 closeMenu: closeListContextMenu,
226 } = useContextMenu()
227
228 if (error) {

Callers

nothing calls this directly

Calls 15

usePermissionConfigFunction · 0.90
useWorkspaceFilesFunction · 0.90
useWorkspaceFileFoldersFunction · 0.90
useWorkspaceMembersQueryFunction · 0.90
useUploadWorkspaceFileFunction · 0.90
useLimitUpgradeToastFunction · 0.90
useDeleteWorkspaceFileFunction · 0.90
useRenameWorkspaceFileFunction · 0.90

Tested by

no test coverage detected