add page type with lead and body for /utleie

This commit is contained in:
2024-07-14 18:14:34 +02:00
parent b81bee1140
commit 8230635978
5 changed files with 353 additions and 47 deletions

View File

@ -1,15 +1,31 @@
import { graphql } from "@/gql";
import { VenueFragment } from "@/gql/graphql";
import { VenueFragment, VenueRentalIndexFragment } from "@/gql/graphql";
import { getClient } from "@/app/client";
import { VenueList } from "@/components/venues/VenueList";
import Link from "next/link";
import { PageHeader } from "@/components/general/PageHeader";
import { BgPig } from "@/components/general/BgPig";
import { Accordion } from "@/components/blocks/Accordion";
import { Blocks } from "@/components/blocks/Blocks";
const VenueRentalIndexDefinition = graphql(`
fragment VenueRentalIndex on VenueRentalIndex {
... on VenueRentalIndex {
title
lead
body {
...Blocks
}
}
}
`);
export default async function Page() {
const allVenuesQuery = graphql(`
query allVenues {
const venueRentalIndexQuery = graphql(`
query venueRentalIndex {
index: venueRentalIndex {
... on VenueRentalIndex {
...VenueRentalIndex
}
}
venues: pages(contentType: "venues.VenuePage") {
... on VenuePage {
...Venue
@ -17,27 +33,17 @@ export default async function Page() {
}
}
`);
const { data, error } = await getClient().query(allVenuesQuery, {});
const { data, error } = await getClient().query(venueRentalIndexQuery, {});
const index = (data?.index ?? []) as VenueRentalIndexFragment;
const venues = (data?.venues ?? []) as VenueFragment[];
const bookableVenues = venues.filter((venue) => venue.showAsBookable);
return (
<>
<main className="site-main" id="main">
<PageHeader
heading="Utleie"
lead="Chateau Neuf har lokaler til diverse arrangementer, og alle våre
lokaler er tilgjengelige for utleie, både for studenter,
utdanningsinstitusjoner og andre. Vi har blant annet huset
Spellemannsprisen og Dalai Lama!"
/>
<section>
<p>Her kommer mer om utleiereglement etc.</p>
</section>
<br />
<br />
<VenueList heading="Våre lokaler" venues={venues} />
</main>
<main className="site-main" id="main">
<PageHeader heading={index.title} lead={index.lead} />
{index.body && <Blocks blocks={index.body} />}
<VenueList venues={bookableVenues} />
<BgPig type="key" />
</>
</main>
);
}