import CloudUploadIcon from "@mui/icons-material/CloudUpload"; import { Button, FormLabel, TextareaAutosize, TextField, Typography, } from "@mui/material"; import { Box, styled } from "@mui/system"; import { DatePicker } from "@mui/x-date-pickers"; import { type ChangeEvent, useState } from "react"; import type { Announcement } from "../services"; const VisuallyHiddenInput = styled("input")({ clip: "rect(0 0 0 0)", clipPath: "inset(50%)", height: 1, overflow: "hidden", position: "absolute", bottom: 0, left: 0, whiteSpace: "nowrap", width: 1, }); export interface AddOrEditAnnouncementProps { announcement?: Announcement; } function blobToDataURL(blob: Blob): Promise { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = (_e) => resolve(reader.result as string); reader.onerror = (_e) => reject(reader.error); reader.onabort = (_e) => reject(new Error("Read aborted")); reader.readAsDataURL(blob); }); } export function AddOrEditAnnouncement({ announcement, }: AddOrEditAnnouncementProps) { const [currentImageUrl, setCurrentImageUrl] = useState( undefined, ); return ( :not(style)": { m: 1, width: "25ch" }, }} noValidate autoComplete="off" > Text: Publication Date: Current image: {currentImageUrl ? ( Current ) : ( None )} ); }