MCPcopy Index your code
hub / github.com/coder/coder / TasksSidebarGroup

Function TasksSidebarGroup

site/src/modules/tasks/TasksSidebar/TasksSidebar.tsx:137–175  ·  view source on GitHub ↗
({ owner })

Source from the content-addressed store, hash-verified

135};
136
137const TasksSidebarGroup: FC<TasksSidebarGroupProps> = ({ owner }) => {
138 const filter: TasksFilter = { owner };
139 const tasksQuery = useQuery({
140 queryKey: ["tasks", filter],
141 queryFn: () => API.getTasks(filter),
142 refetchInterval: 10_000,
143 });
144
145 return (
146 <ScrollArea className="flex-1">
147 <div className="flex flex-col gap-2 p-3">
148 <div className="text-content-secondary text-xs">Tasks</div>
149 <div className="flex flex-col flex-1 gap-1">
150 {tasksQuery.data ? (
151 tasksQuery.data.length > 0 ? (
152 tasksQuery.data.map((task) => (
153 <TaskSidebarMenuItem key={task.id} task={task} />
154 ))
155 ) : (
156 <div className="text-content-secondary text-xs p-4 border-border border-solid rounded text-center">
157 No tasks found
158 </div>
159 )
160 ) : tasksQuery.error ? (
161 <div className="text-content-secondary text-xs p-4 border-border border-solid rounded text-center">
162 {getErrorMessage(tasksQuery.error, "Failed to load tasks")}
163 </div>
164 ) : (
165 <div className="flex flex-col gap-1">
166 {Array.from({ length: 5 }).map((_, index) => (
167 <Skeleton className="h-8 w-full" key={index} />
168 ))}
169 </div>
170 )}
171 </div>
172 </div>
173 </ScrollArea>
174 );
175};
176
177type TaskSidebarMenuItemProps = {
178 task: Task;

Callers

nothing calls this directly

Calls 1

getErrorMessageFunction · 0.90

Tested by

no test coverage detected