diff --git a/src/app/page.tsx b/src/app/page.tsx
index ef13819..a04a2fd 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -3,8 +3,11 @@ import { fr } from "@codegouvfr/react-dsfr";
import AutocompleteSearch from "@/components/AutocompleteSearch";
import Link from "next/link";
import Card from "@codegouvfr/react-dsfr/Card";
+import { getArticles } from "@/data/articles";
export default async function Page() {
+ const articles = (await getArticles()).filter(({ homepage }) => homepage);
+
return (
<>
@@ -30,67 +33,22 @@ export default async function Page() {
-
-
- Je suis enceinte, quelles précautions prendre ?
-
-
-
-
- Je ne me sens plus malade, est ce que je peux arrêter mon
- traitement ?
-
-
-
-
- Dois-je me faire vacciner contre la grippe saisonnière ?
-
-
-
-
- Que faire si j'ai des effets indésirables ?
-
-
-
-
- Numéros d'urgence
-
-
+
+ {articles.map(({ title, slug }) => (
+ -
+
+ {title}
+
+
+ ))}
+
{
@@ -17,6 +18,7 @@ export async function getArticles() {
source: fields.Source as string,
content: fields.Contenu as string,
category: fields.Theme as string,
+ homepage: fields.Homepage as boolean,
};
});
}
diff --git a/src/data/grist.ts b/src/data/grist.ts
index 313cdb7..d3d4293 100644
--- a/src/data/grist.ts
+++ b/src/data/grist.ts
@@ -12,7 +12,7 @@ const gristCache = new Map>();
export const getGristTableData = (
tableId: string,
fields: F[],
-): Promise<{ id: number; fields: Record }[]> => {
+): Promise<{ id: number; fields: Record }[]> => {
if (!gristCache.has(tableId)) {
gristCache.set(tableId, uncachedGetGristTableData(tableId, fields));
}
@@ -24,9 +24,9 @@ export const getGristTableData = (
async function uncachedGetGristTableData(
tableId: string,
fields: F[],
-): Promise<{ id: number; fields: Record }[]> {
+): Promise<{ id: number; fields: Record }[]> {
const response = await fetch(
- `https://grist.numerique.gouv.fr/api/docs/${process.env.GRIST_DOC_ID}/tables/${tableId}/records`,
+ `https://grist.numerique.gouv.fr/api/docs/${process.env.GRIST_DOC_ID}/tables/${tableId}/records?sort=manualSort`,
{
headers: {
Authorization: `Bearer ${process.env.GRIST_API_KEY}`,