diff --git a/src/components/core/Hint.tsx b/src/components/core/Hint.tsx index 879182e..845eff6 100644 --- a/src/components/core/Hint.tsx +++ b/src/components/core/Hint.tsx @@ -2,24 +2,49 @@ import { Tooltip } from "flowbite-react"; import { ReactElement, ReactNode } from "react"; import { MdHelpOutline } from "react-icons/md"; +export type HintPosition = "top" | "left" | "right" | "bottom"; + interface HintProps { - children: ReactElement; + children?: ReactElement; hintContent: ReactNode; + position?: HintPosition; className?: string; + trigger?: "icon" | "child"; } +const tooltipClassName = "bg-gray-600 z-10 border-1 max-w-xl"; +const tooltipTheme = { hidden: "invisible opacity-0 pointer-events-none" }; + export function Hint(props: HintProps): ReactElement { + const placement = props.position ?? "top"; + const trigger = props.trigger ?? "icon"; + + if (trigger === "child") { + return ( + + {props.children} + + ); + } + return (
{props.children}
diff --git a/src/pages/ObjectDetails.tsx b/src/pages/ObjectDetails.tsx index 59bcf33..0ca1e8c 100644 --- a/src/pages/ObjectDetails.tsx +++ b/src/pages/ObjectDetails.tsx @@ -4,6 +4,7 @@ import { AladinViewer } from "../components/core/Aladin"; import { Loading } from "../components/core/Loading"; import { ErrorPage } from "../components/ui/ErrorPage"; import { CatalogData } from "../components/ui/CatalogData"; +import { Hint } from "../components/core/Hint"; import { Link } from "../components/core/Link"; import { querySimple } from "../clients/backend/sdk.gen"; import { PgcObject, Schema } from "../clients/backend/types.gen"; @@ -40,6 +41,29 @@ function ObjectDetails({ object, schema }: ObjectDetailsProps): ReactElement { > OHP Mirror + {object.catalogs?.additional_designations && + object.catalogs.additional_designations.length > 0 && ( +
+

Also known as:

+
    + {object.catalogs.additional_designations.map((d, i) => ( +
  • + {d.name} + + {d.source.title} + {d.source.authors.length > 0 && + ` — ${d.source.authors.join(", ")} (${d.source.year})`} + + } + className="gap-1" + /> +
  • + ))} +
+
+ )}