import { AppLayout } from "components/AppLayout"; import { Chip } from "components/Chip"; import { Select } from "components/Inputs/Select"; import { Switch } from "components/Inputs/Switch"; import { PanelHeader } from "components/PanelComponents/PanelHeader"; import { ContentPanel, ContentPanelWidthSizes, } from "components/Panels/ContentPanel"; import { SubPanel } from "components/Panels/SubPanel"; import { PreviewCard } from "components/PreviewCard"; import { GetContentsQuery } from "graphql/generated"; import { AppStaticProps, getAppStaticProps } from "graphql/getAppStaticProps"; import { getReadySdk } from "graphql/sdk"; import { prettyinlineTitle, prettySlug } from "helpers/formatters"; import { Immutable } from "helpers/types"; import { GetStaticPropsContext } from "next"; import { useEffect, useState } from "react"; interface Props extends AppStaticProps { contents: Exclude["data"]; } type GroupContentItems = Map>; export default function Contents(props: Immutable): JSX.Element { const { langui, contents } = props; const [groupingMethod, setGroupingMethod] = useState(-1); const [keepInfoVisible, setKeepInfoVisible] = useState(false); const [combineRelatedContent, setCombineRelatedContent] = useState(true); const [filteredItems, setFilteredItems] = useState( filterContents(combineRelatedContent, contents) ); const [groups, setGroups] = useState( getGroups(langui, groupingMethod, filteredItems) ); useEffect(() => { setFilteredItems(filterContents(combineRelatedContent, contents)); }, [combineRelatedContent, contents]); useEffect(() => { setGroups(getGroups(langui, groupingMethod, filteredItems)); }, [langui, groupingMethod, filteredItems]); const subPanel = (

{langui.group_by}: