daedalOS/components/system/Window/useNextFocusable.ts
2025-02-09 14:04:58 -08:00

20 lines
521 B
TypeScript

import { useMemo } from "react";
import { useProcesses } from "contexts/process";
import { useSession } from "contexts/session";
const useNextFocusable = (id: string): string => {
const { stackOrder = [] } = useSession();
const { processes } = useProcesses();
const nextFocusableId = useMemo(
() =>
stackOrder.find(
(stackId) => stackId !== id && !processes?.[stackId]?.minimized
),
[id, processes, stackOrder]
);
return nextFocusableId || "";
};
export default useNextFocusable;