From 355887518bd36641fcbe25402bdafb527115df9f Mon Sep 17 00:00:00 2001 From: Jonas Braathen Date: Mon, 8 Jul 2024 02:42:02 +0200 Subject: [PATCH] add support for opening hours that automatically change over time --- dnscms/dnscms/blocks.py | 8 + dnscms/dnscms/settings/base.py | 3 + .../migrations/0016_alter_genericpage_body.py | 22 ++ dnscms/openinghours/__init__.py | 0 dnscms/openinghours/apps.py | 6 + .../openinghours/migrations/0001_initial.py | 47 ++++ .../0002_alter_openinghoursitem_week.py | 20 ++ .../0003_alter_openinghoursitem_week.py | 20 ++ dnscms/openinghours/migrations/__init__.py | 0 dnscms/openinghours/models.py | 149 ++++++++++ dnscms/openinghours/tests.py | 3 + dnscms/openinghours/views.py | 3 + dnscms/poetry.lock | 16 +- dnscms/pyproject.toml | 1 + web/src/components/blocks/Blocks.tsx | 5 + .../blocks/OpeningHoursSectionBlock.tsx | 66 +++++ .../openingHoursSectionBlock.module.scss | 0 web/src/components/events/DateList.tsx | 3 +- web/src/gql/gql.ts | 20 ++ web/src/gql/graphql.ts | 185 ++++++++++++- web/src/lib/date.ts | 6 +- web/src/lib/event.ts | 11 +- web/src/lib/openinghours.ts | 258 ++++++++++++++++++ 23 files changed, 834 insertions(+), 18 deletions(-) create mode 100644 dnscms/generic/migrations/0016_alter_genericpage_body.py create mode 100644 dnscms/openinghours/__init__.py create mode 100644 dnscms/openinghours/apps.py create mode 100644 dnscms/openinghours/migrations/0001_initial.py create mode 100644 dnscms/openinghours/migrations/0002_alter_openinghoursitem_week.py create mode 100644 dnscms/openinghours/migrations/0003_alter_openinghoursitem_week.py create mode 100644 dnscms/openinghours/migrations/__init__.py create mode 100644 dnscms/openinghours/models.py create mode 100644 dnscms/openinghours/tests.py create mode 100644 dnscms/openinghours/views.py create mode 100644 web/src/components/blocks/OpeningHoursSectionBlock.tsx create mode 100644 web/src/components/blocks/openingHoursSectionBlock.module.scss create mode 100644 web/src/lib/openinghours.ts diff --git a/dnscms/dnscms/blocks.py b/dnscms/dnscms/blocks.py index cd61909..c37a744 100644 --- a/dnscms/dnscms/blocks.py +++ b/dnscms/dnscms/blocks.py @@ -169,6 +169,13 @@ class NeufAddressSectionBlock(blocks.StaticBlock): admin_text = "Viser adressen og Google-kart." +class OpeningHoursSectionBlock(blocks.StaticBlock): + class Meta: + icon = "time" + label = "Chateau Neuf: Åpningstider" + admin_text = "Viser gjeldende åpningstider." + + BASE_BLOCKS = [ ("paragraph", blocks.RichTextBlock(label="Rik tekst")), ("image", ImageWithTextBlock(label="Bilde")), @@ -199,6 +206,7 @@ class PageSectionBlock(blocks.StructBlock): [block for block in BASE_BLOCKS if block[0] != "page_section_navigation"] + [ ("neuf_address", NeufAddressSectionBlock()), + ("opening_hours", OpeningHoursSectionBlock()), ] ) diff --git a/dnscms/dnscms/settings/base.py b/dnscms/dnscms/settings/base.py index 228c433..7a96c5f 100644 --- a/dnscms/dnscms/settings/base.py +++ b/dnscms/dnscms/settings/base.py @@ -34,6 +34,7 @@ INSTALLED_APPS = [ "events", "venues", "news", + "openinghours", # end cms apps "grapple", "graphene_django", @@ -51,6 +52,7 @@ INSTALLED_APPS = [ "wagtail", "modelcluster", "taggit", + "django_extensions", "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", @@ -195,6 +197,7 @@ GRAPPLE = { "events", "venues", "news", + "openinghours", ], "EXPOSE_GRAPHIQL": True, } diff --git a/dnscms/generic/migrations/0016_alter_genericpage_body.py b/dnscms/generic/migrations/0016_alter_genericpage_body.py new file mode 100644 index 0000000..10aeddf --- /dev/null +++ b/dnscms/generic/migrations/0016_alter_genericpage_body.py @@ -0,0 +1,22 @@ +# Generated by Django 5.0.6 on 2024-07-08 00:21 + +import dnscms.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('generic', '0015_alter_genericpage_body'), + ] + + operations = [ + migrations.AlterField( + model_name='genericpage', + name='body', + field=wagtail.fields.StreamField([('paragraph', wagtail.blocks.RichTextBlock(label='Rik tekst')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Bilde')), ('image_format', wagtail.blocks.ChoiceBlock(choices=[('fullwidth', 'Fullbredde'), ('bleed', 'Utfallende'), ('original', 'Uendret størrelse')], icon='cup', label='Bildeformat')), ('text', wagtail.blocks.CharBlock(label='Bildetekst', max_length=512, required=False))], label='Bilde')), ('image_slider', wagtail.blocks.StructBlock([('images', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Bilde')), ('text', wagtail.blocks.CharBlock(label='Tekst', max_length=512, required=False))]), label='Bilder', min_num=1))], label='Bildegalleri')), ('horizontal_rule', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('deepBrick', 'Dyp tegl'), ('neufPink', 'Griserosa'), ('goldenOrange', 'Gyllen oransje'), ('goldenBeige', 'Gyllen beige'), ('chateauBlue', 'Slottsblå')], label='Farge', required=False))], label='Skillelinje')), ('featured', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Tittel', max_length=64, required=True)), ('text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link'], label='Tekst', required=True)), ('featured_page', wagtail.blocks.PageChooserBlock(header='Fremhevet side', required=True)), ('link_text', wagtail.blocks.CharBlock(default='Les mer', help_text='Lenketeksten som tar deg videre til siden. Tips: Ikke start med "Trykk her"', label='Lenketekst', max_length=64, required=True)), ('background_color', wagtail.blocks.ChoiceBlock(choices=[('betongGray', 'Betonggrå'), ('deepBrick', 'Dyp tegl'), ('neufPink', 'Griserosa'), ('goldenOrange', 'Gyllen oransje'), ('goldenBeige', 'Gyllen beige'), ('chateauBlue', 'Slottsblå')], label='Bakgrunnsfarge')), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('left', 'Venstre'), ('right', 'Høyre')], label='Bildeplassering')), ('featured_image_override', wagtail.images.blocks.ImageChooserBlock(header='Overstyr bilde', help_text='Bildet som er tilknyttet undersiden du vil fremheve, vil automatisk brukes. Om det mangler eller du vil overstyre hvilket bilde som et brukes, kan du velge et her.', required=False))], label='Fremhevet underside')), ('page_section_navigation', dnscms.blocks.PageSectionNavigationBlock()), ('page_section', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Tittel', max_length=64, required=True)), ('background_color', wagtail.blocks.ChoiceBlock(choices=[('deepBrick', 'Dyp tegl'), ('neufPink', 'Griserosa'), ('goldenOrange', 'Gyllen oransje'), ('goldenBeige', 'Gyllen beige'), ('chateauBlue', 'Slottsblå')], label='Bakgrunnsfarge', required=False)), ('body', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock(label='Rik tekst')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Bilde')), ('image_format', wagtail.blocks.ChoiceBlock(choices=[('fullwidth', 'Fullbredde'), ('bleed', 'Utfallende'), ('original', 'Uendret størrelse')], icon='cup', label='Bildeformat')), ('text', wagtail.blocks.CharBlock(label='Bildetekst', max_length=512, required=False))], label='Bilde')), ('image_slider', wagtail.blocks.StructBlock([('images', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Bilde')), ('text', wagtail.blocks.CharBlock(label='Tekst', max_length=512, required=False))]), label='Bilder', min_num=1))], label='Bildegalleri')), ('horizontal_rule', wagtail.blocks.StructBlock([('color', wagtail.blocks.ChoiceBlock(choices=[('deepBrick', 'Dyp tegl'), ('neufPink', 'Griserosa'), ('goldenOrange', 'Gyllen oransje'), ('goldenBeige', 'Gyllen beige'), ('chateauBlue', 'Slottsblå')], label='Farge', required=False))], label='Skillelinje')), ('featured', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Tittel', max_length=64, required=True)), ('text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link'], label='Tekst', required=True)), ('featured_page', wagtail.blocks.PageChooserBlock(header='Fremhevet side', required=True)), ('link_text', wagtail.blocks.CharBlock(default='Les mer', help_text='Lenketeksten som tar deg videre til siden. Tips: Ikke start med "Trykk her"', label='Lenketekst', max_length=64, required=True)), ('background_color', wagtail.blocks.ChoiceBlock(choices=[('betongGray', 'Betonggrå'), ('deepBrick', 'Dyp tegl'), ('neufPink', 'Griserosa'), ('goldenOrange', 'Gyllen oransje'), ('goldenBeige', 'Gyllen beige'), ('chateauBlue', 'Slottsblå')], label='Bakgrunnsfarge')), ('image_position', wagtail.blocks.ChoiceBlock(choices=[('left', 'Venstre'), ('right', 'Høyre')], label='Bildeplassering')), ('featured_image_override', wagtail.images.blocks.ImageChooserBlock(header='Overstyr bilde', help_text='Bildet som er tilknyttet undersiden du vil fremheve, vil automatisk brukes. Om det mangler eller du vil overstyre hvilket bilde som et brukes, kan du velge et her.', required=False))], label='Fremhevet underside')), ('neuf_address', dnscms.blocks.NeufAddressSectionBlock()), ('opening_hours', dnscms.blocks.OpeningHoursSectionBlock())]))], label='Seksjon'))]), + ), + ] diff --git a/dnscms/openinghours/__init__.py b/dnscms/openinghours/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dnscms/openinghours/apps.py b/dnscms/openinghours/apps.py new file mode 100644 index 0000000..f4c3a5c --- /dev/null +++ b/dnscms/openinghours/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class OpeninghoursConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "openinghours" diff --git a/dnscms/openinghours/migrations/0001_initial.py b/dnscms/openinghours/migrations/0001_initial.py new file mode 100644 index 0000000..62f099d --- /dev/null +++ b/dnscms/openinghours/migrations/0001_initial.py @@ -0,0 +1,47 @@ +# Generated by Django 5.0.6 on 2024-07-07 19:27 + +import django.db.models.deletion +import modelcluster.fields +import wagtail.blocks +import wagtail.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='OpeningHoursSet', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(help_text='Enkel beskrivelse av hvilken periode disse åpningstidene dekker, f.eks. Vanlige åpningstider eller Sommer 2032.', max_length=256)), + ('effective_from', models.DateField()), + ('effective_to', models.DateField(blank=True, null=True)), + ('announcement', models.TextField(blank=True, help_text='En kort notis som vil vises i forbindelse med åpningstidene, f.eks. Huset er stengt i perioden A til B.. Kan være blank.')), + ], + options={ + 'verbose_name': 'Opening hours set', + 'verbose_name_plural': 'Opening hours sets', + 'ordering': ['effective_from'], + }, + ), + migrations.CreateModel( + name='OpeningHoursItem', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sort_order', models.IntegerField(blank=True, editable=False, null=True)), + ('function', models.CharField(choices=[('glassbaren', 'Glassbaren'), ('bokcafeen', 'Bokcaféen'), ('ekspedisjonen', 'Ekspedisjonen')], default='', help_text='Hvilket lokale/funksjon?', max_length=32)), + ('week', wagtail.fields.StreamField([('monday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Mandag')), ('tuesday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Tirsdag')), ('wednesday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Onsdag')), ('thursday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Torsdag')), ('friday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Fredag')), ('saturday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Lørdag')), ('sunday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Søndag'))])), + ('opening_hours_set', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='items', to='openinghours.openinghoursset')), + ], + options={ + 'ordering': ['sort_order'], + 'abstract': False, + }, + ), + ] diff --git a/dnscms/openinghours/migrations/0002_alter_openinghoursitem_week.py b/dnscms/openinghours/migrations/0002_alter_openinghoursitem_week.py new file mode 100644 index 0000000..8b2091d --- /dev/null +++ b/dnscms/openinghours/migrations/0002_alter_openinghoursitem_week.py @@ -0,0 +1,20 @@ +# Generated by Django 5.0.6 on 2024-07-07 19:34 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('openinghours', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='openinghoursitem', + name='week', + field=wagtail.fields.StreamField([('days', wagtail.blocks.StructBlock([('monday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Mandag')), ('tuesday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Tirsdag')), ('wednesday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Onsdag')), ('thursday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Torsdag')), ('friday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Fredag')), ('saturday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Lørdag')), ('sunday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Søndag'))]))]), + ), + ] diff --git a/dnscms/openinghours/migrations/0003_alter_openinghoursitem_week.py b/dnscms/openinghours/migrations/0003_alter_openinghoursitem_week.py new file mode 100644 index 0000000..3103611 --- /dev/null +++ b/dnscms/openinghours/migrations/0003_alter_openinghoursitem_week.py @@ -0,0 +1,20 @@ +# Generated by Django 5.0.6 on 2024-07-08 00:21 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('openinghours', '0002_alter_openinghoursitem_week'), + ] + + operations = [ + migrations.AlterField( + model_name='openinghoursitem', + name='week', + field=wagtail.fields.StreamField([('week', wagtail.blocks.StructBlock([('monday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Mandag')), ('tuesday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Tirsdag')), ('wednesday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Onsdag')), ('thursday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Torsdag')), ('friday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Fredag')), ('saturday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Lørdag')), ('sunday', wagtail.blocks.StructBlock([('time_from', wagtail.blocks.TimeBlock(label='Åpner', required=False)), ('time_to', wagtail.blocks.TimeBlock(label='Stenger', required=False)), ('custom', wagtail.blocks.CharBlock(help_text='Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement', label='Fritekst', required=False))], label='Søndag'))]))]), + ), + ] diff --git a/dnscms/openinghours/migrations/__init__.py b/dnscms/openinghours/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dnscms/openinghours/models.py b/dnscms/openinghours/models.py new file mode 100644 index 0000000..b983de4 --- /dev/null +++ b/dnscms/openinghours/models.py @@ -0,0 +1,149 @@ +from django.db import models +from django.utils.safestring import mark_safe +from grapple.helpers import register_query_field, register_streamfield_block +from grapple.models import GraphQLForeignKey, GraphQLStreamfield, GraphQLString +from modelcluster.fields import ParentalKey +from modelcluster.models import ClusterableModel +from wagtail import blocks +from wagtail.admin.panels import FieldPanel, InlinePanel, MultiFieldPanel, TitleFieldPanel +from wagtail.models import Orderable, StreamField +from wagtail.snippets.models import register_snippet + + +@register_streamfield_block +class OpeningHoursRangeBlock(blocks.StructBlock): + # closed = blocks.BooleanBlock(required=False, help_text="Kryss av her om lokalet er stengt.") + # blocks.RegexBlock(regex=r'^\d\d:\d\d$', error_messages={'invalid': 'Må være på formatet HH:MM'}, help_text="Tidspunkt på formatet HH:MM") + time_from = blocks.TimeBlock(required=False, label="Åpner") + time_to = blocks.TimeBlock(required=False, label="Stenger") + custom = blocks.CharBlock( + required=False, + label="Fritekst", + help_text=mark_safe( + "Tekst som vises istedenfor tidspunkter. F.eks. Åpent ved arrangement" + ), + ) + + graphql_fields = [ + GraphQLString("time_from", required=False), + GraphQLString("time_to", required=False), + GraphQLString("custom", required=False), + ] + + +@register_streamfield_block +class OpeningHoursWeekBlock(blocks.StructBlock): + monday = OpeningHoursRangeBlock(label="Mandag") + tuesday = OpeningHoursRangeBlock(label="Tirsdag") + wednesday = OpeningHoursRangeBlock(label="Onsdag") + thursday = OpeningHoursRangeBlock(label="Torsdag") + friday = OpeningHoursRangeBlock(label="Fredag") + saturday = OpeningHoursRangeBlock(label="Lørdag") + sunday = OpeningHoursRangeBlock(label="Søndag") + + graphql_fields = [ + GraphQLStreamfield("monday", required=False, is_list=False), + GraphQLStreamfield("tuesday", required=False, is_list=False), + GraphQLStreamfield("wednesday", required=False, is_list=False), + GraphQLStreamfield("thursday", required=False, is_list=False), + GraphQLStreamfield("friday", required=False, is_list=False), + GraphQLStreamfield("saturday", required=False, is_list=False), + GraphQLStreamfield("sunday", required=False, is_list=False), + ] + + +class OpeningHoursItem(Orderable): + FUNCTION_CHOICES = [ + ("glassbaren", "Glassbaren"), + ("bokcafeen", "Bokcaféen"), + ("ekspedisjonen", "Ekspedisjonen"), + ] + WEEKDAYS = ( + ("monday", "Mandag"), + ("tuesday", "Tirsdag"), + ("wednesday", "Onsdag"), + ("thursday", "Torsdag"), + ("friday", "Fredag"), + ("saturday", "Lørdag"), + ("sunday", "Søndag"), + ) + + opening_hours_set = ParentalKey( + "openinghours.OpeningHoursSet", on_delete=models.CASCADE, related_name="items" + ) + function = models.CharField( + max_length=32, + default="", + choices=FUNCTION_CHOICES, + blank=False, + help_text="Hvilket lokale/funksjon?", + ) + + week = StreamField( + [("week", OpeningHoursWeekBlock())], + min_num=1, + max_num=1, + ) + + panels = [ + FieldPanel("function"), + FieldPanel("week"), + ] + + graphql_fields = [ + GraphQLString("function", required=True), + GraphQLStreamfield("week", required=False), + ] + + +@register_snippet +@register_query_field("openingHoursSet", "openingHoursSets") +class OpeningHoursSet(ClusterableModel): + name = models.CharField( + max_length=256, + null=False, + blank=False, + help_text=mark_safe( + "Enkel beskrivelse av hvilken periode disse åpningstidene dekker, " + "f.eks. Vanlige åpningstider eller Sommer 2032." + ), + ) + effective_from = models.DateField(null=False, blank=False) + effective_to = models.DateField(null=True, blank=True) + + announcement = models.TextField( + blank=True, + help_text=mark_safe( + "En kort notis som vil vises i forbindelse med åpningstidene, " + "f.eks. Huset er stengt i perioden A til B.. Kan være blank." + ), + ) + + panels = [ + TitleFieldPanel("name"), + FieldPanel("announcement"), + MultiFieldPanel( + heading="Gyldighet", + children=[ + FieldPanel("effective_from", heading="Fra"), + FieldPanel("effective_to", heading="Til"), + ], + ), + InlinePanel("items", label="Lokaler/funksjoner"), + ] + + graphql_fields = [ + GraphQLString("name", required=True), + GraphQLString("announcement", required=False), + GraphQLString("effective_from", required=True), + GraphQLString("effective_to", required=False), + GraphQLForeignKey("items", "openinghours.OpeningHoursItem", required=False, is_list=True), + ] + + class Meta: + verbose_name = "Opening hours set" + verbose_name_plural = "Opening hours sets" + ordering = ["effective_from"] + + def __str__(self): + return f"{self.name} ({self.effective_from} - {self.effective_to or '∞'})" diff --git a/dnscms/openinghours/tests.py b/dnscms/openinghours/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/dnscms/openinghours/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/dnscms/openinghours/views.py b/dnscms/openinghours/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/dnscms/openinghours/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/dnscms/poetry.lock b/dnscms/poetry.lock index 897141f..24edf97 100644 --- a/dnscms/poetry.lock +++ b/dnscms/poetry.lock @@ -201,6 +201,20 @@ tzdata = {version = "*", markers = "sys_platform == \"win32\""} argon2 = ["argon2-cffi (>=19.1.0)"] bcrypt = ["bcrypt"] +[[package]] +name = "django-extensions" +version = "3.2.3" +description = "Extensions for Django" +optional = false +python-versions = ">=3.6" +files = [ + {file = "django-extensions-3.2.3.tar.gz", hash = "sha256:44d27919d04e23b3f40231c4ab7af4e61ce832ef46d610cc650d53e68328410a"}, + {file = "django_extensions-3.2.3-py3-none-any.whl", hash = "sha256:9600b7562f79a92cbf1fde6403c04fee314608fefbb595502e34383ae8203401"}, +] + +[package.dependencies] +Django = ">=3.2" + [[package]] name = "django-filter" version = "24.2" @@ -960,4 +974,4 @@ wand = ["Wand (>=0.6,<1.0)"] [metadata] lock-version = "2.0" python-versions = "^3.12" -content-hash = "24cb4c360211d1c02576389f51d3ba863b0da6ef2800e39e716ff4bf1f8f8a16" +content-hash = "2e3e69272f994e66fb5e9e8b50e9925e99a11e0ca45d6a60814e499c3bdd9229" diff --git a/dnscms/pyproject.toml b/dnscms/pyproject.toml index 756f611..410e34f 100644 --- a/dnscms/pyproject.toml +++ b/dnscms/pyproject.toml @@ -11,6 +11,7 @@ wagtail = "^6.0.1" django = "^5.0.4" wagtail-grapple = "^0.25.1" psycopg2-binary = "^2.9.9" +django-extensions = "^3.2.3" [tool.poetry.group.dev.dependencies] ruff = "*" diff --git a/web/src/components/blocks/Blocks.tsx b/web/src/components/blocks/Blocks.tsx index c372c38..075dcdc 100644 --- a/web/src/components/blocks/Blocks.tsx +++ b/web/src/components/blocks/Blocks.tsx @@ -8,6 +8,8 @@ import { ContactSectionBlock, ContactSubsectionBlock } from "./ContactSection"; import { ContactListBlock } from "./ContactListBlock"; import { ContactEntityBlock } from "./ContactEntityBlock"; import { NeufAddressSectionBlock } from "./NeufAddressSectionBlock"; +import { OpeningHoursSectionBlock } from "./OpeningHoursSectionBlock"; + export const Blocks = ({ blocks }: any) => { const sections = blocks.filter( @@ -52,6 +54,9 @@ export const Blocks = ({ blocks }: any) => { case "NeufAddressSectionBlock": return ; break; + case "OpeningHoursSectionBlock": + return ; + break; default: return
Unsupported block type {block.blockType}
; console.log("unsupported block", block); diff --git a/web/src/components/blocks/OpeningHoursSectionBlock.tsx b/web/src/components/blocks/OpeningHoursSectionBlock.tsx new file mode 100644 index 0000000..f8a7d7b --- /dev/null +++ b/web/src/components/blocks/OpeningHoursSectionBlock.tsx @@ -0,0 +1,66 @@ +import { + getOpeningHours, + getOpeningHoursForFunction, + getPrettyOpeningHoursForFunction, + groupOpeningHours, + PrettyOpeningHours, +} from "@/lib/openinghours"; +import styles from "./openingHoursSectionBlock.module.scss"; + +function OpeningHoursSubsection({ + title, + prettyHours, +}: { + title: string; + prettyHours: PrettyOpeningHours[]; +}) { + return ( +
+

{title}

+
    + {prettyHours.map(({ range, time, custom }) => ( +
  • + {range}:  + {time && {time}} + {custom && {custom}} + {!time && !custom && Stengt} +
  • + ))} +
+
+ ); +} + +export async function OpeningHoursSectionBlock() { + const allOpeningHours = await getOpeningHours(); + const subsections = [ + ["glassbaren", "Glassbaren"], + ["bokcafeen", "Bokcaféen"], + ["ekspedisjonen", "Ekspedisjonen"], + ]; + const { announcement } = allOpeningHours; + + return ( +
+ {announcement &&

{announcement}

} + {subsections.map((subsection) => { + const [slug, title] = subsection; + const prettyHours = getPrettyOpeningHoursForFunction( + allOpeningHours, + slug + ); + console.log("prettyHours", prettyHours, slug); + if (!prettyHours || prettyHours?.length === 0) { + return <>; + } + return ( + + ); + })} +
+ ); +} diff --git a/web/src/components/blocks/openingHoursSectionBlock.module.scss b/web/src/components/blocks/openingHoursSectionBlock.module.scss new file mode 100644 index 0000000..e69de29 diff --git a/web/src/components/events/DateList.tsx b/web/src/components/events/DateList.tsx index 00db7ae..6b98ebe 100644 --- a/web/src/components/events/DateList.tsx +++ b/web/src/components/events/DateList.tsx @@ -5,8 +5,9 @@ import { formatDate, formatExtendedDateTime, isTodayOrFuture, + compareDates, } from "@/lib/date"; -import { EventFragment, EventOccurrence, compareDates } from "@/lib/event"; +import { EventFragment, EventOccurrence } from "@/lib/event"; import styles from "./dateList.module.scss"; import Link from "next/link"; diff --git a/web/src/gql/gql.ts b/web/src/gql/gql.ts index b075a40..f740265 100644 --- a/web/src/gql/gql.ts +++ b/web/src/gql/gql.ts @@ -42,6 +42,10 @@ const documents = { "\n fragment News on NewsPage {\n __typename\n id\n slug\n title\n firstPublishedAt\n excerpt\n featuredImage {\n ...Image\n }\n body {\n ...Blocks\n }\n }\n": types.NewsFragmentDoc, "\n fragment NewsIndex on NewsIndex {\n __typename\n id\n slug\n title\n lead\n }\n": types.NewsIndexFragmentDoc, "\n query news {\n index: newsIndex {\n ... on NewsIndex {\n ...NewsIndex\n }\n }\n news: pages(contentType: \"news.NewsPage\") {\n ... on NewsPage {\n ...News\n }\n }\n }\n": types.NewsDocument, + "\n query openingHoursSets {\n openingHoursSets {\n ...OpeningHoursSetFragment\n }\n }\n": types.OpeningHoursSetsDocument, + "\n fragment OpeningHoursSetFragment on OpeningHoursSet {\n name\n effectiveFrom\n effectiveTo\n announcement\n items {\n id\n function\n week {\n id\n blockType\n ... on OpeningHoursWeekBlock {\n ...OpeningHoursWeekBlock\n }\n }\n }\n }\n": types.OpeningHoursSetFragmentFragmentDoc, + "\n fragment OpeningHoursRangeBlock on OpeningHoursRangeBlock {\n timeFrom\n timeTo\n custom\n }\n": types.OpeningHoursRangeBlockFragmentDoc, + "\n fragment OpeningHoursWeekBlock on OpeningHoursWeekBlock {\n monday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n tuesday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n wednesday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n thursday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n friday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n saturday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n sunday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n }\n": types.OpeningHoursWeekBlockFragmentDoc, }; /** @@ -174,6 +178,22 @@ export function graphql(source: "\n fragment NewsIndex on NewsIndex {\n __ty * 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 news {\n index: newsIndex {\n ... on NewsIndex {\n ...NewsIndex\n }\n }\n news: pages(contentType: \"news.NewsPage\") {\n ... on NewsPage {\n ...News\n }\n }\n }\n"): (typeof documents)["\n query news {\n index: newsIndex {\n ... on NewsIndex {\n ...NewsIndex\n }\n }\n news: pages(contentType: \"news.NewsPage\") {\n ... on NewsPage {\n ...News\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 openingHoursSets {\n openingHoursSets {\n ...OpeningHoursSetFragment\n }\n }\n"): (typeof documents)["\n query openingHoursSets {\n openingHoursSets {\n ...OpeningHoursSetFragment\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 OpeningHoursSetFragment on OpeningHoursSet {\n name\n effectiveFrom\n effectiveTo\n announcement\n items {\n id\n function\n week {\n id\n blockType\n ... on OpeningHoursWeekBlock {\n ...OpeningHoursWeekBlock\n }\n }\n }\n }\n"): (typeof documents)["\n fragment OpeningHoursSetFragment on OpeningHoursSet {\n name\n effectiveFrom\n effectiveTo\n announcement\n items {\n id\n function\n week {\n id\n blockType\n ... on OpeningHoursWeekBlock {\n ...OpeningHoursWeekBlock\n }\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 OpeningHoursRangeBlock on OpeningHoursRangeBlock {\n timeFrom\n timeTo\n custom\n }\n"): (typeof documents)["\n fragment OpeningHoursRangeBlock on OpeningHoursRangeBlock {\n timeFrom\n timeTo\n custom\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 OpeningHoursWeekBlock on OpeningHoursWeekBlock {\n monday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n tuesday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n wednesday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n thursday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n friday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n saturday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n sunday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n }\n"): (typeof documents)["\n fragment OpeningHoursWeekBlock on OpeningHoursWeekBlock {\n monday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n tuesday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n wednesday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n thursday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n friday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n saturday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n sunday {\n ... on OpeningHoursRangeBlock {\n ...OpeningHoursRangeBlock\n }\n }\n }\n"]; export function graphql(source: string) { return (documents as any)[source] ?? {}; diff --git a/web/src/gql/graphql.ts b/web/src/gql/graphql.ts index 7722732..f742ba7 100644 --- a/web/src/gql/graphql.ts +++ b/web/src/gql/graphql.ts @@ -1428,6 +1428,51 @@ export type NewsPageSiblingsArgs = { searchQuery?: InputMaybe; }; +export type OpeningHoursItem = { + __typename?: 'OpeningHoursItem'; + function: Scalars['String']['output']; + id?: Maybe; + week?: Maybe>>; +}; + +export type OpeningHoursRangeBlock = StreamFieldInterface & { + __typename?: 'OpeningHoursRangeBlock'; + blockType: Scalars['String']['output']; + blocks: Array; + custom?: Maybe; + field: Scalars['String']['output']; + id?: Maybe; + rawValue: Scalars['String']['output']; + timeFrom?: Maybe; + timeTo?: Maybe; +}; + +export type OpeningHoursSet = { + __typename?: 'OpeningHoursSet'; + announcement?: Maybe; + effectiveFrom: Scalars['String']['output']; + effectiveTo?: Maybe; + id?: Maybe; + items?: Maybe>>; + name: Scalars['String']['output']; +}; + +export type OpeningHoursWeekBlock = StreamFieldInterface & { + __typename?: 'OpeningHoursWeekBlock'; + blockType: Scalars['String']['output']; + blocks: Array; + field: Scalars['String']['output']; + friday?: Maybe; + id?: Maybe; + monday?: Maybe; + rawValue: Scalars['String']['output']; + saturday?: Maybe; + sunday?: Maybe; + thursday?: Maybe; + tuesday?: Maybe; + wednesday?: Maybe; +}; + /** * Base Page type used if one isn't generated for the current model. * All other node types extend this. @@ -1681,6 +1726,8 @@ export type Query = { imageType: Scalars['String']['output']; images: Array; newsIndex?: Maybe; + openingHoursSet?: Maybe; + openingHoursSets?: Maybe>>; page?: Maybe; pages: Array; redirects: Array; @@ -1796,6 +1843,20 @@ export type QueryNewsIndexArgs = { }; +export type QueryOpeningHoursSetArgs = { + id?: InputMaybe; +}; + + +export type QueryOpeningHoursSetsArgs = { + id?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + order?: InputMaybe; + searchQuery?: InputMaybe; +}; + + export type QueryPageArgs = { contentType?: InputMaybe; id?: InputMaybe; @@ -1905,7 +1966,7 @@ export type RichTextBlock = StreamFieldInterface & { value: Scalars['String']['output']; }; -export type Search = AssociationIndex | AssociationPage | ContactEntity | ContactIndex | CustomImage | EventCategory | EventIndex | EventOccurrence | EventOrganizer | EventOrganizerLink | EventPage | GenericPage | HomePage | HomePageFeaturedEvents | NewsIndex | NewsPage | Page | Rendition | VenueIndex | VenuePage; +export type Search = AssociationIndex | AssociationPage | ContactEntity | ContactIndex | CustomImage | EventCategory | EventIndex | EventOccurrence | EventOrganizer | EventOrganizerLink | EventPage | GenericPage | HomePage | HomePageFeaturedEvents | NewsIndex | NewsPage | OpeningHoursItem | OpeningHoursSet | Page | Rendition | VenueIndex | VenuePage; export type SiteObjectType = { __typename?: 'SiteObjectType'; @@ -2313,6 +2374,12 @@ export type GenericFragment = { __typename: 'GenericPage', id?: string | null, u ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'Blocks_ListBlock_Fragment': Blocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursRangeBlock_Fragment': Blocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursWeekBlock_Fragment': Blocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'Blocks_PageChooserBlock_Fragment': Blocks_PageChooserBlock_Fragment } } @@ -2480,6 +2547,12 @@ export type AssociationIndexFragment = { __typename?: 'AssociationIndex', title: ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'Blocks_ListBlock_Fragment': Blocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursRangeBlock_Fragment': Blocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursWeekBlock_Fragment': Blocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'Blocks_PageChooserBlock_Fragment': Blocks_PageChooserBlock_Fragment } } @@ -2587,6 +2660,12 @@ export type AssociationFragment = { __typename: 'AssociationPage', id?: string | ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'Blocks_ListBlock_Fragment': Blocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursRangeBlock_Fragment': Blocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursWeekBlock_Fragment': Blocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'Blocks_PageChooserBlock_Fragment': Blocks_PageChooserBlock_Fragment } } @@ -2705,6 +2784,12 @@ export type ContactIndexFragment = { __typename?: 'ContactIndex', title: string, ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'Blocks_ListBlock_Fragment': Blocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursRangeBlock_Fragment': Blocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursWeekBlock_Fragment': Blocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'Blocks_PageChooserBlock_Fragment': Blocks_PageChooserBlock_Fragment } } @@ -2835,6 +2920,12 @@ export type VenueFragment = { __typename: 'VenuePage', id?: string | null, slug: ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'Blocks_ListBlock_Fragment': Blocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursRangeBlock_Fragment': Blocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursWeekBlock_Fragment': Blocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'Blocks_PageChooserBlock_Fragment': Blocks_PageChooserBlock_Fragment } } @@ -2913,7 +3004,7 @@ type OneLevelOfBlocks_ContactEntityBlock_Fragment = { __typename?: 'ContactEntit type OneLevelOfBlocks_ContactListBlock_Fragment = { __typename?: 'ContactListBlock', id?: string | null, blockType: string, field: string, items: Array<{ __typename?: 'BlockQuoteBlock', blockType: string } | { __typename?: 'BooleanBlock', blockType: string } | { __typename?: 'CharBlock', blockType: string } | { __typename?: 'ChoiceBlock', blockType: string } | { __typename?: 'ContactEntityBlock', blockType: string, contactEntity?: ( { __typename?: 'ContactEntity' } & { ' $fragmentRefs'?: { 'ContactEntityFragment': ContactEntityFragment } } - ) | null } | { __typename?: 'ContactListBlock', blockType: string } | { __typename?: 'ContactSectionBlock', blockType: string } | { __typename?: 'ContactSubsectionBlock', blockType: string } | { __typename?: 'DateBlock', blockType: string } | { __typename?: 'DateTimeBlock', blockType: string } | { __typename?: 'DecimalBlock', blockType: string } | { __typename?: 'DocumentChooserBlock', blockType: string } | { __typename?: 'EmailBlock', blockType: string } | { __typename?: 'EmbedBlock', blockType: string } | { __typename?: 'FeaturedBlock', blockType: string } | { __typename?: 'FloatBlock', blockType: string } | { __typename?: 'HorizontalRuleBlock', blockType: string } | { __typename?: 'ImageChooserBlock', blockType: string } | { __typename?: 'ImageSliderBlock', blockType: string } | { __typename?: 'ImageSliderItemBlock', blockType: string } | { __typename?: 'ImageWithTextBlock', blockType: string } | { __typename?: 'IntegerBlock', blockType: string } | { __typename?: 'ListBlock', blockType: string } | { __typename?: 'PageChooserBlock', blockType: string } | { __typename?: 'PageSectionBlock', blockType: string } | { __typename?: 'RawHTMLBlock', blockType: string } | { __typename?: 'RegexBlock', blockType: string } | { __typename?: 'RichTextBlock', blockType: string } | { __typename?: 'StaticBlock', blockType: string } | { __typename?: 'StreamBlock', blockType: string } | { __typename?: 'StreamFieldBlock', blockType: string } | { __typename?: 'StructBlock', blockType: string } | { __typename?: 'TextBlock', blockType: string } | { __typename?: 'TimeBlock', blockType: string } | { __typename?: 'URLBlock', blockType: string }> } & { ' $fragmentName'?: 'OneLevelOfBlocks_ContactListBlock_Fragment' }; + ) | null } | { __typename?: 'ContactListBlock', blockType: string } | { __typename?: 'ContactSectionBlock', blockType: string } | { __typename?: 'ContactSubsectionBlock', blockType: string } | { __typename?: 'DateBlock', blockType: string } | { __typename?: 'DateTimeBlock', blockType: string } | { __typename?: 'DecimalBlock', blockType: string } | { __typename?: 'DocumentChooserBlock', blockType: string } | { __typename?: 'EmailBlock', blockType: string } | { __typename?: 'EmbedBlock', blockType: string } | { __typename?: 'FeaturedBlock', blockType: string } | { __typename?: 'FloatBlock', blockType: string } | { __typename?: 'HorizontalRuleBlock', blockType: string } | { __typename?: 'ImageChooserBlock', blockType: string } | { __typename?: 'ImageSliderBlock', blockType: string } | { __typename?: 'ImageSliderItemBlock', blockType: string } | { __typename?: 'ImageWithTextBlock', blockType: string } | { __typename?: 'IntegerBlock', blockType: string } | { __typename?: 'ListBlock', blockType: string } | { __typename?: 'OpeningHoursRangeBlock', blockType: string } | { __typename?: 'OpeningHoursWeekBlock', blockType: string } | { __typename?: 'PageChooserBlock', blockType: string } | { __typename?: 'PageSectionBlock', blockType: string } | { __typename?: 'RawHTMLBlock', blockType: string } | { __typename?: 'RegexBlock', blockType: string } | { __typename?: 'RichTextBlock', blockType: string } | { __typename?: 'StaticBlock', blockType: string } | { __typename?: 'StreamBlock', blockType: string } | { __typename?: 'StreamFieldBlock', blockType: string } | { __typename?: 'StructBlock', blockType: string } | { __typename?: 'TextBlock', blockType: string } | { __typename?: 'TimeBlock', blockType: string } | { __typename?: 'URLBlock', blockType: string }> } & { ' $fragmentName'?: 'OneLevelOfBlocks_ContactListBlock_Fragment' }; type OneLevelOfBlocks_ContactSectionBlock_Fragment = { __typename?: 'ContactSectionBlock', id?: string | null, blockType: string, field: string } & { ' $fragmentName'?: 'OneLevelOfBlocks_ContactSectionBlock_Fragment' }; @@ -2951,7 +3042,7 @@ type OneLevelOfBlocks_ImageChooserBlock_Fragment = { __typename?: 'ImageChooserB type OneLevelOfBlocks_ImageSliderBlock_Fragment = { __typename?: 'ImageSliderBlock', id?: string | null, blockType: string, field: string, images?: Array<{ __typename?: 'BlockQuoteBlock' } | { __typename?: 'BooleanBlock' } | { __typename?: 'CharBlock' } | { __typename?: 'ChoiceBlock' } | { __typename?: 'ContactEntityBlock' } | { __typename?: 'ContactListBlock' } | { __typename?: 'ContactSectionBlock' } | { __typename?: 'ContactSubsectionBlock' } | { __typename?: 'DateBlock' } | { __typename?: 'DateTimeBlock' } | { __typename?: 'DecimalBlock' } | { __typename?: 'DocumentChooserBlock' } | { __typename?: 'EmailBlock' } | { __typename?: 'EmbedBlock' } | { __typename?: 'FeaturedBlock' } | { __typename?: 'FloatBlock' } | { __typename?: 'HorizontalRuleBlock' } | { __typename?: 'ImageChooserBlock' } | { __typename?: 'ImageSliderBlock' } | { __typename?: 'ImageSliderItemBlock', text?: string | null, image: ( { __typename?: 'CustomImage' } & { ' $fragmentRefs'?: { 'ImageFragment': ImageFragment } } - ) } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null> | null } & { ' $fragmentName'?: 'OneLevelOfBlocks_ImageSliderBlock_Fragment' }; + ) } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | { __typename?: 'OpeningHoursRangeBlock' } | { __typename?: 'OpeningHoursWeekBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null> | null } & { ' $fragmentName'?: 'OneLevelOfBlocks_ImageSliderBlock_Fragment' }; type OneLevelOfBlocks_ImageSliderItemBlock_Fragment = { __typename?: 'ImageSliderItemBlock', id?: string | null, blockType: string, field: string } & { ' $fragmentName'?: 'OneLevelOfBlocks_ImageSliderItemBlock_Fragment' }; @@ -2964,6 +3055,10 @@ type OneLevelOfBlocks_IntegerBlock_Fragment = { __typename?: 'IntegerBlock', id? type OneLevelOfBlocks_ListBlock_Fragment = { __typename?: 'ListBlock', id?: string | null, blockType: string, field: string } & { ' $fragmentName'?: 'OneLevelOfBlocks_ListBlock_Fragment' }; +type OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment = { __typename?: 'OpeningHoursRangeBlock', id?: string | null, blockType: string, field: string } & { ' $fragmentName'?: 'OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment' }; + +type OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment = { __typename?: 'OpeningHoursWeekBlock', id?: string | null, blockType: string, field: string } & { ' $fragmentName'?: 'OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment' }; + type OneLevelOfBlocks_PageChooserBlock_Fragment = { __typename?: 'PageChooserBlock', id?: string | null, blockType: string, field: string } & { ' $fragmentName'?: 'OneLevelOfBlocks_PageChooserBlock_Fragment' }; type OneLevelOfBlocks_PageSectionBlock_Fragment = { __typename?: 'PageSectionBlock', id?: string | null, blockType: string, field: string } & { ' $fragmentName'?: 'OneLevelOfBlocks_PageSectionBlock_Fragment' }; @@ -2988,7 +3083,7 @@ type OneLevelOfBlocks_TimeBlock_Fragment = { __typename?: 'TimeBlock', id?: stri type OneLevelOfBlocks_UrlBlock_Fragment = { __typename?: 'URLBlock', id?: string | null, blockType: string, field: string } & { ' $fragmentName'?: 'OneLevelOfBlocks_UrlBlock_Fragment' }; -export type OneLevelOfBlocksFragment = OneLevelOfBlocks_BlockQuoteBlock_Fragment | OneLevelOfBlocks_BooleanBlock_Fragment | OneLevelOfBlocks_CharBlock_Fragment | OneLevelOfBlocks_ChoiceBlock_Fragment | OneLevelOfBlocks_ContactEntityBlock_Fragment | OneLevelOfBlocks_ContactListBlock_Fragment | OneLevelOfBlocks_ContactSectionBlock_Fragment | OneLevelOfBlocks_ContactSubsectionBlock_Fragment | OneLevelOfBlocks_DateBlock_Fragment | OneLevelOfBlocks_DateTimeBlock_Fragment | OneLevelOfBlocks_DecimalBlock_Fragment | OneLevelOfBlocks_DocumentChooserBlock_Fragment | OneLevelOfBlocks_EmailBlock_Fragment | OneLevelOfBlocks_EmbedBlock_Fragment | OneLevelOfBlocks_FeaturedBlock_Fragment | OneLevelOfBlocks_FloatBlock_Fragment | OneLevelOfBlocks_HorizontalRuleBlock_Fragment | OneLevelOfBlocks_ImageChooserBlock_Fragment | OneLevelOfBlocks_ImageSliderBlock_Fragment | OneLevelOfBlocks_ImageSliderItemBlock_Fragment | OneLevelOfBlocks_ImageWithTextBlock_Fragment | OneLevelOfBlocks_IntegerBlock_Fragment | OneLevelOfBlocks_ListBlock_Fragment | OneLevelOfBlocks_PageChooserBlock_Fragment | OneLevelOfBlocks_PageSectionBlock_Fragment | OneLevelOfBlocks_RawHtmlBlock_Fragment | OneLevelOfBlocks_RegexBlock_Fragment | OneLevelOfBlocks_RichTextBlock_Fragment | OneLevelOfBlocks_StaticBlock_Fragment | OneLevelOfBlocks_StreamBlock_Fragment | OneLevelOfBlocks_StreamFieldBlock_Fragment | OneLevelOfBlocks_StructBlock_Fragment | OneLevelOfBlocks_TextBlock_Fragment | OneLevelOfBlocks_TimeBlock_Fragment | OneLevelOfBlocks_UrlBlock_Fragment; +export type OneLevelOfBlocksFragment = OneLevelOfBlocks_BlockQuoteBlock_Fragment | OneLevelOfBlocks_BooleanBlock_Fragment | OneLevelOfBlocks_CharBlock_Fragment | OneLevelOfBlocks_ChoiceBlock_Fragment | OneLevelOfBlocks_ContactEntityBlock_Fragment | OneLevelOfBlocks_ContactListBlock_Fragment | OneLevelOfBlocks_ContactSectionBlock_Fragment | OneLevelOfBlocks_ContactSubsectionBlock_Fragment | OneLevelOfBlocks_DateBlock_Fragment | OneLevelOfBlocks_DateTimeBlock_Fragment | OneLevelOfBlocks_DecimalBlock_Fragment | OneLevelOfBlocks_DocumentChooserBlock_Fragment | OneLevelOfBlocks_EmailBlock_Fragment | OneLevelOfBlocks_EmbedBlock_Fragment | OneLevelOfBlocks_FeaturedBlock_Fragment | OneLevelOfBlocks_FloatBlock_Fragment | OneLevelOfBlocks_HorizontalRuleBlock_Fragment | OneLevelOfBlocks_ImageChooserBlock_Fragment | OneLevelOfBlocks_ImageSliderBlock_Fragment | OneLevelOfBlocks_ImageSliderItemBlock_Fragment | OneLevelOfBlocks_ImageWithTextBlock_Fragment | OneLevelOfBlocks_IntegerBlock_Fragment | OneLevelOfBlocks_ListBlock_Fragment | OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment | OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment | OneLevelOfBlocks_PageChooserBlock_Fragment | OneLevelOfBlocks_PageSectionBlock_Fragment | OneLevelOfBlocks_RawHtmlBlock_Fragment | OneLevelOfBlocks_RegexBlock_Fragment | OneLevelOfBlocks_RichTextBlock_Fragment | OneLevelOfBlocks_StaticBlock_Fragment | OneLevelOfBlocks_StreamBlock_Fragment | OneLevelOfBlocks_StreamFieldBlock_Fragment | OneLevelOfBlocks_StructBlock_Fragment | OneLevelOfBlocks_TextBlock_Fragment | OneLevelOfBlocks_TimeBlock_Fragment | OneLevelOfBlocks_UrlBlock_Fragment; type Blocks_BlockQuoteBlock_Fragment = ( { __typename?: 'BlockQuoteBlock' } @@ -3112,6 +3207,12 @@ type Blocks_ContactSectionBlock_Fragment = ( ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_ListBlock_Fragment': OneLevelOfBlocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment': OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment': OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_PageChooserBlock_Fragment': OneLevelOfBlocks_PageChooserBlock_Fragment } } @@ -3195,6 +3296,12 @@ type Blocks_ContactSectionBlock_Fragment = ( ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_ListBlock_Fragment': OneLevelOfBlocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment': OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment': OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_PageChooserBlock_Fragment': OneLevelOfBlocks_PageChooserBlock_Fragment } } @@ -3315,6 +3422,16 @@ type Blocks_ListBlock_Fragment = ( & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_ListBlock_Fragment': OneLevelOfBlocks_ListBlock_Fragment } } ) & { ' $fragmentName'?: 'Blocks_ListBlock_Fragment' }; +type Blocks_OpeningHoursRangeBlock_Fragment = ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment': OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment } } +) & { ' $fragmentName'?: 'Blocks_OpeningHoursRangeBlock_Fragment' }; + +type Blocks_OpeningHoursWeekBlock_Fragment = ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment': OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment } } +) & { ' $fragmentName'?: 'Blocks_OpeningHoursWeekBlock_Fragment' }; + type Blocks_PageChooserBlock_Fragment = ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_PageChooserBlock_Fragment': OneLevelOfBlocks_PageChooserBlock_Fragment } } @@ -3390,6 +3507,12 @@ type Blocks_PageSectionBlock_Fragment = ( ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_ListBlock_Fragment': OneLevelOfBlocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment': OneLevelOfBlocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment': OneLevelOfBlocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_PageChooserBlock_Fragment': OneLevelOfBlocks_PageChooserBlock_Fragment } } @@ -3480,7 +3603,7 @@ type Blocks_UrlBlock_Fragment = ( & { ' $fragmentRefs'?: { 'OneLevelOfBlocks_UrlBlock_Fragment': OneLevelOfBlocks_UrlBlock_Fragment } } ) & { ' $fragmentName'?: 'Blocks_UrlBlock_Fragment' }; -export type BlocksFragment = Blocks_BlockQuoteBlock_Fragment | Blocks_BooleanBlock_Fragment | Blocks_CharBlock_Fragment | Blocks_ChoiceBlock_Fragment | Blocks_ContactEntityBlock_Fragment | Blocks_ContactListBlock_Fragment | Blocks_ContactSectionBlock_Fragment | Blocks_ContactSubsectionBlock_Fragment | Blocks_DateBlock_Fragment | Blocks_DateTimeBlock_Fragment | Blocks_DecimalBlock_Fragment | Blocks_DocumentChooserBlock_Fragment | Blocks_EmailBlock_Fragment | Blocks_EmbedBlock_Fragment | Blocks_FeaturedBlock_Fragment | Blocks_FloatBlock_Fragment | Blocks_HorizontalRuleBlock_Fragment | Blocks_ImageChooserBlock_Fragment | Blocks_ImageSliderBlock_Fragment | Blocks_ImageSliderItemBlock_Fragment | Blocks_ImageWithTextBlock_Fragment | Blocks_IntegerBlock_Fragment | Blocks_ListBlock_Fragment | Blocks_PageChooserBlock_Fragment | Blocks_PageSectionBlock_Fragment | Blocks_RawHtmlBlock_Fragment | Blocks_RegexBlock_Fragment | Blocks_RichTextBlock_Fragment | Blocks_StaticBlock_Fragment | Blocks_StreamBlock_Fragment | Blocks_StreamFieldBlock_Fragment | Blocks_StructBlock_Fragment | Blocks_TextBlock_Fragment | Blocks_TimeBlock_Fragment | Blocks_UrlBlock_Fragment; +export type BlocksFragment = Blocks_BlockQuoteBlock_Fragment | Blocks_BooleanBlock_Fragment | Blocks_CharBlock_Fragment | Blocks_ChoiceBlock_Fragment | Blocks_ContactEntityBlock_Fragment | Blocks_ContactListBlock_Fragment | Blocks_ContactSectionBlock_Fragment | Blocks_ContactSubsectionBlock_Fragment | Blocks_DateBlock_Fragment | Blocks_DateTimeBlock_Fragment | Blocks_DecimalBlock_Fragment | Blocks_DocumentChooserBlock_Fragment | Blocks_EmailBlock_Fragment | Blocks_EmbedBlock_Fragment | Blocks_FeaturedBlock_Fragment | Blocks_FloatBlock_Fragment | Blocks_HorizontalRuleBlock_Fragment | Blocks_ImageChooserBlock_Fragment | Blocks_ImageSliderBlock_Fragment | Blocks_ImageSliderItemBlock_Fragment | Blocks_ImageWithTextBlock_Fragment | Blocks_IntegerBlock_Fragment | Blocks_ListBlock_Fragment | Blocks_OpeningHoursRangeBlock_Fragment | Blocks_OpeningHoursWeekBlock_Fragment | Blocks_PageChooserBlock_Fragment | Blocks_PageSectionBlock_Fragment | Blocks_RawHtmlBlock_Fragment | Blocks_RegexBlock_Fragment | Blocks_RichTextBlock_Fragment | Blocks_StaticBlock_Fragment | Blocks_StreamBlock_Fragment | Blocks_StreamFieldBlock_Fragment | Blocks_StructBlock_Fragment | Blocks_TextBlock_Fragment | Blocks_TimeBlock_Fragment | Blocks_UrlBlock_Fragment; export type ImageFragment = { __typename?: 'CustomImage', id?: string | null, url: string, width: number, height: number, alt?: string | null, attribution?: string | null } & { ' $fragmentName'?: 'ImageFragment' }; @@ -3489,7 +3612,7 @@ export type ContactEntityFragment = { __typename?: 'ContactEntity', id?: string & { ' $fragmentRefs'?: { 'ImageFragment': ImageFragment } } ) | null } & { ' $fragmentName'?: 'ContactEntityFragment' }; -export type EventFragment = { __typename: 'EventPage', id?: string | null, slug: string, title: string, pig?: string | null, facebookUrl?: string | null, ticketUrl?: string | null, free?: boolean | 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?: 'ContactEntityBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ContactListBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ContactSectionBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ContactSubsectionBlock', 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?: 'FeaturedBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'FloatBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'HorizontalRuleBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageSliderBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageSliderItemBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageWithTextBlock', 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?: 'PageSectionBlock', 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?: ( +export type EventFragment = { __typename: 'EventPage', id?: string | null, slug: string, title: string, pig?: string | null, facebookUrl?: string | null, ticketUrl?: string | null, free?: boolean | 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?: 'ContactEntityBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ContactListBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ContactSectionBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ContactSubsectionBlock', 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?: 'FeaturedBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'FloatBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'HorizontalRuleBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageSliderBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageSliderItemBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'ImageWithTextBlock', 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?: 'OpeningHoursRangeBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'OpeningHoursWeekBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'PageChooserBlock', id?: string | null, blockType: string, field: string } | { __typename?: 'PageSectionBlock', 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?: 'CustomImage' } & { ' $fragmentRefs'?: { 'ImageFragment': ImageFragment } } ) | null, categories: Array<{ __typename?: 'EventCategory', name: string, slug: string, pig: string }>, occurrences: Array<{ __typename: 'EventOccurrence', id?: string | null, start: string, end?: string | null, venue?: { __typename: 'VenuePage', id?: string | null, slug: string, title: string, preposition?: string | null, url?: string | null } | null }>, organizers: Array<{ __typename?: 'EventOrganizer', id?: string | null, name: string, slug: string, externalUrl?: string | null, association?: { __typename?: 'AssociationPage', url?: string | null } | null }> } & { ' $fragmentName'?: 'EventFragment' }; @@ -3574,6 +3697,12 @@ export type NewsFragment = { __typename: 'NewsPage', id?: string | null, slug: s ) | ( { __typename?: 'ListBlock' } & { ' $fragmentRefs'?: { 'Blocks_ListBlock_Fragment': Blocks_ListBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursRangeBlock_Fragment': Blocks_OpeningHoursRangeBlock_Fragment } } + ) | ( + { __typename?: 'OpeningHoursWeekBlock' } + & { ' $fragmentRefs'?: { 'Blocks_OpeningHoursWeekBlock_Fragment': Blocks_OpeningHoursWeekBlock_Fragment } } ) | ( { __typename?: 'PageChooserBlock' } & { ' $fragmentRefs'?: { 'Blocks_PageChooserBlock_Fragment': Blocks_PageChooserBlock_Fragment } } @@ -3625,6 +3754,44 @@ export type NewsQuery = { __typename?: 'Query', index?: ( & { ' $fragmentRefs'?: { 'NewsFragment': NewsFragment } } ) | { __typename?: 'Page' } | { __typename?: 'VenueIndex' } | { __typename?: 'VenuePage' }> }; +export type OpeningHoursSetsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type OpeningHoursSetsQuery = { __typename?: 'Query', openingHoursSets?: Array<( + { __typename?: 'OpeningHoursSet' } + & { ' $fragmentRefs'?: { 'OpeningHoursSetFragmentFragment': OpeningHoursSetFragmentFragment } } + ) | null> | null }; + +export type OpeningHoursSetFragmentFragment = { __typename?: 'OpeningHoursSet', name: string, effectiveFrom: string, effectiveTo?: string | null, announcement?: string | null, items?: Array<{ __typename?: 'OpeningHoursItem', id?: string | null, function: string, week?: Array<{ __typename?: 'BlockQuoteBlock', id?: string | null, blockType: string } | { __typename?: 'BooleanBlock', id?: string | null, blockType: string } | { __typename?: 'CharBlock', id?: string | null, blockType: string } | { __typename?: 'ChoiceBlock', id?: string | null, blockType: string } | { __typename?: 'ContactEntityBlock', id?: string | null, blockType: string } | { __typename?: 'ContactListBlock', id?: string | null, blockType: string } | { __typename?: 'ContactSectionBlock', id?: string | null, blockType: string } | { __typename?: 'ContactSubsectionBlock', id?: string | null, blockType: string } | { __typename?: 'DateBlock', id?: string | null, blockType: string } | { __typename?: 'DateTimeBlock', id?: string | null, blockType: string } | { __typename?: 'DecimalBlock', id?: string | null, blockType: string } | { __typename?: 'DocumentChooserBlock', id?: string | null, blockType: string } | { __typename?: 'EmailBlock', id?: string | null, blockType: string } | { __typename?: 'EmbedBlock', id?: string | null, blockType: string } | { __typename?: 'FeaturedBlock', id?: string | null, blockType: string } | { __typename?: 'FloatBlock', id?: string | null, blockType: string } | { __typename?: 'HorizontalRuleBlock', id?: string | null, blockType: string } | { __typename?: 'ImageChooserBlock', id?: string | null, blockType: string } | { __typename?: 'ImageSliderBlock', id?: string | null, blockType: string } | { __typename?: 'ImageSliderItemBlock', id?: string | null, blockType: string } | { __typename?: 'ImageWithTextBlock', id?: string | null, blockType: string } | { __typename?: 'IntegerBlock', id?: string | null, blockType: string } | { __typename?: 'ListBlock', id?: string | null, blockType: string } | { __typename?: 'OpeningHoursRangeBlock', id?: string | null, blockType: string } | ( + { __typename?: 'OpeningHoursWeekBlock', id?: string | null, blockType: string } + & { ' $fragmentRefs'?: { 'OpeningHoursWeekBlockFragment': OpeningHoursWeekBlockFragment } } + ) | { __typename?: 'PageChooserBlock', id?: string | null, blockType: string } | { __typename?: 'PageSectionBlock', id?: string | null, blockType: string } | { __typename?: 'RawHTMLBlock', id?: string | null, blockType: string } | { __typename?: 'RegexBlock', id?: string | null, blockType: string } | { __typename?: 'RichTextBlock', id?: string | null, blockType: string } | { __typename?: 'StaticBlock', id?: string | null, blockType: string } | { __typename?: 'StreamBlock', id?: string | null, blockType: string } | { __typename?: 'StreamFieldBlock', id?: string | null, blockType: string } | { __typename?: 'StructBlock', id?: string | null, blockType: string } | { __typename?: 'TextBlock', id?: string | null, blockType: string } | { __typename?: 'TimeBlock', id?: string | null, blockType: string } | { __typename?: 'URLBlock', id?: string | null, blockType: string } | null> | null } | null> | null } & { ' $fragmentName'?: 'OpeningHoursSetFragmentFragment' }; + +export type OpeningHoursRangeBlockFragment = { __typename?: 'OpeningHoursRangeBlock', timeFrom?: string | null, timeTo?: string | null, custom?: string | null } & { ' $fragmentName'?: 'OpeningHoursRangeBlockFragment' }; + +export type OpeningHoursWeekBlockFragment = { __typename?: 'OpeningHoursWeekBlock', monday?: { __typename?: 'BlockQuoteBlock' } | { __typename?: 'BooleanBlock' } | { __typename?: 'CharBlock' } | { __typename?: 'ChoiceBlock' } | { __typename?: 'ContactEntityBlock' } | { __typename?: 'ContactListBlock' } | { __typename?: 'ContactSectionBlock' } | { __typename?: 'ContactSubsectionBlock' } | { __typename?: 'DateBlock' } | { __typename?: 'DateTimeBlock' } | { __typename?: 'DecimalBlock' } | { __typename?: 'DocumentChooserBlock' } | { __typename?: 'EmailBlock' } | { __typename?: 'EmbedBlock' } | { __typename?: 'FeaturedBlock' } | { __typename?: 'FloatBlock' } | { __typename?: 'HorizontalRuleBlock' } | { __typename?: 'ImageChooserBlock' } | { __typename?: 'ImageSliderBlock' } | { __typename?: 'ImageSliderItemBlock' } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OpeningHoursRangeBlockFragment': OpeningHoursRangeBlockFragment } } + ) | { __typename?: 'OpeningHoursWeekBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null, tuesday?: { __typename?: 'BlockQuoteBlock' } | { __typename?: 'BooleanBlock' } | { __typename?: 'CharBlock' } | { __typename?: 'ChoiceBlock' } | { __typename?: 'ContactEntityBlock' } | { __typename?: 'ContactListBlock' } | { __typename?: 'ContactSectionBlock' } | { __typename?: 'ContactSubsectionBlock' } | { __typename?: 'DateBlock' } | { __typename?: 'DateTimeBlock' } | { __typename?: 'DecimalBlock' } | { __typename?: 'DocumentChooserBlock' } | { __typename?: 'EmailBlock' } | { __typename?: 'EmbedBlock' } | { __typename?: 'FeaturedBlock' } | { __typename?: 'FloatBlock' } | { __typename?: 'HorizontalRuleBlock' } | { __typename?: 'ImageChooserBlock' } | { __typename?: 'ImageSliderBlock' } | { __typename?: 'ImageSliderItemBlock' } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OpeningHoursRangeBlockFragment': OpeningHoursRangeBlockFragment } } + ) | { __typename?: 'OpeningHoursWeekBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null, wednesday?: { __typename?: 'BlockQuoteBlock' } | { __typename?: 'BooleanBlock' } | { __typename?: 'CharBlock' } | { __typename?: 'ChoiceBlock' } | { __typename?: 'ContactEntityBlock' } | { __typename?: 'ContactListBlock' } | { __typename?: 'ContactSectionBlock' } | { __typename?: 'ContactSubsectionBlock' } | { __typename?: 'DateBlock' } | { __typename?: 'DateTimeBlock' } | { __typename?: 'DecimalBlock' } | { __typename?: 'DocumentChooserBlock' } | { __typename?: 'EmailBlock' } | { __typename?: 'EmbedBlock' } | { __typename?: 'FeaturedBlock' } | { __typename?: 'FloatBlock' } | { __typename?: 'HorizontalRuleBlock' } | { __typename?: 'ImageChooserBlock' } | { __typename?: 'ImageSliderBlock' } | { __typename?: 'ImageSliderItemBlock' } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OpeningHoursRangeBlockFragment': OpeningHoursRangeBlockFragment } } + ) | { __typename?: 'OpeningHoursWeekBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null, thursday?: { __typename?: 'BlockQuoteBlock' } | { __typename?: 'BooleanBlock' } | { __typename?: 'CharBlock' } | { __typename?: 'ChoiceBlock' } | { __typename?: 'ContactEntityBlock' } | { __typename?: 'ContactListBlock' } | { __typename?: 'ContactSectionBlock' } | { __typename?: 'ContactSubsectionBlock' } | { __typename?: 'DateBlock' } | { __typename?: 'DateTimeBlock' } | { __typename?: 'DecimalBlock' } | { __typename?: 'DocumentChooserBlock' } | { __typename?: 'EmailBlock' } | { __typename?: 'EmbedBlock' } | { __typename?: 'FeaturedBlock' } | { __typename?: 'FloatBlock' } | { __typename?: 'HorizontalRuleBlock' } | { __typename?: 'ImageChooserBlock' } | { __typename?: 'ImageSliderBlock' } | { __typename?: 'ImageSliderItemBlock' } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OpeningHoursRangeBlockFragment': OpeningHoursRangeBlockFragment } } + ) | { __typename?: 'OpeningHoursWeekBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null, friday?: { __typename?: 'BlockQuoteBlock' } | { __typename?: 'BooleanBlock' } | { __typename?: 'CharBlock' } | { __typename?: 'ChoiceBlock' } | { __typename?: 'ContactEntityBlock' } | { __typename?: 'ContactListBlock' } | { __typename?: 'ContactSectionBlock' } | { __typename?: 'ContactSubsectionBlock' } | { __typename?: 'DateBlock' } | { __typename?: 'DateTimeBlock' } | { __typename?: 'DecimalBlock' } | { __typename?: 'DocumentChooserBlock' } | { __typename?: 'EmailBlock' } | { __typename?: 'EmbedBlock' } | { __typename?: 'FeaturedBlock' } | { __typename?: 'FloatBlock' } | { __typename?: 'HorizontalRuleBlock' } | { __typename?: 'ImageChooserBlock' } | { __typename?: 'ImageSliderBlock' } | { __typename?: 'ImageSliderItemBlock' } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OpeningHoursRangeBlockFragment': OpeningHoursRangeBlockFragment } } + ) | { __typename?: 'OpeningHoursWeekBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null, saturday?: { __typename?: 'BlockQuoteBlock' } | { __typename?: 'BooleanBlock' } | { __typename?: 'CharBlock' } | { __typename?: 'ChoiceBlock' } | { __typename?: 'ContactEntityBlock' } | { __typename?: 'ContactListBlock' } | { __typename?: 'ContactSectionBlock' } | { __typename?: 'ContactSubsectionBlock' } | { __typename?: 'DateBlock' } | { __typename?: 'DateTimeBlock' } | { __typename?: 'DecimalBlock' } | { __typename?: 'DocumentChooserBlock' } | { __typename?: 'EmailBlock' } | { __typename?: 'EmbedBlock' } | { __typename?: 'FeaturedBlock' } | { __typename?: 'FloatBlock' } | { __typename?: 'HorizontalRuleBlock' } | { __typename?: 'ImageChooserBlock' } | { __typename?: 'ImageSliderBlock' } | { __typename?: 'ImageSliderItemBlock' } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OpeningHoursRangeBlockFragment': OpeningHoursRangeBlockFragment } } + ) | { __typename?: 'OpeningHoursWeekBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null, sunday?: { __typename?: 'BlockQuoteBlock' } | { __typename?: 'BooleanBlock' } | { __typename?: 'CharBlock' } | { __typename?: 'ChoiceBlock' } | { __typename?: 'ContactEntityBlock' } | { __typename?: 'ContactListBlock' } | { __typename?: 'ContactSectionBlock' } | { __typename?: 'ContactSubsectionBlock' } | { __typename?: 'DateBlock' } | { __typename?: 'DateTimeBlock' } | { __typename?: 'DecimalBlock' } | { __typename?: 'DocumentChooserBlock' } | { __typename?: 'EmailBlock' } | { __typename?: 'EmbedBlock' } | { __typename?: 'FeaturedBlock' } | { __typename?: 'FloatBlock' } | { __typename?: 'HorizontalRuleBlock' } | { __typename?: 'ImageChooserBlock' } | { __typename?: 'ImageSliderBlock' } | { __typename?: 'ImageSliderItemBlock' } | { __typename?: 'ImageWithTextBlock' } | { __typename?: 'IntegerBlock' } | { __typename?: 'ListBlock' } | ( + { __typename?: 'OpeningHoursRangeBlock' } + & { ' $fragmentRefs'?: { 'OpeningHoursRangeBlockFragment': OpeningHoursRangeBlockFragment } } + ) | { __typename?: 'OpeningHoursWeekBlock' } | { __typename?: 'PageChooserBlock' } | { __typename?: 'PageSectionBlock' } | { __typename?: 'RawHTMLBlock' } | { __typename?: 'RegexBlock' } | { __typename?: 'RichTextBlock' } | { __typename?: 'StaticBlock' } | { __typename?: 'StreamBlock' } | { __typename?: 'StreamFieldBlock' } | { __typename?: 'StructBlock' } | { __typename?: 'TextBlock' } | { __typename?: 'TimeBlock' } | { __typename?: 'URLBlock' } | null } & { ' $fragmentName'?: 'OpeningHoursWeekBlockFragment' }; + export const ImageFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}}]} as unknown as DocumentNode; export const ContactEntityFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ContactEntity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntity"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"contactType"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}}]} as unknown as DocumentNode; export const OneLevelOfBlocksFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OneLevelOfBlocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"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":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageWithTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"imageFormat"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"images"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderItemBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HorizontalRuleBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"color"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FeaturedBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","alias":{"kind":"Name","value":"featuredBlockText"},"name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"linkText"}},{"kind":"Field","name":{"kind":"Name","value":"imagePosition"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"featuredPage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contentType"}},{"kind":"Field","name":{"kind":"Name","value":"pageType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImageOverride"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactListBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntityBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contactEntity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ContactEntity"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ContactEntity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntity"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"contactType"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}}]} as unknown as DocumentNode; @@ -3638,6 +3805,9 @@ export const HomeFragmentDoc = {"kind":"Document","definitions":[{"kind":"Fragme 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":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pig"}},{"kind":"Field","name":{"kind":"Name","value":"facebookUrl"}},{"kind":"Field","name":{"kind":"Name","value":"ticketUrl"}},{"kind":"Field","name":{"kind":"Name","value":"free"}},{"kind":"Field","name":{"kind":"Name","value":"priceRegular"}},{"kind":"Field","name":{"kind":"Name","value":"priceMember"}},{"kind":"Field","name":{"kind":"Name","value":"priceStudent"}},{"kind":"Field","name":{"kind":"Name","value":"categories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventCategory"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"pig"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"occurrences"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventOccurrence"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}},{"kind":"Field","name":{"kind":"Name","value":"end"}},{"kind":"Field","name":{"kind":"Name","value":"venue"},"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":"preposition"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"organizers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventOrganizer"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"externalUrl"}},{"kind":"Field","name":{"kind":"Name","value":"association"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AssociationPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}}]} as unknown as DocumentNode; export const NewsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"News"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"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":"firstPublishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"excerpt"}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Blocks"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ContactEntity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntity"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"contactType"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OneLevelOfBlocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"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":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageWithTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"imageFormat"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"images"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderItemBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HorizontalRuleBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"color"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FeaturedBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","alias":{"kind":"Name","value":"featuredBlockText"},"name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"linkText"}},{"kind":"Field","name":{"kind":"Name","value":"imagePosition"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"featuredPage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contentType"}},{"kind":"Field","name":{"kind":"Name","value":"pageType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImageOverride"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactListBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntityBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contactEntity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ContactEntity"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Blocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSubsectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]} as unknown as DocumentNode; export const NewsIndexFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NewsIndex"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsIndex"}},"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":"lead"}}]}}]} as unknown as DocumentNode; +export const OpeningHoursRangeBlockFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursRangeBlock"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"timeFrom"}},{"kind":"Field","name":{"kind":"Name","value":"timeTo"}},{"kind":"Field","name":{"kind":"Name","value":"custom"}}]}}]} as unknown as DocumentNode; +export const OpeningHoursWeekBlockFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursWeekBlock"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursWeekBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"monday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"tuesday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"wednesday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"thursday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"friday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"saturday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"sunday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursRangeBlock"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"timeFrom"}},{"kind":"Field","name":{"kind":"Name","value":"timeTo"}},{"kind":"Field","name":{"kind":"Name","value":"custom"}}]}}]} as unknown as DocumentNode; +export const OpeningHoursSetFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursSetFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursSet"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"effectiveFrom"}},{"kind":"Field","name":{"kind":"Name","value":"effectiveTo"}},{"kind":"Field","name":{"kind":"Name","value":"announcement"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"function"}},{"kind":"Field","name":{"kind":"Name","value":"week"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursWeekBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursWeekBlock"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursRangeBlock"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"timeFrom"}},{"kind":"Field","name":{"kind":"Name","value":"timeTo"}},{"kind":"Field","name":{"kind":"Name","value":"custom"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursWeekBlock"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursWeekBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"monday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"tuesday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"wednesday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"thursday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"friday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"saturday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"sunday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}}]}}]} as unknown as DocumentNode; export const AllGenericSlugsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"allGenericSlugs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"generic.GenericPage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"urlPath"}}]}}]}}]} as unknown as DocumentNode; export const GenericPageByUrlDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"genericPageByUrl"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"urlPath"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"page"},"name":{"kind":"Name","value":"page"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"generic.GenericPage","block":false}},{"kind":"Argument","name":{"kind":"Name","value":"urlPath"},"value":{"kind":"Variable","name":{"kind":"Name","value":"urlPath"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GenericPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Generic"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ContactEntity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntity"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"contactType"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OneLevelOfBlocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"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":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageWithTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"imageFormat"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"images"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderItemBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HorizontalRuleBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"color"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FeaturedBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","alias":{"kind":"Name","value":"featuredBlockText"},"name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"linkText"}},{"kind":"Field","name":{"kind":"Name","value":"imagePosition"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"featuredPage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contentType"}},{"kind":"Field","name":{"kind":"Name","value":"pageType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImageOverride"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactListBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntityBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contactEntity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ContactEntity"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Blocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSubsectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Generic"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GenericPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"urlPath"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"lead"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Blocks"}}]}}]}}]} as unknown as DocumentNode; export const AllNewsSlugsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"allNewsSlugs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"news.NewsPage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]} as unknown as DocumentNode; @@ -3653,4 +3823,5 @@ export const VenueBySlugDocument = {"kind":"Document","definitions":[{"kind":"Op 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":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ContactEntity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntity"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"contactType"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OneLevelOfBlocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"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":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageWithTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"imageFormat"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"images"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderItemBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HorizontalRuleBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"color"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FeaturedBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","alias":{"kind":"Name","value":"featuredBlockText"},"name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"linkText"}},{"kind":"Field","name":{"kind":"Name","value":"imagePosition"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"featuredPage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contentType"}},{"kind":"Field","name":{"kind":"Name","value":"pageType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImageOverride"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactListBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntityBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contactEntity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ContactEntity"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Blocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSubsectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}},{"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":"FragmentSpread","name":{"kind":"Name","value":"Blocks"}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"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":"eventIndex"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventIndex"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"futureEvents"},"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":"Field","alias":{"kind":"Name","value":"home"},"name":{"kind":"Name","value":"page"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"home.HomePage","block":false}},{"kind":"Argument","name":{"kind":"Name","value":"urlPath"},"value":{"kind":"StringValue","value":"/home/","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HomePage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Home"}}]}}]}},{"kind":"Field","alias":{"kind":"Name","value":"news"},"name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"news.newsPage","block":false}},{"kind":"Argument","name":{"kind":"Name","value":"order"},"value":{"kind":"StringValue","value":"-first_published_at","block":false}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"IntValue","value":"4"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"News"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ContactEntity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntity"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"contactType"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OneLevelOfBlocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"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":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageWithTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"imageFormat"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"images"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderItemBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HorizontalRuleBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"color"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FeaturedBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","alias":{"kind":"Name","value":"featuredBlockText"},"name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"linkText"}},{"kind":"Field","name":{"kind":"Name","value":"imagePosition"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"featuredPage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contentType"}},{"kind":"Field","name":{"kind":"Name","value":"pageType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImageOverride"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactListBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntityBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contactEntity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ContactEntity"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Blocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSubsectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}},{"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":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pig"}},{"kind":"Field","name":{"kind":"Name","value":"facebookUrl"}},{"kind":"Field","name":{"kind":"Name","value":"ticketUrl"}},{"kind":"Field","name":{"kind":"Name","value":"free"}},{"kind":"Field","name":{"kind":"Name","value":"priceRegular"}},{"kind":"Field","name":{"kind":"Name","value":"priceMember"}},{"kind":"Field","name":{"kind":"Name","value":"priceStudent"}},{"kind":"Field","name":{"kind":"Name","value":"categories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventCategory"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"pig"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"occurrences"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventOccurrence"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}},{"kind":"Field","name":{"kind":"Name","value":"end"}},{"kind":"Field","name":{"kind":"Name","value":"venue"},"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":"preposition"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"organizers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventOrganizer"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"externalUrl"}},{"kind":"Field","name":{"kind":"Name","value":"association"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AssociationPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Home"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HomePage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HomePage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredEvents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"News"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"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":"firstPublishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"excerpt"}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Blocks"}}]}}]}}]} as unknown as DocumentNode; export const FutureEventsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"futureEvents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"events"},"name":{"kind":"Name","value":"eventIndex"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventIndex"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"futureEvents"},"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":"Field","alias":{"kind":"Name","value":"eventCategories"},"name":{"kind":"Name","value":"eventCategories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventCategory"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"showInFilters"}}]}}]}},{"kind":"Field","alias":{"kind":"Name","value":"eventOrganizers"},"name":{"kind":"Name","value":"eventOrganizers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventOrganizer"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"externalUrl"}},{"kind":"Field","name":{"kind":"Name","value":"association"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AssociationPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}},{"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":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pig"}},{"kind":"Field","name":{"kind":"Name","value":"facebookUrl"}},{"kind":"Field","name":{"kind":"Name","value":"ticketUrl"}},{"kind":"Field","name":{"kind":"Name","value":"free"}},{"kind":"Field","name":{"kind":"Name","value":"priceRegular"}},{"kind":"Field","name":{"kind":"Name","value":"priceMember"}},{"kind":"Field","name":{"kind":"Name","value":"priceStudent"}},{"kind":"Field","name":{"kind":"Name","value":"categories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventCategory"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"pig"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"occurrences"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventOccurrence"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}},{"kind":"Field","name":{"kind":"Name","value":"end"}},{"kind":"Field","name":{"kind":"Name","value":"venue"},"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":"preposition"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"organizers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventOrganizer"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"externalUrl"}},{"kind":"Field","name":{"kind":"Name","value":"association"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AssociationPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; -export const NewsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"news"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"index"},"name":{"kind":"Name","value":"newsIndex"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsIndex"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NewsIndex"}}]}}]}},{"kind":"Field","alias":{"kind":"Name","value":"news"},"name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"news.NewsPage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"News"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ContactEntity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntity"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"contactType"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OneLevelOfBlocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"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":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageWithTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"imageFormat"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"images"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderItemBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HorizontalRuleBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"color"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FeaturedBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","alias":{"kind":"Name","value":"featuredBlockText"},"name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"linkText"}},{"kind":"Field","name":{"kind":"Name","value":"imagePosition"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"featuredPage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contentType"}},{"kind":"Field","name":{"kind":"Name","value":"pageType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImageOverride"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactListBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntityBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contactEntity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ContactEntity"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Blocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSubsectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NewsIndex"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsIndex"}},"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":"lead"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"News"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"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":"firstPublishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"excerpt"}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Blocks"}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file +export const NewsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"news"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"index"},"name":{"kind":"Name","value":"newsIndex"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsIndex"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NewsIndex"}}]}}]}},{"kind":"Field","alias":{"kind":"Name","value":"news"},"name":{"kind":"Name","value":"pages"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"contentType"},"value":{"kind":"StringValue","value":"news.NewsPage","block":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"News"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Image"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomImage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"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":"alt"}},{"kind":"Field","name":{"kind":"Name","value":"attribution"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ContactEntity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntity"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"contactType"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"phoneNumber"}},{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OneLevelOfBlocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"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":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageWithTextBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"imageFormat"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"images"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSliderItemBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"HorizontalRuleBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"color"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FeaturedBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","alias":{"kind":"Name","value":"featuredBlockText"},"name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"linkText"}},{"kind":"Field","name":{"kind":"Name","value":"imagePosition"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"featuredPage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contentType"}},{"kind":"Field","name":{"kind":"Name","value":"pageType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EventPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"featuredImageOverride"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactListBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactEntityBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contactEntity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ContactEntity"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Blocks"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StreamFieldInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"backgroundColor"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContactSubsectionBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}}]}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OneLevelOfBlocks"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NewsIndex"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsIndex"}},"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":"lead"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"News"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NewsPage"}},"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":"firstPublishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"excerpt"}},{"kind":"Field","name":{"kind":"Name","value":"featuredImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Image"}}]}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Blocks"}}]}}]}}]} as unknown as DocumentNode; +export const OpeningHoursSetsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"openingHoursSets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"openingHoursSets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursSetFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursRangeBlock"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"timeFrom"}},{"kind":"Field","name":{"kind":"Name","value":"timeTo"}},{"kind":"Field","name":{"kind":"Name","value":"custom"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursWeekBlock"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursWeekBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"monday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"tuesday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"wednesday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"thursday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"friday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"saturday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"sunday"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursRangeBlock"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OpeningHoursSetFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursSet"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"effectiveFrom"}},{"kind":"Field","name":{"kind":"Name","value":"effectiveTo"}},{"kind":"Field","name":{"kind":"Name","value":"announcement"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"function"}},{"kind":"Field","name":{"kind":"Name","value":"week"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"blockType"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OpeningHoursWeekBlock"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"OpeningHoursWeekBlock"}}]}}]}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file diff --git a/web/src/lib/date.ts b/web/src/lib/date.ts index 0eec552..599b7d2 100644 --- a/web/src/lib/date.ts +++ b/web/src/lib/date.ts @@ -1,4 +1,4 @@ -import { isToday, isAfter, parse } from "date-fns"; +import { isToday, isAfter, parse, compareAsc } from "date-fns"; import { nb } from "date-fns/locale"; import { toZonedTime, format } from "date-fns-tz"; @@ -47,3 +47,7 @@ export function isTodayOrFuture( const zonedDate = toLocalTime(date); return isToday(zonedDate) || isAfter(zonedDate, zonedNow); } + +export function compareDates(a: Date | string, b: Date | string) { + return compareAsc(new Date(a), new Date(b)); +} diff --git a/web/src/lib/event.ts b/web/src/lib/event.ts index 06d5fe8..87e154d 100644 --- a/web/src/lib/event.ts +++ b/web/src/lib/event.ts @@ -1,5 +1,4 @@ import { - compareAsc, endOfWeek, startOfToday, startOfWeek, @@ -8,10 +7,10 @@ import { addWeeks, parseISO, } from "date-fns"; -import { toLocalTime, formatDate } from "./date"; +import { toLocalTime, formatDate, compareDates } from "./date"; import { graphql } from "@/gql"; -import { EventFragment, EventCategory, EventOccurrence } from "@/gql/graphql"; -import { PIG_NAMES, PigName, randomElement } from "@/lib/common"; +import { EventFragment, EventOccurrence } from "@/gql/graphql"; +import { PIG_NAMES, randomElement } from "@/lib/common"; export type { EventFragment, @@ -134,10 +133,6 @@ export function getSingularEvents(events: EventFragment[]): SingularEvent[] { .flat(); } -export function compareDates(a: Date | string, b: Date | string) { - return compareAsc(new Date(a), new Date(b)); -} - export function sortSingularEvents(events: SingularEvent[]) { return events.sort((a, b) => compareDates(a.occurrence.start, b.occurrence.start) diff --git a/web/src/lib/openinghours.ts b/web/src/lib/openinghours.ts new file mode 100644 index 0000000..928ba2f --- /dev/null +++ b/web/src/lib/openinghours.ts @@ -0,0 +1,258 @@ +import { + startOfToday, + isAfter, + parseISO, + isSameDay, + compareDesc, +} from "date-fns"; + +import { graphql } from "@/gql"; +import { + OpeningHoursRangeBlock, + OpeningHoursSet, + OpeningHoursWeekBlock, +} from "@/gql/graphql"; +import { getClient } from "@/app/client"; + +const MISSING_OPENING_HOURS = { + name: "Åpningstider mangler", + effectiveFrom: "", + effectiveTo: null, + announcement: "Åpningstider mangler", + items: [], +}; + +const WEEKDAYS = [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday", +]; +const WEEKDAYS_NORWEGIAN = [ + "mandag", + "tirsdag", + "onsdag", + "torsdag", + "fredag", + "øørdag", + "søndag", +]; + +const openingHoursQuery = graphql(` + query openingHoursSets { + openingHoursSets { + ...OpeningHoursSetFragment + } + } +`); + +export async function fetchOpeningHoursSets() { + const { data, error } = await getClient().query(openingHoursQuery, {}); + const sets = (data?.openingHoursSets ?? []) as OpeningHoursSet[]; + return sets; +} + +export async function getOpeningHours() { + const today = startOfToday(); + const sets = await fetchOpeningHoursSets(); + const validSets = sets + .filter((set) => { + const from = parseISO(set.effectiveFrom); + return isAfter(today, from) || isSameDay(today, from); + }) + .filter((set) => { + if (!set.effectiveTo) { + return true; + } + const to = parseISO(set.effectiveTo); + return isAfter(to, today) || isSameDay(today, to); + }); + if (validSets.length === 0) { + return MISSING_OPENING_HOURS as OpeningHoursSet; + } + if (validSets.length === 1) { + return validSets[0]; + } + // pick the set that msot recently took effect + return validSets.sort((a, b) => + compareDesc(a.effectiveFrom, b.effectiveFrom) + )[0]; +} + +type OpeningHoursGroup = { + days: string[]; + timeFrom: string | null; + timeTo: string | null; + custom: string | null; +}; + +type OpeningHoursPerDay = Record + +export function groupOpeningHours(week: OpeningHoursPerDay): OpeningHoursGroup[] { + const grouped: OpeningHoursGroup[] = []; + let previous: string | null = null; + + for (const day of WEEKDAYS) { + if (!week.hasOwnProperty(day)) { + continue; + } + + const hours = week[day]; + if ( + hours === null || + previous === null || + week[previous]?.timeFrom !== hours.timeFrom || + week[previous]?.timeTo !== hours.timeTo || + week[previous]?.custom !== hours.custom + ) { + grouped.push({ + days: [day], + timeFrom: hours.timeFrom ?? null, + timeTo: hours.timeTo ?? null, + custom: hours.custom ?? null, + }); + } else { + grouped[grouped.length - 1].days.push(day); + } + previous = day; + } + return grouped; +} + +export type PrettyOpeningHours = { + range: string; + time?: string; + custom?: string; +}; + +function formatGroupedHours( + grouped: OpeningHoursGroup[] +): PrettyOpeningHours[] { + return grouped.map((group) => { + const startDayIndex = WEEKDAYS.indexOf(group.days[0]); + const endDayIndex = WEEKDAYS.indexOf(group.days[group.days.length - 1]); + + const startDayName = WEEKDAYS_NORWEGIAN[startDayIndex]; + const endDayName = + group.days.length > 1 ? WEEKDAYS_NORWEGIAN[endDayIndex] : ""; + + const rangeName = startDayName + (endDayName ? " - " + endDayName : ""); + + const formattedRange = { + range: rangeName, + ...(group.timeFrom && group.timeTo + ? { + time: `${group.timeFrom.slice(0, 5)} - ${group.timeTo.slice(0, 5)}`, + } + : {}), + ...(group.custom ? { custom: group.custom } : {}), + }; + + return formattedRange; + }); +} + +export function getOpeningHoursForFunction( + openingHours: OpeningHoursSet, + name: string +) { + const item = openingHours.items?.find((x) => x?.function === name); + if (!item || !Array.isArray(item?.week) || item?.week.length !== 1) { + return; + } + const week = item.week[0] as OpeningHoursWeekBlock; + return week; +} + +export function getPrettyOpeningHoursForFunction( + openingHours: OpeningHoursSet, + name: string +) { + const week = getOpeningHoursForFunction(openingHours, name); + if (!week) { + return []; + } + // just trying to satisfy the type checker, this is crap + const perDay: OpeningHoursPerDay = { + monday: week.monday as OpeningHoursRangeBlock, + tuesday: week.tuesday as OpeningHoursRangeBlock, + wednesday: week.wednesday as OpeningHoursRangeBlock, + thursday: week.thursday as OpeningHoursRangeBlock, + friday: week.friday as OpeningHoursRangeBlock, + saturday: week.friday as OpeningHoursRangeBlock, + sunday: week.friday as OpeningHoursRangeBlock, + } + const grouped = groupOpeningHours(perDay); + return formatGroupedHours(grouped); +} + +const OpeningHoursSetFragmentDefinition = graphql(` + fragment OpeningHoursSetFragment on OpeningHoursSet { + name + effectiveFrom + effectiveTo + announcement + items { + id + function + week { + id + blockType + ... on OpeningHoursWeekBlock { + ...OpeningHoursWeekBlock + } + } + } + } +`); + +const OpeningHoursRangeBlockFragmentDefinition = graphql(` + fragment OpeningHoursRangeBlock on OpeningHoursRangeBlock { + timeFrom + timeTo + custom + } +`); + +const OpeningHoursWeekBlockFragmentDefinition = graphql(` + fragment OpeningHoursWeekBlock on OpeningHoursWeekBlock { + monday { + ... on OpeningHoursRangeBlock { + ...OpeningHoursRangeBlock + } + } + tuesday { + ... on OpeningHoursRangeBlock { + ...OpeningHoursRangeBlock + } + } + wednesday { + ... on OpeningHoursRangeBlock { + ...OpeningHoursRangeBlock + } + } + thursday { + ... on OpeningHoursRangeBlock { + ...OpeningHoursRangeBlock + } + } + friday { + ... on OpeningHoursRangeBlock { + ...OpeningHoursRangeBlock + } + } + saturday { + ... on OpeningHoursRangeBlock { + ...OpeningHoursRangeBlock + } + } + sunday { + ... on OpeningHoursRangeBlock { + ...OpeningHoursRangeBlock + } + } + } +`);