import { PageProps } from '$fresh/server.ts'
import { Markdown } from ':components/Markdown.tsx'
import { db } from ':src/db/mod.ts'
import { fetchCarnet } from ':src/members/mod.ts'

export default async function Member(_: Request, { params }: PageProps) {
	const uuid = params.id as ReturnType<Crypto['randomUUID']>
	const user = await db.resource.user.get({ uuid }).catch(() => undefined)

	if (!user) {
		return <h3>Membre inconnu, peut être serez vous le prochain</h3>
	}

	const carnet = await fetchCarnet(user.login)

	return (
		<Markdown
			options={{
				baseUrl:
					`https://git.cohabit.fr/${user.login}/.carnet/raw/branch/main/index.md`,
				allowMath: true,
			}}
		>
			{carnet}
		</Markdown>
	)
}
