import Button from "components/Inputs/Button"; import Chip from "components/Chip"; import { GetLibraryItemQuery } from "graphql/generated"; import { AppStaticProps } from "queries/getAppStaticProps"; import { prettyinlineTitle, prettySlug } from "queries/helpers"; import { useState } from "react"; interface Props { content: Exclude< Exclude< Exclude< GetLibraryItemQuery["libraryItems"], null | undefined >["data"][number]["attributes"], null | undefined >["contents"], null | undefined >["data"][number]; parentSlug: string; langui: AppStaticProps["langui"]; } export default function ContentLine(props: Props): JSX.Element { const { content, langui, parentSlug } = props; const [opened, setOpened] = useState(false); if (content.attributes) { return (

setOpened(!opened)}> {content.attributes.content?.data?.attributes?.titles?.[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?.attributes?.type?.data ?.attributes && ( {content.attributes.content.data.attributes.type.data.attributes .titles && 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 && content.attributes.scan_set.length > 0 && ( )} {content.attributes.content?.data && ( )} {content.attributes.scan_set && content.attributes.scan_set.length === 0 && !content.attributes.content?.data ? "The content is not available" : ""}
); } return <>; }