mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-21 00:49:17 +01:00
Performance sweep (#147)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { useSearch } from '@tanstack/react-router';
|
||||
import { useCallback, useMemo } from 'react';
|
||||
import { useSearchParams } from 'react-router-dom';
|
||||
import { Route } from '../routes/workspaces/$workspaceId';
|
||||
import { useEnvironments } from './useEnvironments';
|
||||
|
||||
export function useActiveEnvironment() {
|
||||
@@ -16,22 +17,13 @@ export const QUERY_ENVIRONMENT_ID = 'environment_id';
|
||||
|
||||
function useActiveEnvironmentId() {
|
||||
// NOTE: This query param is accessed from Rust side, so do not change
|
||||
const [params, setParams] = useSearchParams();
|
||||
const id = params.get(QUERY_ENVIRONMENT_ID);
|
||||
const navigate = Route.useNavigate();
|
||||
const { environmentId: id } = useSearch({ strict: false });
|
||||
|
||||
const setId = useCallback(
|
||||
(id: string | null) => {
|
||||
setParams((p) => {
|
||||
const existing = Object.fromEntries(p);
|
||||
if (id == null) {
|
||||
delete existing[QUERY_ENVIRONMENT_ID];
|
||||
} else {
|
||||
existing[QUERY_ENVIRONMENT_ID] = id;
|
||||
}
|
||||
return existing;
|
||||
});
|
||||
},
|
||||
[setParams],
|
||||
(environment_id: string | null) =>
|
||||
navigate({ search: (prev) => ({ ...prev, environment_id: environment_id ?? undefined }) }),
|
||||
[navigate],
|
||||
);
|
||||
|
||||
return [id, setId] as const;
|
||||
|
||||
Reference in New Issue
Block a user