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

Function useStatusFilterMenu

site/src/pages/WorkspacesPage/filter/menus.tsx:100–128  ·  view source on GitHub ↗
({
	value,
	onChange,
}: Pick<UseFilterMenuOptions, "value" | "onChange">)

Source from the content-addressed store, hash-verified

98/** Status Filter Menu */
99
100export const useStatusFilterMenu = ({
101 value,
102 onChange,
103}: Pick<UseFilterMenuOptions, "value" | "onChange">) => {
104 const statusesToFilter: WorkspaceStatus[] = [
105 "running",
106 "stopped",
107 "failed",
108 "pending",
109 ];
110 const statusOptions = statusesToFilter.map((status) => {
111 const display = getDisplayWorkspaceStatus(status);
112 return {
113 label: display.text,
114 value: status,
115 startIcon: (
116 <StatusIndicatorDot variant={getStatusIndicatorVariant(status)} />
117 ),
118 };
119 });
120 return useFilterMenu({
121 onChange,
122 value,
123 id: "status",
124 getSelectedOption: async () =>
125 statusOptions.find((option) => option.value === value) ?? null,
126 getOptions: async () => statusOptions,
127 });
128};
129
130export type StatusFilterMenu = ReturnType<typeof useStatusFilterMenu>;
131

Callers 1

useWorkspacesFilterFunction · 0.90

Calls 4

useFilterMenuFunction · 0.90
findMethod · 0.80

Tested by

no test coverage detected