"use client"; import { ColorPicker as SpectrumColorPicker, parseColor, Color, ColorArea, ColorThumb, ColorSlider, Input, ColorField, SliderTrack, ColorSwatch, } from "react-aria-components"; import { pickers, setColorAttribute } from "../ThemeSetter"; import { thumbStyle } from "./ColorPicker"; import { ImageInput, ImageSettings } from "./ImagePicker"; import { useEntity, useReplicache } from "src/replicache"; import { useColorAttribute } from "components/ThemeManager/useColorAttribute"; import { Separator } from "components/Layout"; import { onMouseDown } from "src/utils/iosInputMouseDown"; import { BlockImageSmall } from "components/Icons/BlockImageSmall"; import { DeleteSmall } from "components/Icons/DeleteSmall"; export const LeafletBGPicker = (props: { entityID: string; openPicker: pickers; thisPicker: pickers; setOpenPicker: (thisPicker: pickers) => void; closePicker: () => void; setValue: (c: Color) => void; }) => { let bgImage = useEntity(props.entityID, "theme/background-image"); let bgRepeat = useEntity(props.entityID, "theme/background-image-repeat"); let bgColor = useColorAttribute(props.entityID, "theme/page-background"); let open = props.openPicker == props.thisPicker; let { rep } = useReplicache(); return ( <>
{bgImage ? (
Image
) : ( <> { e.currentTarget.setSelectionRange( 1, e.currentTarget.value.length, ); }} onPaste={(e) => { console.log(e); }} onKeyDown={(e) => { if (e.key === "Enter") { e.currentTarget.blur(); } else return; }} onBlur={(e) => { props.setValue(parseColor(e.currentTarget.value)); }} className={`w-[72px] bg-transparent outline-nonetext-[#595959]`} /> )}
{bgImage && ( )}
{open && (
{bgImage ? ( ) : ( <> )}
)} ); };