xinnni's picture
Upload 146 files
f909d7c verified
raw
history blame
No virus
1.28 kB
import React from "react";
import {
Stack,
Modal,
Button,
ModalProps,
Text,
Anchor,
Group,
TextInput,
Divider,
} from "@mantine/core";
import { VscLinkExternal } from "react-icons/vsc";
import useJsonQuery from "src/hooks/useJsonQuery";
export const JQModal: React.FC<ModalProps> = ({ opened, onClose }) => {
const { updateJson } = useJsonQuery();
const [query, setQuery] = React.useState("");
return (
<Modal title="JSON Query" size="lg" opened={opened} onClose={onClose} centered>
<Stack py="sm">
<Text fz="sm">
jq is a lightweight and flexible command-line JSON processor. JSON Crack uses simplified
version of jq, not all features are supported.
<br />
<Anchor fz="sm" target="_blank" href="https://jqlang.github.io/jq/manual/">
Read documentation. <VscLinkExternal />
</Anchor>
</Text>
<TextInput
leftSection="jq"
placeholder="Enter jq query"
value={query}
onChange={e => setQuery(e.currentTarget.value)}
/>
<Divider my="xs" />
<Group justify="right">
<Button onClick={() => updateJson(query, onClose)}>Display on Graph</Button>
</Group>
</Stack>
</Modal>
);
};