import { Badge, Button, Card, Group, Loader, Modal, Stack, Text, Tooltip, UnstyledButton, } from "@mantine/core"; import { randomId, useDisclosure } from "@mantine/hooks"; import { IconPencil, IconX } from "@tabler/icons-react"; import { useState } from "react"; import ListInput from "@/ui/input/list-input"; import { usePatchFlight } from "@/util/hooks"; export function LogItem({ label, content, }: { label: string; content: string | null; }) { if (content === null) content = ""; return ( {label} {content} ); } export function ListLogItem({ label, content, listColor = "", id = "", field = "", }: { label: string; content: string | string[] | null; listColor?: string; id?: string; field?: string; }) { if (content === null) content = []; if (content instanceof String) content = [content as string]; const [editValue, setEditValue] = useState(content as string[]); const [editOpened, { open: openEdit, close: closeEdit }] = useDisclosure(false); const updateValue = usePatchFlight(id, field, closeEdit); const editForm = ( ); return ( <> {editForm} {updateValue.isPending ? : null} {updateValue.isError ? ( {updateValue.error?.message} ) : null} {label} {(content as string[]).length > 0 ? ( {(content as string[]).map((item) => ( {item} ))} ) : ( )} ); }