Paginate scenarios

Show 10 scenarios at a time and let the user paginate through them to keep the interface responsive with potentially 1000s of scenarios.
This commit is contained in:
Kyle Corbitt
2023-07-22 15:51:52 -07:00
parent 4b06d05908
commit 2e395e4d39
14 changed files with 233 additions and 59 deletions

View File

@@ -1,17 +1,14 @@
import { useEffect } from "react";
import { api } from "~/utils/api";
import { useExperiment } from "~/utils/hooks";
import { useScenarios } from "~/utils/hooks";
import { useAppStore } from "./store";
export function useSyncVariantEditor() {
const experiment = useExperiment();
const scenarios = api.scenarios.list.useQuery(
{ experimentId: experiment.data?.id ?? "" },
{ enabled: !!experiment.data?.id },
);
const scenarios = useScenarios();
useEffect(() => {
if (scenarios.data) {
useAppStore.getState().sharedVariantEditor.setScenarios(scenarios.data);
useAppStore.getState().sharedVariantEditor.setScenarios(scenarios.data.scenarios);
}
}, [scenarios.data]);
}