import * as Slider from "@radix-ui/react-slider"; import { theme } from "../../../tailwind.config"; import { Color } from "react-aria-components"; import { Input } from "components/Input"; import { Radio } from "components/Checkbox"; import { useEntity, useReplicache } from "src/replicache"; import { addImage } from "src/utils/addImage"; import { BlockImageSmall } from "components/Icons/BlockImageSmall"; import { CloseContrastSmall } from "components/Icons/CloseContrastSmall"; export const ImageSettings = (props: { entityID: string; card?: boolean; setValue: (c: Color) => void; }) => { let image = useEntity( props.entityID, props.card ? "theme/card-background-image" : "theme/background-image", ); let repeat = useEntity( props.entityID, props.card ? "theme/card-background-image-repeat" : "theme/background-image-repeat", ); let pageType = useEntity(props.entityID, "page/type")?.data.value; let { rep } = useReplicache(); return ( <>
); }; export const ImageInput = (props: { entityID: string; onChange?: () => void; card?: boolean; }) => { let pageType = useEntity(props.entityID, "page/type")?.data.value; let { rep } = useReplicache(); return ( { let file = e.currentTarget.files?.[0]; if (!file || !rep) return; await addImage(file, rep, { entityID: props.entityID, attribute: props.card ? "theme/card-background-image" : "theme/background-image", }); props.onChange?.(); if (pageType === "canvas") { rep && rep.mutate.assertFact({ entity: props.entityID, attribute: "canvas/background-pattern", data: { type: "canvas-pattern-union", value: "plain" }, }); } }} /> ); };