import { t } from '@lingui/macro'; import { getAllSubjects } from '@services/graphql/queries'; import Link from 'next/link'; import { useRouter } from 'next/router'; import useSWR from 'swr'; import styles from '../Widget.module.scss'; const TopicsList = ({ title }: { title: string }) => { const router = useRouter(); const isTopic = () => router.asPath.includes('/sujet/'); const currentTopicSlug = isTopic() ? router.asPath.replace('/sujet/', '') : ''; const { data, error } = useSWR('/api/subjects', getAllSubjects); if (error) return
{t`Failed to load.`}
; if (!data) return
{t`Loading...`}
; const sortedSubjects = [...data].sort((a, b) => a.title.localeCompare(b.title) ); const subjects = sortedSubjects.map((subject) => { return currentTopicSlug !== subject.slug ? (
  • {subject.title}
  • ) : ( '' ); }); return (

    {title}

    ); }; export default TopicsList;