StorageResourceList() — supabase Function Reference
Architecture documentation for the StorageResourceList() function in SecondLevelNav.StoragePicker.tsx from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD 47fd6a9c_ce8d_aaeb_83e3_359aea4249e8["StorageResourceList()"] de43b3ff_cd13_7b2e_6e87_de198d52a2ae["useSearchQuery()"] 47fd6a9c_ce8d_aaeb_83e3_359aea4249e8 -->|calls| de43b3ff_cd13_7b2e_6e87_de198d52a2ae 6dfe4cd7_4ccc_5812_d492_75144bb6ff05["useInfiniteLoadingBuckets()"] 47fd6a9c_ce8d_aaeb_83e3_359aea4249e8 -->|calls| 6dfe4cd7_4ccc_5812_d492_75144bb6ff05 style 47fd6a9c_ce8d_aaeb_83e3_359aea4249e8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/studio/components/interfaces/ProjectAPIDocs/SecondLevelNav.StoragePicker.tsx lines 79–150
export const StorageResourceList = ({
projectRef,
selectedResource,
onSelect,
closePopover,
}: StorageResourceListProps) => {
const { rawQuery, query: searchQuery, setSearch } = useSearchQuery()
const { isFetching, hasNextPage, isFetchingNextPage, buckets, scrollContainerRef, sentinelRef } =
useInfiniteLoadingBuckets({
projectRef,
searchQuery,
rawQuery,
})
const handleSelect = (value: string) => {
onSelect(value)
closePopover()
}
const showEmptyState = !isFetching && buckets.length === 0
const emptyMessage =
rawQuery.length > 0 ? 'No buckets found for this search' : 'No buckets available'
return (
<Command_Shadcn_ shouldFilter={false}>
<CommandInput_Shadcn_
showResetIcon
value={rawQuery}
onValueChange={setSearch}
placeholder="Search buckets..."
handleReset={() => setSearch('')}
/>
<CommandList_Shadcn_>
<CommandEmpty_Shadcn_
hidden={!showEmptyState}
className="py-3 text-sm text-foreground-light"
>
{emptyMessage}
</CommandEmpty_Shadcn_>
<CommandGroup_Shadcn_>
{isFetching && buckets.length === 0 ? (
<div className="px-4 py-3 text-sm text-foreground-light">Loading buckets...</div>
) : (
<div ref={scrollContainerRef} className="max-h-72 min-h-[150px] overflow-y-auto">
{buckets.map((bucket) => {
const isActive = bucket.name === selectedResource
return (
<CommandItem_Shadcn_
key={bucket.id}
value={bucket.name}
className={cn(
'cursor-pointer px-4',
isActive ? 'text-foreground bg-selection' : 'text-foreground-light'
)}
onSelect={() => handleSelect(bucket.name)}
>
<p className="truncate">{bucket.name}</p>
</CommandItem_Shadcn_>
)
})}
{hasNextPage && <div ref={sentinelRef} className="h-2 w-full" />}
</div>
)}
</CommandGroup_Shadcn_>
{isFetchingNextPage && (
<div className="px-4 py-2 text-sm text-foreground-light">Loading more buckets...</div>
)}
</CommandList_Shadcn_>
</Command_Shadcn_>
)
}
Domain
Subdomains
Source
Frequently Asked Questions
What does StorageResourceList() do?
StorageResourceList() is a function in the supabase codebase.
What does StorageResourceList() call?
StorageResourceList() calls 2 function(s): useInfiniteLoadingBuckets, useSearchQuery.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free