-
+
«Hvor Glæden hersker, er alltid Fest»
Sed sodales nunc quis sapien malesuada, a faucibus turpis blandit.
diff --git a/web/src/components/blocks/Blocks.tsx b/web/src/components/blocks/Blocks.tsx
new file mode 100644
index 0000000..5c36306
--- /dev/null
+++ b/web/src/components/blocks/Blocks.tsx
@@ -0,0 +1,49 @@
+export const RichTextBlock = ({ block }: any) => {
+ return (
+
+ );
+};
+
+export const Blocks = ({ blocks }: any) => {
+ return blocks.map((block: any) => {
+ switch (block.blockType) {
+ case "RichTextBlock":
+ return
;
+ break;
+ default:
+ return
Unsupported block type {block.blockType}
;
+ console.log("unsupported block", block);
+ }
+ });
+};
+
+/*
+StreamFieldBlock
+CharBlock
+TextBlock
+EmailBlock
+IntegerBlock
+FloatBlock
+DecimalBlock
+RegexBlock
+URLBlock
+BooleanBlock
+DateBlock
+TimeBlock
+DateTimeBlock
+RichTextBlock
+RawHTMLBlock
+BlockQuoteBlock
+ChoiceBlock
+StreamBlock
+StructBlock
+StaticBlock
+ListBlock
+EmbedBlock
+PageChooserBlock
+DocumentChooserBlock
+ImageChooserBlock
+*/
diff --git a/web/src/components/events/EventItem.tsx b/web/src/components/events/EventItem.tsx
index ac84901..96df1cb 100644
--- a/web/src/components/events/EventItem.tsx
+++ b/web/src/components/events/EventItem.tsx
@@ -1,13 +1,17 @@
+import { EventFragment } from "@/gql/graphql";
import styles from "./eventItem.module.scss";
+import Link from "next/link";
-export const EventItem = () => {
+export const EventItem = ({ event }: { event: EventFragment }) => {
return (
-
-
-
-
Arrangementstittel
-
Detaljer og tidspunkt
-
-
+
+
+
+
+
{event.title}
+
Detaljer og tidspunkt
+
+
+
);
};
diff --git a/web/src/components/events/EventList.tsx b/web/src/components/events/EventList.tsx
index f65c5d5..cd4b11f 100644
--- a/web/src/components/events/EventList.tsx
+++ b/web/src/components/events/EventList.tsx
@@ -1,13 +1,13 @@
+import { EventFragment } from "@/gql/graphql";
import { EventItem } from "./EventItem";
import styles from "./eventList.module.scss";
-export const EventList = () => {
+export const EventList = ({ events }: { events: EventFragment[] }) => {
return (
-
-
-
-
+ {events.map((event) => (
+
+ ))}
);
};
diff --git a/web/src/gql/fragment-masking.ts b/web/src/gql/fragment-masking.ts
new file mode 100644
index 0000000..fbedede
--- /dev/null
+++ b/web/src/gql/fragment-masking.ts
@@ -0,0 +1,67 @@
+/* eslint-disable */
+import { ResultOf, DocumentTypeDecoration, TypedDocumentNode } from '@graphql-typed-document-node/core';
+import { FragmentDefinitionNode } from 'graphql';
+import { Incremental } from './graphql';
+
+
+export type FragmentType
> = TDocumentType extends DocumentTypeDecoration<
+ infer TType,
+ any
+>
+ ? [TType] extends [{ ' $fragmentName'?: infer TKey }]
+ ? TKey extends string
+ ? { ' $fragmentRefs'?: { [key in TKey]: TType } }
+ : never
+ : never
+ : never;
+
+// return non-nullable if `fragmentType` is non-nullable
+export function useFragment(
+ _documentNode: DocumentTypeDecoration,
+ fragmentType: FragmentType>
+): TType;
+// return nullable if `fragmentType` is nullable
+export function useFragment(
+ _documentNode: DocumentTypeDecoration,
+ fragmentType: FragmentType> | null | undefined
+): TType | null | undefined;
+// return array of non-nullable if `fragmentType` is array of non-nullable
+export function useFragment(
+ _documentNode: DocumentTypeDecoration,
+ fragmentType: ReadonlyArray>>
+): ReadonlyArray;
+// return array of nullable if `fragmentType` is array of nullable
+export function useFragment(
+ _documentNode: DocumentTypeDecoration,
+ fragmentType: ReadonlyArray>> | null | undefined
+): ReadonlyArray | null | undefined;
+export function useFragment(
+ _documentNode: DocumentTypeDecoration,
+ fragmentType: FragmentType> | ReadonlyArray>> | null | undefined
+): TType | ReadonlyArray | null | undefined {
+ return fragmentType as any;
+}
+
+
+export function makeFragmentData<
+ F extends DocumentTypeDecoration,
+ FT extends ResultOf
+>(data: FT, _fragment: F): FragmentType {
+ return data as FragmentType;
+}
+export function isFragmentReady(
+ queryNode: DocumentTypeDecoration,
+ fragmentNode: TypedDocumentNode,
+ data: FragmentType, any>> | null | undefined
+): data is FragmentType {
+ const deferredFields = (queryNode as { __meta__?: { deferredFields: Record } }).__meta__
+ ?.deferredFields;
+
+ if (!deferredFields) return true;
+
+ const fragDef = fragmentNode.definitions[0] as FragmentDefinitionNode | undefined;
+ const fragName = fragDef?.name?.value;
+
+ const fields = (fragName && deferredFields[fragName]) || [];
+ return fields.length > 0 && fields.every(field => data && field in data);
+}
diff --git a/web/src/gql/gql.ts b/web/src/gql/gql.ts
new file mode 100644
index 0000000..193fb07
--- /dev/null
+++ b/web/src/gql/gql.ts
@@ -0,0 +1,62 @@
+/* eslint-disable */
+import * as types from './graphql';
+import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
+
+/**
+ * Map of all GraphQL operations in the project.
+ *
+ * This map has several performance disadvantages:
+ * 1. It is not tree-shakeable, so it will include all operations in the project.
+ * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.
+ * 3. It does not support dead code elimination, so it will add unused operations.
+ *
+ * Therefore it is highly recommended to use the babel or swc plugin for production.
+ */
+const documents = {
+ "\n query allEventSlugs {\n pages(contentType: \"events.EventPage\") {\n id\n slug\n }\n }\n ": types.AllEventSlugsDocument,
+ "\n query eventBySlug($slug: String!) {\n event: page(contentType: \"events.EventPage\", slug: $slug) {\n ... on EventPage {\n ...Event\n }\n }\n }\n ": types.EventBySlugDocument,
+ "\n fragment Event on EventPage {\n __typename\n id\n slug\n title\n body {\n id\n blockType\n field\n ... on RichTextBlock {\n rawValue\n value\n }\n }\n featuredImage {\n src\n }\n facebookUrl\n ticketUrl\n priceRegular\n priceMember\n priceRegular\n }\n": types.EventFragmentDoc,
+ "\n query allEvents {\n events: pages(contentType: \"events.EventPage\") {\n ... on EventPage {\n ...Event\n }\n }\n }\n ": types.AllEventsDocument,
+ "\n query home {\n events: pages(contentType: \"events.EventPage\") {\n ...Event\n }\n }\n ": types.HomeDocument,
+};
+
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ *
+ *
+ * @example
+ * ```ts
+ * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);
+ * ```
+ *
+ * The query argument is unknown!
+ * Please regenerate the types.
+ */
+export function graphql(source: string): unknown;
+
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(source: "\n query allEventSlugs {\n pages(contentType: \"events.EventPage\") {\n id\n slug\n }\n }\n "): (typeof documents)["\n query allEventSlugs {\n pages(contentType: \"events.EventPage\") {\n id\n slug\n }\n }\n "];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(source: "\n query eventBySlug($slug: String!) {\n event: page(contentType: \"events.EventPage\", slug: $slug) {\n ... on EventPage {\n ...Event\n }\n }\n }\n "): (typeof documents)["\n query eventBySlug($slug: String!) {\n event: page(contentType: \"events.EventPage\", slug: $slug) {\n ... on EventPage {\n ...Event\n }\n }\n }\n "];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(source: "\n fragment Event on EventPage {\n __typename\n id\n slug\n title\n body {\n id\n blockType\n field\n ... on RichTextBlock {\n rawValue\n value\n }\n }\n featuredImage {\n src\n }\n facebookUrl\n ticketUrl\n priceRegular\n priceMember\n priceRegular\n }\n"): (typeof documents)["\n fragment Event on EventPage {\n __typename\n id\n slug\n title\n body {\n id\n blockType\n field\n ... on RichTextBlock {\n rawValue\n value\n }\n }\n featuredImage {\n src\n }\n facebookUrl\n ticketUrl\n priceRegular\n priceMember\n priceRegular\n }\n"];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(source: "\n query allEvents {\n events: pages(contentType: \"events.EventPage\") {\n ... on EventPage {\n ...Event\n }\n }\n }\n "): (typeof documents)["\n query allEvents {\n events: pages(contentType: \"events.EventPage\") {\n ... on EventPage {\n ...Event\n }\n }\n }\n "];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(source: "\n query home {\n events: pages(contentType: \"events.EventPage\") {\n ...Event\n }\n }\n "): (typeof documents)["\n query home {\n events: pages(contentType: \"events.EventPage\") {\n ...Event\n }\n }\n "];
+
+export function graphql(source: string) {
+ return (documents as any)[source] ?? {};
+}
+
+export type DocumentType> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never;
\ No newline at end of file
diff --git a/web/src/gql/graphql.ts b/web/src/gql/graphql.ts
new file mode 100644
index 0000000..05059eb
--- /dev/null
+++ b/web/src/gql/graphql.ts
@@ -0,0 +1,1202 @@
+/* eslint-disable */
+import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
+export type Maybe = T | null;
+export type InputMaybe = Maybe;
+export type Exact = { [K in keyof T]: T[K] };
+export type MakeOptional = Omit & { [SubKey in K]?: Maybe };
+export type MakeMaybe = Omit & { [SubKey in K]: Maybe };
+export type MakeEmpty = { [_ in K]?: never };
+export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
+/** All built-in and custom scalars, mapped to their actual values */
+export type Scalars = {
+ ID: { input: string; output: string; }
+ String: { input: string; output: string; }
+ Boolean: { input: boolean; output: boolean; }
+ Int: { input: number; output: number; }
+ Float: { input: number; output: number; }
+ /**
+ * The `DateTime` scalar type represents a DateTime
+ * value as specified by
+ * [iso8601](https://en.wikipedia.org/wiki/ISO_8601).
+ */
+ DateTime: { input: any; output: any; }
+ /**
+ * Allows use of a JSON String for input / output from the GraphQL schema.
+ *
+ * Use of this type is *not recommended* as you lose the benefits of having a defined, static
+ * schema (one of the key benefits of GraphQL).
+ */
+ JSONString: { input: any; output: any; }
+ /** GraphQL type for an integer that must be equal or greater than zero. */
+ PositiveInt: { input: any; output: any; }
+ /**
+ * Leverages the internal Python implementation of UUID (uuid.UUID) to provide native UUID objects
+ * in fields, resolvers and input.
+ */
+ UUID: { input: any; output: any; }
+};
+
+export type Association = PageInterface & {
+ __typename?: 'Association';
+ aliasOf?: Maybe;
+ aliases: Array;
+ ancestors: Array;
+ association?: Maybe;
+ children: Array;
+ contentType: Scalars['String']['output'];
+ depth?: Maybe;
+ descendants: Array;
+ draftTitle: Scalars['String']['output'];
+ eventindex?: Maybe;
+ eventpage?: Maybe;
+ expireAt?: Maybe;
+ expired: Scalars['Boolean']['output'];
+ firstPublishedAt?: Maybe;
+ goLiveAt?: Maybe;
+ hasUnpublishedChanges: Scalars['Boolean']['output'];
+ homepage?: Maybe;
+ id?: Maybe;
+ lastPublishedAt?: Maybe;
+ latestRevisionCreatedAt?: Maybe;
+ live: Scalars['Boolean']['output'];
+ locked?: Maybe;
+ lockedAt?: Maybe;
+ nextSiblings: Array;
+ numchild: Scalars['Int']['output'];
+ pageType?: Maybe;
+ parent?: Maybe;
+ path: Scalars['String']['output'];
+ previousSiblings: Array;
+ searchDescription?: Maybe;
+ searchScore?: Maybe;
+ seoTitle: Scalars['String']['output'];
+ showInMenus: Scalars['Boolean']['output'];
+ siblings: Array;
+ sitesRootedHere: Array;
+ slug: Scalars['String']['output'];
+ title: Scalars['String']['output'];
+ translationKey: Scalars['UUID']['output'];
+ url?: Maybe;
+ urlPath: Scalars['String']['output'];
+};
+
+
+export type AssociationAncestorsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type AssociationChildrenArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type AssociationDescendantsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type AssociationNextSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type AssociationPreviousSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type AssociationSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+export type BlockQuoteBlock = StreamFieldInterface & {
+ __typename?: 'BlockQuoteBlock';
+ blockType: Scalars['String']['output'];
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['String']['output'];
+};
+
+export type BooleanBlock = StreamFieldInterface & {
+ __typename?: 'BooleanBlock';
+ blockType: Scalars['String']['output'];
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['Boolean']['output'];
+};
+
+export type CharBlock = StreamFieldInterface & {
+ __typename?: 'CharBlock';
+ blockType: Scalars['String']['output'];
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['String']['output'];
+};
+
+export type ChoiceBlock = StreamFieldInterface & {
+ __typename?: 'ChoiceBlock';
+ blockType: Scalars['String']['output'];
+ choices: Array;
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['String']['output'];
+};
+
+export type ChoiceOption = {
+ __typename?: 'ChoiceOption';
+ key: Scalars['String']['output'];
+ value: Scalars['String']['output'];
+};
+
+/** Collection type */
+export type CollectionObjectType = {
+ __typename?: 'CollectionObjectType';
+ ancestors: Array>;
+ depth: Scalars['Int']['output'];
+ descendants: Array>;
+ id: Scalars['ID']['output'];
+ name: Scalars['String']['output'];
+ numchild: Scalars['Int']['output'];
+ path: Scalars['String']['output'];
+};
+
+export type DateBlock = StreamFieldInterface & {
+ __typename?: 'DateBlock';
+ blockType: Scalars['String']['output'];
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['String']['output'];
+};
+
+
+export type DateBlockValueArgs = {
+ format?: InputMaybe;
+};
+
+export type DateTimeBlock = StreamFieldInterface & {
+ __typename?: 'DateTimeBlock';
+ blockType: Scalars['String']['output'];
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['String']['output'];
+};
+
+
+export type DateTimeBlockValueArgs = {
+ format?: InputMaybe;
+};
+
+export type DecimalBlock = StreamFieldInterface & {
+ __typename?: 'DecimalBlock';
+ blockType: Scalars['String']['output'];
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['Float']['output'];
+};
+
+export type DocumentChooserBlock = StreamFieldInterface & {
+ __typename?: 'DocumentChooserBlock';
+ blockType: Scalars['String']['output'];
+ document: DocumentObjectType;
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+};
+
+/**
+ * Base document type used if one isn't generated for the current model.
+ * All other node types extend this.
+ */
+export type DocumentObjectType = {
+ __typename?: 'DocumentObjectType';
+ collection: CollectionObjectType;
+ createdAt: Scalars['DateTime']['output'];
+ file: Scalars['String']['output'];
+ fileHash: Scalars['String']['output'];
+ fileSize?: Maybe;
+ id: Scalars['ID']['output'];
+ tags: Array;
+ title: Scalars['String']['output'];
+ url: Scalars['String']['output'];
+};
+
+export type EmailBlock = StreamFieldInterface & {
+ __typename?: 'EmailBlock';
+ blockType: Scalars['String']['output'];
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['String']['output'];
+};
+
+export type EmbedBlock = StreamFieldInterface & {
+ __typename?: 'EmbedBlock';
+ blockType: Scalars['String']['output'];
+ embed?: Maybe;
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawEmbed?: Maybe;
+ rawValue: Scalars['String']['output'];
+ url: Scalars['String']['output'];
+ value: Scalars['String']['output'];
+};
+
+export type EventIndex = PageInterface & {
+ __typename?: 'EventIndex';
+ aliasOf?: Maybe;
+ aliases: Array;
+ ancestors: Array;
+ association?: Maybe;
+ children: Array;
+ contentType: Scalars['String']['output'];
+ depth?: Maybe;
+ descendants: Array;
+ draftTitle: Scalars['String']['output'];
+ eventindex?: Maybe;
+ eventpage?: Maybe;
+ expireAt?: Maybe;
+ expired: Scalars['Boolean']['output'];
+ firstPublishedAt?: Maybe;
+ goLiveAt?: Maybe;
+ hasUnpublishedChanges: Scalars['Boolean']['output'];
+ homepage?: Maybe;
+ id?: Maybe;
+ lastPublishedAt?: Maybe;
+ latestRevisionCreatedAt?: Maybe;
+ live: Scalars['Boolean']['output'];
+ locked?: Maybe;
+ lockedAt?: Maybe;
+ nextSiblings: Array;
+ numchild: Scalars['Int']['output'];
+ pageType?: Maybe;
+ parent?: Maybe;
+ path: Scalars['String']['output'];
+ previousSiblings: Array;
+ searchDescription?: Maybe;
+ searchScore?: Maybe;
+ seoTitle: Scalars['String']['output'];
+ showInMenus: Scalars['Boolean']['output'];
+ siblings: Array;
+ sitesRootedHere: Array;
+ slug: Scalars['String']['output'];
+ title: Scalars['String']['output'];
+ translationKey: Scalars['UUID']['output'];
+ url?: Maybe;
+ urlPath: Scalars['String']['output'];
+};
+
+
+export type EventIndexAncestorsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventIndexChildrenArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventIndexDescendantsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventIndexNextSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventIndexPreviousSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventIndexSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+export type EventOccurrence = {
+ __typename?: 'EventOccurrence';
+ id?: Maybe;
+};
+
+export type EventPage = PageInterface & {
+ __typename?: 'EventPage';
+ aliasOf?: Maybe;
+ aliases: Array;
+ ancestors: Array;
+ association?: Maybe;
+ body?: Maybe>>;
+ children: Array;
+ contentType: Scalars['String']['output'];
+ depth?: Maybe;
+ descendants: Array;
+ draftTitle: Scalars['String']['output'];
+ eventindex?: Maybe;
+ eventpage?: Maybe;
+ expireAt?: Maybe;
+ expired: Scalars['Boolean']['output'];
+ facebookUrl?: Maybe;
+ featuredImage?: Maybe;
+ firstPublishedAt?: Maybe;
+ goLiveAt?: Maybe;
+ hasUnpublishedChanges: Scalars['Boolean']['output'];
+ homepage?: Maybe;
+ id?: Maybe;
+ lastPublishedAt?: Maybe;
+ latestRevisionCreatedAt?: Maybe;
+ live: Scalars['Boolean']['output'];
+ locked?: Maybe;
+ lockedAt?: Maybe;
+ nextSiblings: Array;
+ numchild: Scalars['Int']['output'];
+ pageType?: Maybe;
+ parent?: Maybe;
+ path: Scalars['String']['output'];
+ previousSiblings: Array;
+ priceMember?: Maybe;
+ priceRegular?: Maybe;
+ priceStudent?: Maybe;
+ searchDescription?: Maybe;
+ searchScore?: Maybe;
+ seoTitle: Scalars['String']['output'];
+ showInMenus: Scalars['Boolean']['output'];
+ siblings: Array;
+ sitesRootedHere: Array;
+ slug: Scalars['String']['output'];
+ ticketUrl?: Maybe;
+ title: Scalars['String']['output'];
+ translationKey: Scalars['UUID']['output'];
+ url?: Maybe;
+ urlPath: Scalars['String']['output'];
+};
+
+
+export type EventPageAncestorsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventPageChildrenArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventPageDescendantsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventPageNextSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventPagePreviousSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+
+export type EventPageSiblingsArgs = {
+ id?: InputMaybe;
+ limit?: InputMaybe;
+ offset?: InputMaybe;
+ order?: InputMaybe;
+ searchQuery?: InputMaybe;
+};
+
+export type FloatBlock = StreamFieldInterface & {
+ __typename?: 'FloatBlock';
+ blockType: Scalars['String']['output'];
+ field: Scalars['String']['output'];
+ id?: Maybe;
+ rawValue: Scalars['String']['output'];
+ value: Scalars['Float']['output'];
+};
+
+export type HomePage = PageInterface & {
+ __typename?: 'HomePage';
+ aliasOf?: Maybe;
+ aliases: Array;
+ ancestors: Array;
+ association?: Maybe;
+ children: Array;
+ contentType: Scalars['String']['output'];
+ depth?: Maybe;
+ descendants: Array;
+ draftTitle: Scalars['String']['output'];
+ eventindex?: Maybe;
+ eventpage?: Maybe;
+ expireAt?: Maybe;
+ expired: Scalars['Boolean']['output'];
+ firstPublishedAt?: Maybe