diff --git a/astro.config.mjs b/astro.config.mjs index 4d71e77..bb6dc30 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,12 +1,7 @@ import { defineConfig } from 'astro/config'; -import node from "@astrojs/node"; // https://astro.build/config export default defineConfig({ - output: "hybrid", - adapter: node({ - mode: "standalone" - }), server: { port: 8080, host: true diff --git a/src/pages/api/webhook.ts b/src/pages/api/webhook.ts deleted file mode 100644 index 6b2c1b8..0000000 --- a/src/pages/api/webhook.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { exec } from 'child_process'; - -export const prerender = false; - -let isBuildInProgress = false; - -export async function POST({ request }: { request: Request }): Promise { - const data = await request.json(); - - if (!data.token || data.token !== import.meta.env.WEBHOOK_TOKEN) { - return new Response( - JSON.stringify({ status: "unauthorized" }), - { status: 401, headers: { "Content-Type": "application/json" } } - ) - } - - try { - if (isBuildInProgress) { - return new Response( - JSON.stringify({status: 'error', message: 'Build already in progress'}), - { - status: 409, - headers: { - 'Content-Type': 'application/json', - }, - } - ); - } - - isBuildInProgress = true; - exec('npm run build', (error, stdout, stderr) => { - if (error) { - console.error(`Error executing build: ${error}`); - } - if (stdout) { - console.log(`Build stdout: ${stdout}`); - } - if (stderr) { - console.error(`Build stderr: ${stderr}`); - } - - isBuildInProgress = false; - }); - - return new Response(JSON.stringify({status: 'success'}), { - status: 200, - headers: { - 'Content-Type': 'application/json', - }, - }); - } catch (error) { - console.error("Error in webhook:", error); - - // Return a error response - return new Response(JSON.stringify({status: 'error', message: error?.toString()}), { - status: 500, - headers: { - 'Content-Type': 'application/json', - }, - }); - } -} diff --git a/src/pages/evenements.astro b/src/pages/evenements.astro index 1b6a839..cdcaf60 100644 --- a/src/pages/evenements.astro +++ b/src/pages/evenements.astro @@ -3,8 +3,6 @@ import Layout from '../layouts/Layout.astro'; import { fetchEvenementsPassés } from "../lib/contentful"; import GrilleSpectaclesPassés from "../components/GrilleSpectaclesPassés.astro"; -export const prerender = false - const evenementsPassés = await fetchEvenementsPassés() --- diff --git a/src/pages/evenements/[slug].astro b/src/pages/evenements/[slug].astro index 3c17e15..11c1a2f 100644 --- a/src/pages/evenements/[slug].astro +++ b/src/pages/evenements/[slug].astro @@ -1,28 +1,28 @@ --- -import type { Document } from '@contentful/rich-text-types'; import { documentToHtmlString } from "@contentful/rich-text-html-renderer"; -import {fetchEvenement, fetchAllEvenements} from "../../lib/contentful"; +import { fetchAllEvenements } from "../../lib/contentful"; import Layout from "../../layouts/Layout.astro"; -import Card from "../../components/Card.astro"; import { formatDateAvecHeure } from "../../utils/date"; -export const prerender = false +export async function getStaticPaths() { + const tousEvenements = await fetchAllEvenements() + return tousEvenements.map((evenement, index) => ({ + params: { slug: evenement.slug }, + props: { + evenement, + evenementPrecedent: index > 0 ? tousEvenements[index - 1] : null, + evenementSuivant: index < tousEvenements.length - 1 ? tousEvenements[index + 1] : null, + }, + })) +} -const {slug} = Astro.params - -const evenement = await fetchEvenement(slug) +const { evenement, evenementPrecedent, evenementSuivant } = Astro.props const { nom, description, date, lieu, lieuUrl, affiche, album } = evenement -// Récupération de tous les événements pour la navigation -const tousEvenements = await fetchAllEvenements() -const currentIndex = tousEvenements.findIndex(e => e.slug === slug) -const evenementPrecedent = currentIndex > 0 ? tousEvenements[currentIndex - 1] : null -const evenementSuivant = currentIndex < tousEvenements.length - 1 ? tousEvenements[currentIndex + 1] : null - const Wrapper = lieuUrl ? 'a' : 'div' --- - +