import type { FC } from 'react' import { useEffect, useState } from 'react' import { useLocation, useParams } from 'react-router-dom' import { useLocale } from '@/lib/useLocale' import { useUITranslation } from '@/lib/useUITranslation' import PageTitle from '@/components/common/PageTitle' import MainArea from '@/components/layout/MainArea' import PageHead from '@/components/common/PageHead' import { apiGet } from '@/lib/api' import { cn } from '@/lib/utils' import type { WikiPageDiff } from '@/types' const WikiDiffPage: FC = () => { const { message, label } = useUITranslation ('wiki') const locale = useLocale () const { id } = useParams () const location = useLocation () const [diff, setDiff] = useState (null) const query = new URLSearchParams (location.search) const from = query.get ('from') const to = query.get ('to') const displayTitle = diff ? `${ diff.title }${ diff.deprecatedAt != null ? message ('shared:labels.deprecatedSuffix').text : '' }` : '' useEffect (() => { void (async () => { setDiff (await apiGet (`/wiki/${ id }/diff`, { locale, params: { from, to } })) }) () }, [from, id, to, locale]) return ( {displayTitle}
{diff ? ( diff.diff.map (d => (

{d.content}

))) : label ('common:loading')}
) } export default WikiDiffPage