import Button from "components/Button"; import Chip from "components/Chip"; import { GetLibraryItemQuery, GetWebsiteInterfaceQuery, } from "graphql/operations-types"; import { prettyinlineTitle, prettySlug } from "queries/helpers"; import { useState } from "react"; type ContentTOCLineProps = { content: GetLibraryItemQuery["libraryItems"]["data"][number]["attributes"]["contents"]["data"][number]; parentSlug: string; langui: GetWebsiteInterfaceQuery["websiteInterfaces"]["data"][number]["attributes"]; }; export default function ContentTOCLine( props: ContentTOCLineProps ): JSX.Element { const { content, langui, parentSlug } = props; const [opened, setOpened] = useState(false); return (

setOpened(!opened)}> {content.attributes.content.data && content.attributes.content.data.attributes.titles.length > 0 ? prettyinlineTitle( content.attributes.content.data.attributes.titles[0] .pre_title, content.attributes.content.data.attributes.titles[0].title, content.attributes.content.data.attributes.titles[0].subtitle ) : prettySlug(content.attributes.slug, props.parentSlug)}

{content.attributes.content.data?.attributes.categories.data.map( (category) => ( {category.attributes.short} ) )}

{content.attributes.range[0].__typename === "ComponentRangePageRange" ? content.attributes.range[0].starting_page : ""}

{content.attributes.content.data && ( {content.attributes.content.data.attributes.type.data.attributes .titles.length > 0 ? content.attributes.content.data.attributes.type.data.attributes .titles[0].title : prettySlug( content.attributes.content.data.attributes.type.data .attributes.slug )} )}
subdirectory_arrow_right {content.attributes.scan_set.length > 0 && ( )} {content.attributes.content.data && ( )} {content.attributes.scan_set.length === 0 && !content.attributes.content.data ? "The content is not available" : ""}
); }