From 511715b75ba794afe51a9a4b80b9438fe56277dd Mon Sep 17 00:00:00 2001 From: Jonas Braathen Date: Fri, 10 May 2024 18:26:07 +0200 Subject: [PATCH] add venues --- dnscms/dnscms/settings/base.py | 3 +- dnscms/events/models.py | 2 +- dnscms/poetry.lock | 38 +-- dnscms/pyproject.toml | 2 +- dnscms/venues/__init__.py | 0 dnscms/venues/apps.py | 6 + dnscms/venues/migrations/0001_initial.py | 42 +++ dnscms/venues/migrations/0002_venueindex.py | 25 ++ dnscms/venues/migrations/__init__.py | 0 dnscms/venues/models.py | 109 ++++++++ web/src/app/lokaler/[slug]/page.tsx | 97 +++++++ web/src/app/lokaler/page.tsx | 67 +++++ web/src/components/layout/Header.tsx | 4 + web/src/components/venues/VenueItem.tsx | 29 ++ web/src/components/venues/VenueList.tsx | 13 + .../components/venues/venueItem.module.scss | 3 + .../components/venues/venueList.module.scss | 3 + web/src/gql/gql.ts | 20 ++ web/src/gql/graphql.ts | 261 +++++++++++++++++- 19 files changed, 697 insertions(+), 27 deletions(-) create mode 100644 dnscms/venues/__init__.py create mode 100644 dnscms/venues/apps.py create mode 100644 dnscms/venues/migrations/0001_initial.py create mode 100644 dnscms/venues/migrations/0002_venueindex.py create mode 100644 dnscms/venues/migrations/__init__.py create mode 100644 dnscms/venues/models.py create mode 100644 web/src/app/lokaler/[slug]/page.tsx create mode 100644 web/src/app/lokaler/page.tsx create mode 100644 web/src/components/venues/VenueItem.tsx create mode 100644 web/src/components/venues/VenueList.tsx create mode 100644 web/src/components/venues/venueItem.module.scss create mode 100644 web/src/components/venues/venueList.module.scss diff --git a/dnscms/dnscms/settings/base.py b/dnscms/dnscms/settings/base.py index 150217a..4a1ff41 100644 --- a/dnscms/dnscms/settings/base.py +++ b/dnscms/dnscms/settings/base.py @@ -27,6 +27,7 @@ INSTALLED_APPS = [ "home", "associations", "events", + "venues", "grapple", "graphene_django", "wagtail.contrib.forms", @@ -174,6 +175,6 @@ BASE_URL = "http://example.com" # GraphQL GRAPHENE = {"SCHEMA": "grapple.schema.schema"} GRAPPLE = { - "APPS": ["home", "associations", "events"], + "APPS": ["home", "associations", "events", "venues"], "EXPOSE_GRAPHIQL": True, } diff --git a/dnscms/events/models.py b/dnscms/events/models.py index 5b4e458..31f6c27 100644 --- a/dnscms/events/models.py +++ b/dnscms/events/models.py @@ -10,7 +10,7 @@ from wagtail.models import Page class EventIndex(Page): # there can only be one event index page max_count = 1 - + subpage_types = ["events.EventPage"] graphql_fields = [] diff --git a/dnscms/poetry.lock b/dnscms/poetry.lock index d7fa07f..3830676 100644 --- a/dnscms/poetry.lock +++ b/dnscms/poetry.lock @@ -742,28 +742,28 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "ruff" -version = "0.3.7" +version = "0.4.4" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.3.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:0e8377cccb2f07abd25e84fc5b2cbe48eeb0fea9f1719cad7caedb061d70e5ce"}, - {file = "ruff-0.3.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:15a4d1cc1e64e556fa0d67bfd388fed416b7f3b26d5d1c3e7d192c897e39ba4b"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d28bdf3d7dc71dd46929fafeec98ba89b7c3550c3f0978e36389b5631b793663"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:379b67d4f49774ba679593b232dcd90d9e10f04d96e3c8ce4a28037ae473f7bb"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c060aea8ad5ef21cdfbbe05475ab5104ce7827b639a78dd55383a6e9895b7c51"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:ebf8f615dde968272d70502c083ebf963b6781aacd3079081e03b32adfe4d58a"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d48098bd8f5c38897b03604f5428901b65e3c97d40b3952e38637b5404b739a2"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da8a4fda219bf9024692b1bc68c9cff4b80507879ada8769dc7e985755d662ea"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c44e0149f1d8b48c4d5c33d88c677a4aa22fd09b1683d6a7ff55b816b5d074f"}, - {file = "ruff-0.3.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3050ec0af72b709a62ecc2aca941b9cd479a7bf2b36cc4562f0033d688e44fa1"}, - {file = "ruff-0.3.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a29cc38e4c1ab00da18a3f6777f8b50099d73326981bb7d182e54a9a21bb4ff7"}, - {file = "ruff-0.3.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5b15cc59c19edca917f51b1956637db47e200b0fc5e6e1878233d3a938384b0b"}, - {file = "ruff-0.3.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e491045781b1e38b72c91247cf4634f040f8d0cb3e6d3d64d38dcf43616650b4"}, - {file = "ruff-0.3.7-py3-none-win32.whl", hash = "sha256:bc931de87593d64fad3a22e201e55ad76271f1d5bfc44e1a1887edd0903c7d9f"}, - {file = "ruff-0.3.7-py3-none-win_amd64.whl", hash = "sha256:5ef0e501e1e39f35e03c2acb1d1238c595b8bb36cf7a170e7c1df1b73da00e74"}, - {file = "ruff-0.3.7-py3-none-win_arm64.whl", hash = "sha256:789e144f6dc7019d1f92a812891c645274ed08af6037d11fc65fcbc183b7d59f"}, - {file = "ruff-0.3.7.tar.gz", hash = "sha256:d5c1aebee5162c2226784800ae031f660c350e7a3402c4d1f8ea4e97e232e3ba"}, + {file = "ruff-0.4.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:29d44ef5bb6a08e235c8249294fa8d431adc1426bfda99ed493119e6f9ea1bf6"}, + {file = "ruff-0.4.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c4efe62b5bbb24178c950732ddd40712b878a9b96b1d02b0ff0b08a090cbd891"}, + {file = "ruff-0.4.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c8e2f1e8fc12d07ab521a9005d68a969e167b589cbcaee354cb61e9d9de9c15"}, + {file = "ruff-0.4.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:60ed88b636a463214905c002fa3eaab19795679ed55529f91e488db3fe8976ab"}, + {file = "ruff-0.4.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b90fc5e170fc71c712cc4d9ab0e24ea505c6a9e4ebf346787a67e691dfb72e85"}, + {file = "ruff-0.4.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:8e7e6ebc10ef16dcdc77fd5557ee60647512b400e4a60bdc4849468f076f6eef"}, + {file = "ruff-0.4.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9ddb2c494fb79fc208cd15ffe08f32b7682519e067413dbaf5f4b01a6087bcd"}, + {file = "ruff-0.4.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c51c928a14f9f0a871082603e25a1588059b7e08a920f2f9fa7157b5bf08cfe9"}, + {file = "ruff-0.4.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5eb0a4bfd6400b7d07c09a7725e1a98c3b838be557fee229ac0f84d9aa49c36"}, + {file = "ruff-0.4.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b1867ee9bf3acc21778dcb293db504692eda5f7a11a6e6cc40890182a9f9e595"}, + {file = "ruff-0.4.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:1aecced1269481ef2894cc495647392a34b0bf3e28ff53ed95a385b13aa45768"}, + {file = "ruff-0.4.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9da73eb616b3241a307b837f32756dc20a0b07e2bcb694fec73699c93d04a69e"}, + {file = "ruff-0.4.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:958b4ea5589706a81065e2a776237de2ecc3e763342e5cc8e02a4a4d8a5e6f95"}, + {file = "ruff-0.4.4-py3-none-win32.whl", hash = "sha256:cb53473849f011bca6e754f2cdf47cafc9c4f4ff4570003a0dad0b9b6890e876"}, + {file = "ruff-0.4.4-py3-none-win_amd64.whl", hash = "sha256:424e5b72597482543b684c11def82669cc6b395aa8cc69acc1858b5ef3e5daae"}, + {file = "ruff-0.4.4-py3-none-win_arm64.whl", hash = "sha256:39df0537b47d3b597293edbb95baf54ff5b49589eb7ff41926d8243caa995ea6"}, + {file = "ruff-0.4.4.tar.gz", hash = "sha256:f87ea42d5cdebdc6a69761a9d0bc83ae9b3b30d0ad78952005ba6568d6c022af"}, ] [[package]] @@ -953,4 +953,4 @@ wand = ["Wand (>=0.6,<1.0)"] [metadata] lock-version = "2.0" python-versions = "^3.12" -content-hash = "064c4bf2cf216d5ae785e65ad7409f0d5f7fff4ce0bca79516fd1a4f756a1137" +content-hash = "24cb4c360211d1c02576389f51d3ba863b0da6ef2800e39e716ff4bf1f8f8a16" diff --git a/dnscms/pyproject.toml b/dnscms/pyproject.toml index e21d343..756f611 100644 --- a/dnscms/pyproject.toml +++ b/dnscms/pyproject.toml @@ -13,7 +13,7 @@ wagtail-grapple = "^0.25.1" psycopg2-binary = "^2.9.9" [tool.poetry.group.dev.dependencies] -ruff = "^0.3.4" +ruff = "*" [tool.ruff] line-length = 99 diff --git a/dnscms/venues/__init__.py b/dnscms/venues/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dnscms/venues/apps.py b/dnscms/venues/apps.py new file mode 100644 index 0000000..2bb5172 --- /dev/null +++ b/dnscms/venues/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class VenuesConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'venues' diff --git a/dnscms/venues/migrations/0001_initial.py b/dnscms/venues/migrations/0001_initial.py new file mode 100644 index 0000000..1b0189e --- /dev/null +++ b/dnscms/venues/migrations/0001_initial.py @@ -0,0 +1,42 @@ +# Generated by Django 5.0.6 on 2024-05-10 15:31 + +import django.db.models.deletion +import wagtail.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('wagtailcore', '0093_uploadedfile'), + ('wagtailimages', '0026_delete_uploadedimage'), + ] + + operations = [ + migrations.CreateModel( + name='VenuePage', + fields=[ + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')), + ('body', wagtail.fields.StreamField([('paragraph', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock())])), + ('show_as_bookable', models.BooleanField(default=True, help_text='Skal lokalet dukke i oversikten over lokaler som leies ut?')), + ('floor', models.CharField(blank=True, max_length=255)), + ('preposition', models.CharField(blank=True, help_text='Er man i eller på lokalet?', max_length=255)), + ('capability_audio', models.CharField(blank=True, max_length=255)), + ('capability_audio_video', models.CharField(blank=True, max_length=255)), + ('capability_bar', models.CharField(blank=True, max_length=255)), + ('capability_lighting', models.CharField(blank=True, max_length=255)), + ('capacity_legal', models.CharField(blank=True, max_length=255)), + ('capacity_standing', models.CharField(blank=True, max_length=255)), + ('capacity_sitting', models.CharField(blank=True, max_length=255)), + ('featured_image', models.ForeignKey(blank=True, help_text='Bilde av lokalet', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.image')), + ], + options={ + 'abstract': False, + }, + bases=('wagtailcore.page',), + ), + ] diff --git a/dnscms/venues/migrations/0002_venueindex.py b/dnscms/venues/migrations/0002_venueindex.py new file mode 100644 index 0000000..084f782 --- /dev/null +++ b/dnscms/venues/migrations/0002_venueindex.py @@ -0,0 +1,25 @@ +# Generated by Django 5.0.6 on 2024-05-10 15:32 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('venues', '0001_initial'), + ('wagtailcore', '0093_uploadedfile'), + ] + + operations = [ + migrations.CreateModel( + name='VenueIndex', + fields=[ + ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')), + ], + options={ + 'abstract': False, + }, + bases=('wagtailcore.page',), + ), + ] diff --git a/dnscms/venues/migrations/__init__.py b/dnscms/venues/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dnscms/venues/models.py b/dnscms/venues/models.py new file mode 100644 index 0000000..9de7066 --- /dev/null +++ b/dnscms/venues/models.py @@ -0,0 +1,109 @@ +from django.db import models +from grapple.models import GraphQLBoolean, GraphQLImage, GraphQLStreamfield, GraphQLString +from wagtail import blocks +from wagtail.admin.panels import FieldPanel, FieldRowPanel, MultiFieldPanel +from wagtail.fields import StreamField +from wagtail.images.blocks import ImageChooserBlock +from wagtail.models import Page + + +class VenueIndex(Page): + # there can only be one venue index page + max_count = 1 + subpage_types = ["venues.VenuePage"] + graphql_fields = [] + + +class VenuePage(Page): + # no children + subpage_types = [] + # should not be able to be shown in menus + show_in_menus = False + + featured_image = models.ForeignKey( + "wagtailimages.Image", + null=True, + blank=True, + on_delete=models.SET_NULL, + related_name="+", + help_text=("Bilde av lokalet"), + ) + + body = StreamField( + [ + ("paragraph", blocks.RichTextBlock()), + ("image", ImageChooserBlock()), + ] + ) + + show_as_bookable = models.BooleanField( + default=True, help_text="Skal lokalet dukke i oversikten over lokaler som leies ut?" + ) + floor = models.CharField( + blank=True, + max_length=255, + ) + preposition = models.CharField( + blank=True, max_length=255, help_text="Er man i eller på lokalet?" + ) + capability_audio = models.CharField(blank=True, max_length=255) + capability_audio_video = models.CharField(blank=True, max_length=255) + capability_bar = models.CharField(blank=True, max_length=255) + capability_lighting = models.CharField(blank=True, max_length=255) + capacity_legal = models.CharField(blank=True, max_length=255) + capacity_standing = models.CharField(blank=True, max_length=255) + capacity_sitting = models.CharField(blank=True, max_length=255) + + # "used_for": "Konsert, foredrag, fest, debatt, teater", + + capability_panels = [ + FieldRowPanel( + children=[ + FieldPanel("capability_bar", heading="Bar"), + FieldPanel("capability_audio", heading="Lyd"), + FieldPanel("capability_lighting", heading="Lys"), + FieldPanel("capability_audio_video", heading="A/V"), + ], + ), + ] + + capacity_panels = [ + FieldRowPanel( + children=[ + FieldPanel("capacity_legal", heading="Branntillatelse for"), + FieldPanel("capacity_sitting", heading="Stående"), + FieldPanel("capacity_standing", heading="Sittende"), + ], + ), + ] + + content_panels = Page.content_panels + [ + FieldPanel("featured_image"), + FieldPanel("body"), + FieldPanel("floor", heading="Etasje"), + FieldPanel("preposition", heading="Preposisjon"), + FieldPanel("show_as_bookable", heading="Vis på utleieside"), + MultiFieldPanel( + heading="Kapabiliteter", + children=capability_panels, + ), + MultiFieldPanel( + heading="Kapasitet", + children=capacity_panels, + ), + ] + + graphql_fields = [ + GraphQLImage("featured_image"), + GraphQLStreamfield("body"), + GraphQLString("floor"), + GraphQLString("preposition"), + GraphQLBoolean("show_as_bookable"), + GraphQLString("capability_audio"), + GraphQLString("capability_audio_video"), + GraphQLString("capability_bar"), + GraphQLString("capability_lighting"), + GraphQLString("capacity_legal"), + GraphQLString("capacity_standing"), + GraphQLString("capacity_sitting"), + ] diff --git a/web/src/app/lokaler/[slug]/page.tsx b/web/src/app/lokaler/[slug]/page.tsx new file mode 100644 index 0000000..399ffb6 --- /dev/null +++ b/web/src/app/lokaler/[slug]/page.tsx @@ -0,0 +1,97 @@ +import { graphql } from "@/gql"; +import { VenueFragment } from "@/gql/graphql"; +import { getClient } from "@/app/client"; +import { Blocks } from "@/components/blocks/Blocks"; +import Image from "@/components/general/Image"; + +export async function generateStaticParams() { + const allVenueSlugsQuery = graphql(` + query allVenueSlugs { + pages(contentType: "venues.VenuePage") { + id + slug + } + } + `); + const { data } = await getClient().query(allVenueSlugsQuery); + + return data?.pages.map((page: any) => ({ + slug: page.slug, + })); +} + +export default async function Page({ params }: { params: { slug: string } }) { + const venueBySlugQuery = graphql(` + query venueBySlug($slug: String!) { + venue: page(contentType: "venues.VenuePage", slug: $slug) { + ... on VenuePage { + ...Venue + } + } + } + `); + + const { data, error } = await getClient().query(venueBySlugQuery, { + slug: params.slug, + }); + + const venue = (data?.venue ?? {}) as VenueFragment; + + return ( +
+
+

{venue.title}

+ {venue.featuredImage && ( + + )} +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Etasje{venue.floor}
Branntillatelse for{venue.capacityLegal}
Stående{venue.capacityStanding}
Sittende{venue.capacitySitting}
BrukTODO
Bar{venue.capabilityBar}
Lyd{venue.capabilityLighting}
Lys{venue.capabilityLighting}
A/V{venue.capabilityAudioVideo}
+
+
+ ); +} diff --git a/web/src/app/lokaler/page.tsx b/web/src/app/lokaler/page.tsx new file mode 100644 index 0000000..b74a3f0 --- /dev/null +++ b/web/src/app/lokaler/page.tsx @@ -0,0 +1,67 @@ +import { graphql } from "@/gql"; +import { VenueFragment } from "@/gql/graphql"; +import { getClient } from "@/app/client"; +import { VenueList } from "@/components/venues/VenueList"; +import Link from "next/link"; + +const VenueFragmentDefinition = graphql(` + fragment Venue on VenuePage { + __typename + id + slug + title + body { + id + blockType + field + ... on RichTextBlock { + rawValue + value + } + } + featuredImage { + url + width + height + } + showAsBookable + floor + preposition + capabilityAudio + capabilityAudioVideo + capabilityBar + capabilityLighting + capacityLegal + capacityStanding + capacitySitting + } +`); + +export default async function Page() { + const allVenuesQuery = graphql(` + query allVenues { + venues: pages(contentType: "venues.VenuePage") { + ... on VenuePage { + ...Venue + } + } + } + `); + const { data, error } = await getClient().query(allVenuesQuery, {}); + const venues = (data?.venues ?? []) as VenueFragment[]; + + console.log('data', data) + + return ( +
+
+

Lokaler

+

+ Her kan vi presentere lokalene på Chateau Neuf, og eventuelt henvise + videre til undersiden om utleie. +

+
+ +
+ ); +} diff --git a/web/src/components/layout/Header.tsx b/web/src/components/layout/Header.tsx index f1fba88..e33dd6d 100644 --- a/web/src/components/layout/Header.tsx +++ b/web/src/components/layout/Header.tsx @@ -26,6 +26,10 @@ export const Header = () => {
  • Utleie
  • +
  • + {/* TODO: skal trolig ikke være så synlig ved lansering */} + Lokaler +
  • Bli medlem
  • diff --git a/web/src/components/venues/VenueItem.tsx b/web/src/components/venues/VenueItem.tsx new file mode 100644 index 0000000..2548140 --- /dev/null +++ b/web/src/components/venues/VenueItem.tsx @@ -0,0 +1,29 @@ +import { VenueFragment } from "@/gql/graphql"; +import styles from "./venueItem.module.scss"; +import Link from "next/link"; +import Image from "../general/Image"; + +export const VenueItem = ({ venue }: { venue: VenueFragment }) => { + return ( +
  • +
    + {venue.featuredImage && ( + + )} +
    +
    +

    {venue.title}

    +

    Detaljer om lokalet

    +
    + + Mer om lokalet {venue.title} + +
  • + ); +}; diff --git a/web/src/components/venues/VenueList.tsx b/web/src/components/venues/VenueList.tsx new file mode 100644 index 0000000..ae7074d --- /dev/null +++ b/web/src/components/venues/VenueList.tsx @@ -0,0 +1,13 @@ +import { VenueFragment } from "@/gql/graphql"; +import { VenueItem } from "./VenueItem"; +import styles from "./venueList.module.scss"; + +export const VenueList = ({ venues }: { venues: VenueFragment[] }) => { + return ( + + ); +}; diff --git a/web/src/components/venues/venueItem.module.scss b/web/src/components/venues/venueItem.module.scss new file mode 100644 index 0000000..c9771a0 --- /dev/null +++ b/web/src/components/venues/venueItem.module.scss @@ -0,0 +1,3 @@ +.venueItem { + +} \ No newline at end of file diff --git a/web/src/components/venues/venueList.module.scss b/web/src/components/venues/venueList.module.scss new file mode 100644 index 0000000..8783074 --- /dev/null +++ b/web/src/components/venues/venueList.module.scss @@ -0,0 +1,3 @@ +.venueList { + +} \ No newline at end of file diff --git a/web/src/gql/gql.ts b/web/src/gql/gql.ts index 44f88c3..12adb51 100644 --- a/web/src/gql/gql.ts +++ b/web/src/gql/gql.ts @@ -17,6 +17,10 @@ const documents = { "\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 url\n width\n height\n }\n facebookUrl\n ticketUrl\n priceRegular\n priceMember\n priceStudent\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 allVenueSlugs {\n pages(contentType: \"venues.VenuePage\") {\n id\n slug\n }\n }\n ": types.AllVenueSlugsDocument, + "\n query venueBySlug($slug: String!) {\n venue: page(contentType: \"venues.VenuePage\", slug: $slug) {\n ... on VenuePage {\n ...Venue\n }\n }\n }\n ": types.VenueBySlugDocument, + "\n fragment Venue on VenuePage {\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 url\n width\n height\n }\n showAsBookable\n floor\n preposition\n capabilityAudio\n capabilityAudioVideo\n capabilityBar\n capabilityLighting\n capacityLegal\n capacityStanding\n capacitySitting\n }\n": types.VenueFragmentDoc, + "\n query allVenues {\n venues: pages(contentType: \"venues.VenuePage\") {\n ... on VenuePage {\n ...Venue\n }\n }\n }\n ": types.AllVenuesDocument, "\n query home {\n events: pages(contentType: \"events.EventPage\") {\n ...Event\n }\n }\n ": types.HomeDocument, }; @@ -50,6 +54,22 @@ export function graphql(source: "\n fragment Event on EventPage {\n __typena * 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 allVenueSlugs {\n pages(contentType: \"venues.VenuePage\") {\n id\n slug\n }\n }\n "): (typeof documents)["\n query allVenueSlugs {\n pages(contentType: \"venues.VenuePage\") {\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 venueBySlug($slug: String!) {\n venue: page(contentType: \"venues.VenuePage\", slug: $slug) {\n ... on VenuePage {\n ...Venue\n }\n }\n }\n "): (typeof documents)["\n query venueBySlug($slug: String!) {\n venue: page(contentType: \"venues.VenuePage\", slug: $slug) {\n ... on VenuePage {\n ...Venue\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 Venue on VenuePage {\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 url\n width\n height\n }\n showAsBookable\n floor\n preposition\n capabilityAudio\n capabilityAudioVideo\n capabilityBar\n capabilityLighting\n capacityLegal\n capacityStanding\n capacitySitting\n }\n"): (typeof documents)["\n fragment Venue on VenuePage {\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 url\n width\n height\n }\n showAsBookable\n floor\n preposition\n capabilityAudio\n capabilityAudioVideo\n capabilityBar\n capabilityLighting\n capacityLegal\n capacityStanding\n capacitySitting\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 allVenues {\n venues: pages(contentType: \"venues.VenuePage\") {\n ... on VenuePage {\n ...Venue\n }\n }\n }\n "): (typeof documents)["\n query allVenues {\n venues: pages(contentType: \"venues.VenuePage\") {\n ... on VenuePage {\n ...Venue\n }\n }\n }\n "]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ diff --git a/web/src/gql/graphql.ts b/web/src/gql/graphql.ts index 6a1d6c3..7089a47 100644 --- a/web/src/gql/graphql.ts +++ b/web/src/gql/graphql.ts @@ -78,6 +78,8 @@ export type Association = PageInterface & { translationKey: Scalars['UUID']['output']; url?: Maybe; urlPath: Scalars['String']['output']; + venueindex?: Maybe; + venuepage?: Maybe; }; @@ -315,6 +317,8 @@ export type EventIndex = PageInterface & { translationKey: Scalars['UUID']['output']; url?: Maybe; urlPath: Scalars['String']['output']; + venueindex?: Maybe; + venuepage?: Maybe; }; @@ -425,6 +429,8 @@ export type EventPage = PageInterface & { translationKey: Scalars['UUID']['output']; url?: Maybe; urlPath: Scalars['String']['output']; + venueindex?: Maybe; + venuepage?: Maybe; }; @@ -532,6 +538,8 @@ export type HomePage = PageInterface & { translationKey: Scalars['UUID']['output']; url?: Maybe; urlPath: Scalars['String']['output']; + venueindex?: Maybe; + venuepage?: Maybe; }; @@ -724,6 +732,8 @@ export type Page = PageInterface & { translationKey: Scalars['UUID']['output']; url?: Maybe; urlPath: Scalars['String']['output']; + venueindex?: Maybe; + venuepage?: Maybe; }; @@ -1045,7 +1055,7 @@ export type RichTextBlock = StreamFieldInterface & { value: Scalars['String']['output']; }; -export type Search = Association | EventIndex | EventOccurrence | EventPage | HomePage | Page; +export type Search = Association | EventIndex | EventOccurrence | EventPage | HomePage | Page | VenueIndex | VenuePage; export type SiteObjectType = { __typename?: 'SiteObjectType'; @@ -1162,10 +1172,222 @@ export type UrlBlock = StreamFieldInterface & { value: Scalars['String']['output']; }; +export type VenueIndex = PageInterface & { + __typename?: 'VenueIndex'; + 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']; + venueindex?: Maybe; + venuepage?: Maybe; +}; + + +export type VenueIndexAncestorsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenueIndexChildrenArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenueIndexDescendantsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenueIndexNextSiblingsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenueIndexPreviousSiblingsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenueIndexSiblingsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + +export type VenuePage = PageInterface & { + __typename?: 'VenuePage'; + aliasOf?: Maybe; + aliases: Array; + ancestors: Array; + association?: Maybe; + body?: Maybe>>; + capabilityAudio?: Maybe; + capabilityAudioVideo?: Maybe; + capabilityBar?: Maybe; + capabilityLighting?: Maybe; + capacityLegal?: Maybe; + capacitySitting?: Maybe; + capacityStanding?: 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']; + featuredImage?: Maybe; + firstPublishedAt?: Maybe; + floor?: 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']; + preposition?: Maybe; + previousSiblings: Array; + searchDescription?: Maybe; + searchScore?: Maybe; + seoTitle: Scalars['String']['output']; + showAsBookable?: Maybe; + 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']; + venueindex?: Maybe; + venuepage?: Maybe; +}; + + +export type VenuePageAncestorsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenuePageChildrenArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenuePageDescendantsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenuePageNextSiblingsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenuePagePreviousSiblingsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + +export type VenuePageSiblingsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + export type AllEventSlugsQueryVariables = Exact<{ [key: string]: never; }>; -export type AllEventSlugsQuery = { __typename?: 'Query', pages: Array<{ __typename?: 'Association', id?: string | null, slug: string } | { __typename?: 'EventIndex', id?: string | null, slug: string } | { __typename?: 'EventPage', id?: string | null, slug: string } | { __typename?: 'HomePage', id?: string | null, slug: string } | { __typename?: 'Page', id?: string | null, slug: string }> }; +export type AllEventSlugsQuery = { __typename?: 'Query', pages: Array<{ __typename?: 'Association', id?: string | null, slug: string } | { __typename?: 'EventIndex', id?: string | null, slug: string } | { __typename?: 'EventPage', id?: string | null, slug: string } | { __typename?: 'HomePage', id?: string | null, slug: string } | { __typename?: 'Page', id?: string | null, slug: string } | { __typename?: 'VenueIndex', id?: string | null, slug: string } | { __typename?: 'VenuePage', id?: string | null, slug: string }> }; export type EventBySlugQueryVariables = Exact<{ slug: Scalars['String']['input']; @@ -1175,7 +1397,7 @@ export type EventBySlugQueryVariables = Exact<{ export type EventBySlugQuery = { __typename?: 'Query', event?: { __typename?: 'Association' } | { __typename?: 'EventIndex' } | ( { __typename?: 'EventPage' } & { ' $fragmentRefs'?: { 'EventFragment': EventFragment } } - ) | { __typename?: 'HomePage' } | { __typename?: 'Page' } | null }; + ) | { __typename?: 'HomePage' } | { __typename?: 'Page' } | { __typename?: 'VenueIndex' } | { __typename?: 'VenuePage' } | null }; export type EventFragment = { __typename: 'EventPage', id?: string | null, slug: string, title: string, facebookUrl?: string | null, ticketUrl?: string | null, priceRegular?: number | null, priceMember?: number | null, priceStudent?: number | null, body?: Array<{ __typename?: 'BlockQuoteBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'BooleanBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'CharBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ChoiceBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'DateBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'DateTimeBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'DecimalBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'DocumentChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'EmailBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'EmbedBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'FloatBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'IntegerBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ListBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'PageChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'RawHTMLBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'RegexBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'RichTextBlock', rawValue: string, value: string, id?: string | null, blockType: string, field: string } | { __typename?: 'StaticBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'StreamBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'StreamFieldBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'StructBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'TextBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'TimeBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'URLBlock', id?: string | null, blockType: string, field: string } | null> | null, featuredImage?: { __typename?: 'ImageObjectType', url: string, width: number, height: number } | null } & { ' $fragmentName'?: 'EventFragment' }; @@ -1185,7 +1407,32 @@ export type AllEventsQueryVariables = Exact<{ [key: string]: never; }>; export type AllEventsQuery = { __typename?: 'Query', events: Array<{ __typename?: 'Association' } | { __typename?: 'EventIndex' } | ( { __typename?: 'EventPage' } & { ' $fragmentRefs'?: { 'EventFragment': EventFragment } } - ) | { __typename?: 'HomePage' } | { __typename?: 'Page' }> }; + ) | { __typename?: 'HomePage' } | { __typename?: 'Page' } | { __typename?: 'VenueIndex' } | { __typename?: 'VenuePage' }> }; + +export type AllVenueSlugsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type AllVenueSlugsQuery = { __typename?: 'Query', pages: Array<{ __typename?: 'Association', id?: string | null, slug: string } | { __typename?: 'EventIndex', id?: string | null, slug: string } | { __typename?: 'EventPage', id?: string | null, slug: string } | { __typename?: 'HomePage', id?: string | null, slug: string } | { __typename?: 'Page', id?: string | null, slug: string } | { __typename?: 'VenueIndex', id?: string | null, slug: string } | { __typename?: 'VenuePage', id?: string | null, slug: string }> }; + +export type VenueBySlugQueryVariables = Exact<{ + slug: Scalars['String']['input']; +}>; + + +export type VenueBySlugQuery = { __typename?: 'Query', venue?: { __typename?: 'Association' } | { __typename?: 'EventIndex' } | { __typename?: 'EventPage' } | { __typename?: 'HomePage' } | { __typename?: 'Page' } | { __typename?: 'VenueIndex' } | ( + { __typename?: 'VenuePage' } + & { ' $fragmentRefs'?: { 'VenueFragment': VenueFragment } } + ) | null }; + +export type VenueFragment = { __typename: 'VenuePage', id?: string | null, slug: string, title: string, showAsBookable?: boolean | null, floor?: string | null, preposition?: string | null, capabilityAudio?: string | null, capabilityAudioVideo?: string | null, capabilityBar?: string | null, capabilityLighting?: string | null, capacityLegal?: string | null, capacityStanding?: string | null, capacitySitting?: string | null, body?: Array<{ __typename?: 'BlockQuoteBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'BooleanBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'CharBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ChoiceBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'DateBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'DateTimeBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'DecimalBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'DocumentChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'EmailBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'EmbedBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'FloatBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'IntegerBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ListBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'PageChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'RawHTMLBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'RegexBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'RichTextBlock', rawValue: string, value: string, id?: string | null, blockType: string, field: string } | { __typename?: 'StaticBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'StreamBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'StreamFieldBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'StructBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'TextBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'TimeBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'URLBlock', id?: string | null, blockType: string, field: string } | null> | null, featuredImage?: { __typename?: 'ImageObjectType', url: string, width: number, height: number } | null } & { ' $fragmentName'?: 'VenueFragment' }; + +export type AllVenuesQueryVariables = Exact<{ [key: string]: never; }>; + + +export type AllVenuesQuery = { __typename?: 'Query', venues: Array<{ __typename?: 'Association' } | { __typename?: 'EventIndex' } | { __typename?: 'EventPage' } | { __typename?: 'HomePage' } | { __typename?: 'Page' } | { __typename?: 'VenueIndex' } | ( + { __typename?: 'VenuePage' } + & { ' $fragmentRefs'?: { 'VenueFragment': VenueFragment } } + )> }; export type HomeQueryVariables = Exact<{ [key: string]: never; }>; @@ -1193,10 +1440,14 @@ export type HomeQueryVariables = Exact<{ [key: string]: never; }>; export type HomeQuery = { __typename?: 'Query', events: Array<{ __typename?: 'Association' } | { __typename?: 'EventIndex' } | ( { __typename?: 'EventPage' } & { ' $fragmentRefs'?: { 'EventFragment': EventFragment } } - ) | { __typename?: 'HomePage' } | { __typename?: 'Page' }> }; + ) | { __typename?: 'HomePage' } | { __typename?: 'Page' } | { __typename?: 'VenueIndex' } | { __typename?: 'VenuePage' }> }; export const EventFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Event"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RichTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"rawValue"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"width"}},{"kind":"Field","name":{"kind":"Name","value":"height"}}]}},{"kind":"Field","name":{"kind":"Name","value":"facebookUrl"}},{"kind":"Field","name":{"kind":"Name","value":"ticketUrl"}},{"kind":"Field","name":{"kind":"Name","value":"priceRegular"}},{"kind":"Field","name":{"kind":"Name","value":"priceMember"}},{"kind":"Field","name":{"kind":"Name","value":"priceStudent"}}]}}]} as unknown as DocumentNode; +export const VenueFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Venue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"VenuePage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RichTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"rawValue"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"width"}},{"kind":"Field","name":{"kind":"Name","value":"height"}}]}},{"kind":"Field","name":{"kind":"Name","value":"showAsBookable"}},{"kind":"Field","name":{"kind":"Name","value":"floor"}},{"kind":"Field","name":{"kind":"Name","value":"preposition"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityAudio"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityAudioVideo"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityBar"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityLighting"}},{"kind":"Field","name":{"kind":"Name","value":"capacityLegal"}},{"kind":"Field","name":{"kind":"Name","value":"capacityStanding"}},{"kind":"Field","name":{"kind":"Name","value":"capacitySitting"}}]}}]} as unknown as DocumentNode; export const AllEventSlugsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"allEventSlugs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"events.EventPage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]} as unknown as DocumentNode; export const EventBySlugDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"eventBySlug"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"slug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"event"},"name":{"kind":"Name","value":"page"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"events.EventPage","block":false}},{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"slug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Event"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Event"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RichTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"rawValue"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"width"}},{"kind":"Field","name":{"kind":"Name","value":"height"}}]}},{"kind":"Field","name":{"kind":"Name","value":"facebookUrl"}},{"kind":"Field","name":{"kind":"Name","value":"ticketUrl"}},{"kind":"Field","name":{"kind":"Name","value":"priceRegular"}},{"kind":"Field","name":{"kind":"Name","value":"priceMember"}},{"kind":"Field","name":{"kind":"Name","value":"priceStudent"}}]}}]} as unknown as DocumentNode; export const AllEventsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"allEvents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"events"},"name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"events.EventPage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Event"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Event"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RichTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"rawValue"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"width"}},{"kind":"Field","name":{"kind":"Name","value":"height"}}]}},{"kind":"Field","name":{"kind":"Name","value":"facebookUrl"}},{"kind":"Field","name":{"kind":"Name","value":"ticketUrl"}},{"kind":"Field","name":{"kind":"Name","value":"priceRegular"}},{"kind":"Field","name":{"kind":"Name","value":"priceMember"}},{"kind":"Field","name":{"kind":"Name","value":"priceStudent"}}]}}]} as unknown as DocumentNode; +export const AllVenueSlugsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"allVenueSlugs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"venues.VenuePage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]} as unknown as DocumentNode; +export const VenueBySlugDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"venueBySlug"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"slug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"venue"},"name":{"kind":"Name","value":"page"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"venues.VenuePage","block":false}},{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"slug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"VenuePage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Venue"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Venue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"VenuePage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RichTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"rawValue"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"width"}},{"kind":"Field","name":{"kind":"Name","value":"height"}}]}},{"kind":"Field","name":{"kind":"Name","value":"showAsBookable"}},{"kind":"Field","name":{"kind":"Name","value":"floor"}},{"kind":"Field","name":{"kind":"Name","value":"preposition"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityAudio"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityAudioVideo"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityBar"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityLighting"}},{"kind":"Field","name":{"kind":"Name","value":"capacityLegal"}},{"kind":"Field","name":{"kind":"Name","value":"capacityStanding"}},{"kind":"Field","name":{"kind":"Name","value":"capacitySitting"}}]}}]} as unknown as DocumentNode; +export const AllVenuesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"allVenues"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"venues"},"name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"venues.VenuePage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"VenuePage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Venue"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Venue"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"VenuePage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RichTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"rawValue"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"width"}},{"kind":"Field","name":{"kind":"Name","value":"height"}}]}},{"kind":"Field","name":{"kind":"Name","value":"showAsBookable"}},{"kind":"Field","name":{"kind":"Name","value":"floor"}},{"kind":"Field","name":{"kind":"Name","value":"preposition"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityAudio"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityAudioVideo"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityBar"}},{"kind":"Field","name":{"kind":"Name","value":"capabilityLighting"}},{"kind":"Field","name":{"kind":"Name","value":"capacityLegal"}},{"kind":"Field","name":{"kind":"Name","value":"capacityStanding"}},{"kind":"Field","name":{"kind":"Name","value":"capacitySitting"}}]}}]} as unknown as DocumentNode; export const HomeDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"home"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"events"},"name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"events.EventPage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Event"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Event"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RichTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"rawValue"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"width"}},{"kind":"Field","name":{"kind":"Name","value":"height"}}]}},{"kind":"Field","name":{"kind":"Name","value":"facebookUrl"}},{"kind":"Field","name":{"kind":"Name","value":"ticketUrl"}},{"kind":"Field","name":{"kind":"Name","value":"priceRegular"}},{"kind":"Field","name":{"kind":"Name","value":"priceMember"}},{"kind":"Field","name":{"kind":"Name","value":"priceStudent"}}]}}]} as unknown as DocumentNode; \ No newline at end of file