import type { FeedbackMetadata } from "convex-feedback"; import { Modal, Pressable, ScrollView, Text, View } from "react-native"; import { useFeedbackUi } from "../../../shared/context/FeedbackProvider"; import { formatMetadataKey } from "../../../shared/metadata"; import { Button } from "./Button"; export function MetadataModal({ metadata, onRequestClose, }: { metadata: FeedbackMetadata; onRequestClose: () => void; }) { const { messages, theme } = useFeedbackUi(); const sections = [ [messages.metadata.standard, metadata.standard], [messages.metadata.additional, metadata.additional], ] as const; const hasValues = sections.some( ([, values]) => values !== undefined && Object.keys(values).length > 0, ); return ( event.stopPropagation()} style={{ maxHeight: "80%", gap: 14, padding: 18, borderRadius: theme.radius, backgroundColor: theme.colors.surface, }} > {messages.metadata.title} {hasValues ? ( sections.map(([label, values]) => values === undefined || Object.keys(values).length === 0 ? null : ( {label} {Object.entries(values).map(([key, value]) => ( {formatMetadataKey(key)} {String(value)} ))} ), ) ) : ( {messages.metadata.empty} )}