diff --git a/src/client/components/ToolResultCard.js b/src/client/components/ToolResultCard.js new file mode 100644 index 00000000..8b63f325 --- /dev/null +++ b/src/client/components/ToolResultCard.js @@ -0,0 +1,108 @@ +import React, { useState } from "react" +import PropTypes from "prop-types" +import { IconCalendarEvent, IconUser, IconChevronDown, IconChevronUp, IconExternalLink } from "@tabler/icons-react" + +/** + * ToolResultCard Component - Displays a tool result (e.g., event details) in a styled card. + * + * @param {object} props - Component props. + * @param {string} props.title - Main title of the result (e.g., event name). + * @param {string} [props.subtitle] - Subtitle or secondary info (e.g., date/time). + * @param {object|array} [props.details] - Additional details (object or array of key-value pairs). + * @param {array} [props.attendees] - List of attendees (array of strings or objects). + * @param {string} [props.externalLink] - Optional external link for more info. + * @returns {React.ReactNode} + */ +const ToolResultCard = ({ title, subtitle, details, attendees, externalLink }) => { + const [expanded, setExpanded] = useState(false) + + const handleToggle = () => setExpanded((prev) => !prev) + + return ( +