mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-02-23 11:05:01 +01:00
20 lines
669 B
TypeScript
20 lines
669 B
TypeScript
import { useCallback, useMemo } from 'react';
|
|
import type { Environment } from '../lib/models';
|
|
import { useActiveEnvironmentId } from './useActiveEnvironmentId';
|
|
import { useEnvironments } from './useEnvironments';
|
|
|
|
export function useActiveEnvironment(): [Environment | null, (environment: Environment) => void] {
|
|
const [id, setId] = useActiveEnvironmentId();
|
|
const environments = useEnvironments();
|
|
const environment = useMemo(
|
|
() => environments.find((w) => w.id === id) ?? null,
|
|
[environments, id],
|
|
);
|
|
|
|
const setActiveEnvironment = useCallback((e: Environment) => {
|
|
setId(e.id)
|
|
}, [setId]);
|
|
|
|
return [environment, setActiveEnvironment];
|
|
}
|