MCPcopy Create free account
hub / github.com/OpenPipe/OpenPipe / NewDatasetButton

Function NewDatasetButton

app/src/components/datasets/NewDatasetButton.tsx:8–39  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6import { useHandledAsyncCallback, useSelectedProject } from "~/utils/hooks";
7
8const NewDatasetButton = () => {
9 const router = useRouter();
10 const createDatasetMutation = api.datasets.create.useMutation();
11 const selectedProject = useSelectedProject().data;
12 const utils = api.useContext();
13
14 const [createDataset, creationInProgress] = useHandledAsyncCallback(async () => {
15 if (!selectedProject) return;
16
17 const response = await createDatasetMutation.mutateAsync({
18 projectId: selectedProject.id,
19 name: "New Dataset",
20 });
21
22 const datasetId = response.payload;
23
24 await router.push({
25 pathname: "/p/[projectSlug]/datasets/[id]",
26 query: { projectSlug: selectedProject.slug, id: datasetId },
27 });
28 await utils.datasets.list.invalidate();
29 }, [selectedProject, utils]);
30
31 return (
32 <Button colorScheme="blue" isLoading={creationInProgress} onClick={createDataset}>
33 <HStack spacing={0}>
34 <Icon as={BsPlus} boxSize={6} strokeWidth={0.8} />
35 <Text>New Dataset</Text>
36 </HStack>
37 </Button>
38 );
39};
40
41export default NewDatasetButton;

Callers

nothing calls this directly

Calls 2

useSelectedProjectFunction · 0.90
useHandledAsyncCallbackFunction · 0.90

Tested by

no test coverage detected