// Archives numérisées : les numéros du journal « Gong-Information » (sources primaires
// récupérées depuis l'ancien back-office Strapi). Transcriptions HTML first-party + PDF + couverture.
// $lib/server → chargé au build ; pages 100 % prérendues.

const contenus = import.meta.glob('/content/archives/*.html', {
	query: '?raw',
	import: 'default',
	eager: true
}) as Record<string, string>;

export interface Archive {
	slug: string;
	numero: string;
	titre: string;
	date: string; // libellé d'époque (ex. « Mai-Juin 1966 »)
	iso: string; // pour tri et lastmod
	chapeau: string;
	couverture: string; // webp
	pdf: string;
	html: string; // transcription first-party
}

const META: Omit<Archive, 'html'>[] = [
	{
		slug: 'gong-information-16',
		numero: 'N° 16',
		titre: 'Gong-Information n° 16',
		date: 'Mai-Juin 1966',
		iso: '1966-05-01',
		chapeau:
			"En Guadeloupe, les connaissances intellectuelles jouissent d'une grande faveur. Par extension les masses laborieuses attribuent un grand prestige aux intellectuels.",
		couverture: '/images/archives/gong-info-16.webp',
		pdf: '/archives/gong-information-16.pdf'
	},
	{
		slug: 'gong-information-special',
		numero: 'N° spécial',
		titre: 'Gong-Information n° spécial',
		date: 'Janvier-Février 1967',
		iso: '1967-01-01',
		chapeau: "Un peuple qui décide de se gouverner est un peuple qui entreprend de se critiquer et de s'organiser.",
		couverture: '/images/archives/gong-info-special.webp',
		pdf: '/archives/gong-information-special.pdf'
	},
	{
		slug: 'gong-information-19',
		numero: 'N° 19',
		titre: 'Gong-Information n° 19',
		date: 'Mars-Avril-Mai 1967',
		iso: '1967-03-01',
		chapeau:
			"À l'intimidation constituée par l'envoi des « troupes d'intervention » colonialistes françaises, au chantage exercé par les services de la préfecture, à la corruption…",
		couverture: '/images/archives/gong-info-19.webp',
		pdf: '/archives/gong-information-19.pdf'
	}
];

function html(slug: string): string {
	return (contenus[`/content/archives/${slug}.html`] ?? '').trim();
}

export function getArchives(): Archive[] {
	return META.map((m) => ({ ...m, html: html(m.slug) })).sort((a, b) => (a.iso < b.iso ? -1 : 1));
}

export function getArchive(slug: string): Archive | undefined {
	return getArchives().find((a) => a.slug === slug);
}
