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} |
+
+
+ Bruk |
+ TODO |
+
+
+ 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 (
+
+ {venues.map((venue) => (
+
+ ))}
+
+ );
+};
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