Add dashboard to build
This commit is contained in:
49
reminder-dashboard/src/components/Reminder/ImagePicker.tsx
Normal file
49
reminder-dashboard/src/components/Reminder/ImagePicker.tsx
Normal file
@ -0,0 +1,49 @@
|
||||
import { Modal } from "../Modal";
|
||||
import { useState } from "preact/hooks";
|
||||
|
||||
export const ImagePicker = ({ alt, url, setImage, ...props }) => {
|
||||
const [modalOpen, setModalOpen] = useState(false);
|
||||
|
||||
return (
|
||||
<>
|
||||
<a
|
||||
onClick={() => {
|
||||
setModalOpen(true);
|
||||
}}
|
||||
role={"button"}
|
||||
>
|
||||
<img {...props} src={url || "/static/img/bg.webp"} alt={alt}></img>
|
||||
</a>
|
||||
{modalOpen && (
|
||||
<ImagePickerModal
|
||||
setModalOpen={setModalOpen}
|
||||
setImage={setImage}
|
||||
></ImagePickerModal>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
const ImagePickerModal = ({ setModalOpen, setImage }) => {
|
||||
const [value, setValue] = useState("");
|
||||
|
||||
return (
|
||||
<Modal
|
||||
setModalOpen={setModalOpen}
|
||||
title={"Enter Image URL"}
|
||||
onSubmit={() => {
|
||||
setImage(value);
|
||||
}}
|
||||
onSubmitText={"Save"}
|
||||
>
|
||||
<input
|
||||
class="input"
|
||||
id="urlInput"
|
||||
placeholder="Image URL..."
|
||||
onInput={(ev) => {
|
||||
setValue(ev.currentTarget.value);
|
||||
}}
|
||||
></input>
|
||||
</Modal>
|
||||
);
|
||||
};
|
Reference in New Issue
Block a user