move featured events from settings to home page

This commit is contained in:
2024-05-15 01:05:10 +02:00
parent c1e26b39ed
commit 469b4bd1e9
11 changed files with 197 additions and 108 deletions

View File

@ -1,17 +1,13 @@
import { graphql } from "@/gql";
import { EventFragment, EventPromoSettingsFragment } from "@/gql/graphql";
import { EventFragment, HomeFragment } from "@/gql/graphql";
import { getClient } from "@/app/client";
import { FeaturedEvents } from "@/components/events/FeaturedEvents";
import { Body } from "@/components/general/Body";
import Image from "next/image";
import { PersonList } from "@/components/people/PersonList";
import { NewsList } from "@/components/news/NewsList";
import { PersonSection } from "@/components/people/PersonSection";
import { UpcomingEvents } from "@/components/events/UpcomingEvents";
const EventPromoSettingsFragmentDefinition = graphql(`
fragment EventPromoSettings on EventPromoSettings {
... on EventPromoSettings {
const HomeFragmentDefinition = graphql(`
fragment Home on HomePage {
... on HomePage {
featuredEvents {
id
}
@ -25,19 +21,18 @@ export default async function Home() {
events: pages(contentType: "events.EventPage") {
...Event
}
eventPromoSettings: settings {
... on EventPromoSettings {
...EventPromoSettings
home: page(contentType: "home.HomePage", urlPath: "/home/") {
... on HomePage {
...Home
}
}
}
`);
const { data, error } = await getClient().query(homeQuery, {});
const events = (data?.events ?? []) as EventFragment[];
const eventPromoSettings = (data?.eventPromoSettings[0] ??
[]) as EventPromoSettingsFragment;
const home = (data?.home ?? []) as HomeFragment;
const featuredEventIds = eventPromoSettings.featuredEvents.map((x) => x.id);
const featuredEventIds = home.featuredEvents.map((x) => x.id);
const featuredEvents = [
...events.filter((x) => featuredEventIds.includes(x.id)),
...events.filter((x) => !featuredEventIds.includes(x.id)),