Sort workspaces, envs, jars

This commit is contained in:
Gregory Schier
2025-01-02 08:33:04 -08:00
parent 5ebf7dc499
commit 0dd09062e3
3 changed files with 15 additions and 3 deletions

View File

@@ -3,6 +3,10 @@ import { atom, useAtomValue } from 'jotai';
export const cookieJarsAtom = atom<CookieJar[] | undefined>();
export const sortedCookieJars = atom((get) =>
get(cookieJarsAtom)?.sort((a, b) => a.name.localeCompare(b.name)),
);
export function useCookieJars() {
return useAtomValue(cookieJarsAtom);
return useAtomValue(sortedCookieJars);
}

View File

@@ -4,12 +4,16 @@ import { atom } from 'jotai/index';
export const environmentsAtom = atom<Environment[]>([]);
export const sortedEnvironmentsAtom = atom((get) =>
get(environmentsAtom).sort((a, b) => a.name.localeCompare(b.name)),
);
export const environmentsBreakdownAtom = atom<{
baseEnvironment: Environment | null;
allEnvironments: Environment[];
subEnvironments: Environment[];
}>((get) => {
const allEnvironments = get(environmentsAtom);
const allEnvironments = get(sortedEnvironmentsAtom);
const baseEnvironment = allEnvironments.find((e) => e.environmentId == null) ?? null;
const subEnvironments =
allEnvironments.filter((e) => e.environmentId === (baseEnvironment?.id ?? 'n/a')) ?? [];

View File

@@ -5,6 +5,10 @@ import { listWorkspaces } from '../lib/store';
const workspaces = await listWorkspaces();
export const workspacesAtom = atom<Workspace[]>(workspaces);
export const sortedWorkspacesAtom = atom((get) =>
get(workspacesAtom).sort((a, b) => a.name.localeCompare(b.name)),
);
export function useWorkspaces() {
return useAtomValue(workspacesAtom);
return useAtomValue(sortedWorkspacesAtom);
}