diff --git a/district/blocks.py b/district/blocks.py index 7a29e7414a00500ed2fb68e175dc6a8512dff689..6cba4aca96e9492d28279f8abcc89da1e7d7033c 100644 --- a/district/blocks.py +++ b/district/blocks.py @@ -61,6 +61,34 @@ class CandidateListBlock(StructBlock): label = "List kanditátů" +class CardLinkBlock(StructBlock): + image = ImageChooserBlock(label="Obrázek") + title = CharBlock(label="Titulek", required=True) + page = PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictAfterElectionPage", + "district.DistrictArticlePage", + "district.DistrictArticlesPage", + "district.DistrictCenterPage", + "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", + "district.DistrictElectionPage", + "district.DistrictElectionPointPage", + "district.DistrictPeoplePage", + "district.DistrictPersonPage", + "district.DistrictProgramPage", + "district.DistrictTagsPage", + ], + ) + + class Meta: + template = "district/blocks/card_link_block.html" + icon = "link" + label = "Karta odkazu" + + class CenterContactBlock(StructBlock): title = CharBlock(label="Titulek", required=True) contact_list = ListBlock( diff --git a/district/migrations/0037_districtcrossroadpage_districtcustompage.py b/district/migrations/0037_districtcrossroadpage_districtcustompage.py new file mode 100644 index 0000000000000000000000000000000000000000..e23d9d25026fcf3473c6c7332906c1c50df2492d --- /dev/null +++ b/district/migrations/0037_districtcrossroadpage_districtcustompage.py @@ -0,0 +1,139 @@ +# Generated by Django 3.2.11 on 2022-03-03 09:45 + +import django.db.models.deletion +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks +import wagtailmetadata.models +from django.db import migrations, models + +import shared.models + + +class Migration(migrations.Migration): + + dependencies = [ + ("wagtailimages", "0023_add_choose_permissions"), + ("wagtailcore", "0066_collection_management_permissions"), + ("district", "0036_districtpersonpage_other_urls"), + ] + + operations = [ + migrations.CreateModel( + name="DistrictCustomPage", + fields=[ + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "search_image", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="+", + to="wagtailimages.image", + verbose_name="Search image", + ), + ), + ], + options={ + "abstract": False, + }, + bases=( + shared.models.SubpageMixin, + wagtailmetadata.models.WagtailImageMetadataMixin, + "wagtailcore.page", + models.Model, + ), + ), + migrations.CreateModel( + name="DistrictCrossroadPage", + fields=[ + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "cards_content", + wagtail.core.fields.StreamField( + [ + ( + "cards", + wagtail.core.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.core.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "page", + wagtail.core.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictArticlesPage", + "district.DistrictCenterPage", + "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", + "district.DistrictElectionPage", + "district.DistrictPeoplePage", + "district.DistrictProgramPage", + "district.DistrictTagsPage", + ], + ), + ), + ] + ), + ) + ], + blank=True, + verbose_name="Karty rozcestníku", + ), + ), + ( + "search_image", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="+", + to="wagtailimages.image", + verbose_name="Search image", + ), + ), + ], + options={ + "abstract": False, + }, + bases=( + shared.models.SubpageMixin, + wagtailmetadata.models.WagtailImageMetadataMixin, + "wagtailcore.page", + models.Model, + ), + ), + ] diff --git a/district/migrations/0038_auto_20220303_1107.py b/district/migrations/0038_auto_20220303_1107.py new file mode 100644 index 0000000000000000000000000000000000000000..980e524fbb270f87fb86321f6c6f7d9eb35c48de --- /dev/null +++ b/district/migrations/0038_auto_20220303_1107.py @@ -0,0 +1,83 @@ +# Generated by Django 3.2.11 on 2022-03-03 10:07 + +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("district", "0037_districtcrossroadpage_districtcustompage"), + ] + + operations = [ + migrations.AlterModelOptions( + name="districtcrossroadpage", + options={"verbose_name": "Rozcestník s kartami"}, + ), + migrations.AlterModelOptions( + name="districtcustompage", + options={"verbose_name": "Libovolná vlastní stránka"}, + ), + migrations.AddField( + model_name="districtcustompage", + name="content", + field=wagtail.core.fields.StreamField( + [("text", wagtail.core.blocks.RichTextBlock())], + blank=True, + verbose_name="Obsah", + ), + ), + migrations.AlterField( + model_name="districtcrossroadpage", + name="cards_content", + field=wagtail.core.fields.StreamField( + [ + ( + "cards", + wagtail.core.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.core.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "page", + wagtail.core.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictAfterElectionPage", + "district.DistrictArticlePage", + "district.DistrictArticlesPage", + "district.DistrictCenterPage", + "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", + "district.DistrictElectionPage", + "district.DistrictElectionPointPage", + "district.DistrictPeoplePage", + "district.DistrictPersonPage", + "district.DistrictProgramPage", + "district.DistrictTagsPage", + ], + ), + ), + ] + ), + ) + ], + blank=True, + verbose_name="Karty rozcestníku", + ), + ), + ] diff --git a/district/migrations/0039_alter_districtcustompage_content.py b/district/migrations/0039_alter_districtcustompage_content.py new file mode 100644 index 0000000000000000000000000000000000000000..28cc6131ba20c5b6c0ff02d87ef4c3aa05b68923 --- /dev/null +++ b/district/migrations/0039_alter_districtcustompage_content.py @@ -0,0 +1,28 @@ +# Generated by Django 3.2.11 on 2022-03-03 11:17 + +import wagtail.contrib.table_block.blocks +import wagtail.core.blocks +import wagtail.core.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("district", "0038_auto_20220303_1107"), + ] + + operations = [ + migrations.AlterField( + model_name="districtcustompage", + name="content", + field=wagtail.core.fields.StreamField( + [ + ("text", wagtail.core.blocks.RichTextBlock()), + ("table", wagtail.contrib.table_block.blocks.TableBlock()), + ], + blank=True, + verbose_name="Obsah", + ), + ), + ] diff --git a/district/models.py b/district/models.py index e5b2a7a5e9565089beea612a9520efff37bd96a8..3daa8edacfd2f742633571b04ec4fbd3279f85c5 100644 --- a/district/models.py +++ b/district/models.py @@ -14,6 +14,8 @@ from wagtail.admin.edit_handlers import ( PageChooserPanel, StreamFieldPanel, ) +from wagtail.contrib.table_block.blocks import TableBlock +from wagtail.core.blocks import RichTextBlock from wagtail.core.fields import RichTextField, StreamField from wagtail.core.models import Page from wagtail.images.edit_handlers import ImageChooserPanel @@ -165,6 +167,8 @@ class DistrictHomePage(MetadataPageMixin, CalendarMixin, Page): "district.DistrictArticlesPage", "district.DistrictCenterPage", "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", "district.DistrictElectionPage", "district.DistrictPeoplePage", "district.DistrictProgramPage", @@ -705,6 +709,7 @@ class DistrictProgramPage(SubpageMixin, MetadataPageMixin, Page): class DistrictCenterPage(CalendarMixin, SubpageMixin, MetadataPageMixin, Page): ### FIELDS + # TODO tohle by šlo asi nahradit DistrictCustomPage perex = models.TextField("Perex", blank=True, null=True) background_photo = models.ForeignKey( @@ -755,3 +760,73 @@ class DistrictCenterPage(CalendarMixin, SubpageMixin, MetadataPageMixin, Page): @property def has_calendar(self): return self.calendar_id is not None + + +class DistrictCrossroadPage(SubpageMixin, MetadataPageMixin, Page): + + ### FIELDS + + cards_content = StreamField( + [("cards", CardLinkBlock())], + verbose_name="Karty rozcestníku", + blank=True, + ) + + ### PANELS + + content_panels = Page.content_panels + [ + StreamFieldPanel("cards_content"), + ] + + ### RELATIONS + + parent_page_types = ["district.DistrictHomePage"] + subpage_types = [ + "district.DistrictAfterElectionPage", + "district.DistrictArticlePage", + "district.DistrictArticlesPage", + "district.DistrictCenterPage", + "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", + "district.DistrictElectionPage", + "district.DistrictElectionPointPage", + "district.DistrictPeoplePage", + "district.DistrictPersonPage", + "district.DistrictProgramPage", + "district.DistrictTagsPage", + ] + ### OTHERS + + class Meta: + verbose_name = "Rozcestník s kartami" + + +class DistrictCustomPage(SubpageMixin, MetadataPageMixin, Page): + + ### FIELDS + + content = StreamField( + [ + ("text", RichTextBlock()), + ("table", TableBlock()), + ], + verbose_name="Obsah", + blank=True, + ) + + ### PANELS + + content_panels = Page.content_panels + [ + StreamFieldPanel("content"), + ] + + ### RELATIONS + + parent_page_types = ["district.DistrictHomePage", "district.DistrictCrossroadPage"] + subpage_types = [] + + ### OTHERS + + class Meta: + verbose_name = "Libovolná vlastní stránka" diff --git a/district/templates/district/blocks/card_link_block.html b/district/templates/district/blocks/card_link_block.html new file mode 100644 index 0000000000000000000000000000000000000000..0ae2036a29040263757fa52b39c7db3be73c6d98 --- /dev/null +++ b/district/templates/district/blocks/card_link_block.html @@ -0,0 +1,16 @@ +{% load wagtailcore_tags wagtailimages_tags %} + +{% image self.image width-356 as img %} +<article class="card card--hoveractive"> + <a href="{{ self.page.url }}"> + <img src="{{ img.url }}" alt="{{ self.page.title }}" class="w-full h-48 object-cover"> + </a> + <div class="card__body p-4"> + <h1 class="card-headline mb-2"> + <a href="{{ self.page.url }}"> + {{ self.page.title }} + </a> + </h1> + <p class="card-body-text"></p> + </div> +</article> diff --git a/district/templates/district/district_crossroad_page.html b/district/templates/district/district_crossroad_page.html new file mode 100644 index 0000000000000000000000000000000000000000..d628406a73f57c769eee196aa233175335ffaa20 --- /dev/null +++ b/district/templates/district/district_crossroad_page.html @@ -0,0 +1,12 @@ +{% extends "district/base.html" %} +{% load wagtailcore_tags %} + +{% block content %} + <main> + <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 pt-8 lg:py-24"> + {% for card_block in page.cards_content %} + {% include_block card_block %} + {% endfor %} + </div> + </main> +{% endblock %} diff --git a/district/templates/district/district_custom_page.html b/district/templates/district/district_custom_page.html new file mode 100644 index 0000000000000000000000000000000000000000..8002f54c34bf50e425f8addf5c1c6a0ef2920db1 --- /dev/null +++ b/district/templates/district/district_custom_page.html @@ -0,0 +1,53 @@ +{% extends "district/base.html" %} +{% load static wagtailcore_tags %} + +{% block content %} + <main> + <article class="pt-8 lg:py-24"> + <header> + <h1 itemprop="headline" class="head-alt-md md:head-alt-lg max-w-5xl mb-4"> + {{ page.title }} + </h1> + </header> + + <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 "> + </div> + + <div class="lg:flex mt-8 lg:space-x-16"> + <div class="lg:w-2/3"> + {% for block in page.content %} + <div class="content-block mb-8"> + {% include_block block %} + </div> + {% endfor %} + </div> + + <div class="pt-8 lg:w-1/3 md:pt-0"> + <div class="space-y-8"> + <div class="sharebox md:card md:elevation-10 "> + <div class="md:card__body"> + <span class="head-alt-base md:head-alt-md">Sdílení je aktem lásky</span> + <div class="flex w-full space-x-4 pt-4 md:pt-8 text-center text-white"> + <a + href="https://www.facebook.com/sharer/sharer.php?u={{ page.full_url|urlencode }}" + onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" + class="bg-brands-facebook px-8 py-3 text-2xl w-full" + ><i class="ico--facebook"></i></a> + <a + href="https://twitter.com/intent/tweet?text={{ page.title|urlencode }}&url={{ page.full_url|urlencode }}" + onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" + class="bg-brands-twitter px-8 py-3 text-2xl w-full" + ><i class="ico--twitter"></i></a> + </div> + </div> + <div class="h-52 overflow-hidden hidden md:block"> + <img src="{% static "shared/img/flag.png" %}" alt="Pirátská strana" class="w-80 object-cover m-auto"/> + </div> + </div> + </div> + </div> + + </div> + </article> + </main> +{% endblock %} diff --git a/region/blocks.py b/region/blocks.py index 39942e2617c276294e30dab59284b266c414d617..a1320b62e58d679686009915349bba9d906bfd5c 100644 --- a/region/blocks.py +++ b/region/blocks.py @@ -61,6 +61,34 @@ class CandidateListBlock(StructBlock): label = "List kanditátů" +class CardLinkBlock(StructBlock): + image = ImageChooserBlock(label="Obrázek") + title = CharBlock(label="Titulek", required=True) + page = PageChooserBlock( + label="Stránka", + page_type=[ + "region.RegionAfterElectionPage", + "region.RegionArticlePage", + "region.RegionArticlesPage", + "region.RegionCenterPage", + "region.RegionContactPage", + "region.RegionCrossroadPage", + "region.RegionCustomPage", + "region.RegionElectionPage", + "region.RegionElectionPointPage", + "region.RegionPeoplePage", + "region.RegionPersonPage", + "region.RegionProgramPage", + "region.RegionTagsPage", + ], + ) + + class Meta: + template = "region/blocks/card_link_block.html" + icon = "link" + label = "Karta odkazu" + + class CenterContactBlock(StructBlock): title = CharBlock(label="Titulek", required=True) contact_list = ListBlock( diff --git a/region/migrations/0014_regioncrossroadpage_regioncustompage.py b/region/migrations/0014_regioncrossroadpage_regioncustompage.py new file mode 100644 index 0000000000000000000000000000000000000000..e5fae5491fb8e71ac57921f84f898d6867d1cb12 --- /dev/null +++ b/region/migrations/0014_regioncrossroadpage_regioncustompage.py @@ -0,0 +1,155 @@ +# Generated by Django 3.2.11 on 2022-03-03 11:18 + +import django.db.models.deletion +import wagtail.contrib.table_block.blocks +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks +import wagtailmetadata.models +from django.db import migrations, models + +import shared.models + + +class Migration(migrations.Migration): + + dependencies = [ + ("wagtailimages", "0023_add_choose_permissions"), + ("wagtailcore", "0066_collection_management_permissions"), + ("region", "0013_regionpersonpage_other_urls"), + ] + + operations = [ + migrations.CreateModel( + name="RegionCustomPage", + fields=[ + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "content", + wagtail.core.fields.StreamField( + [ + ("text", wagtail.core.blocks.RichTextBlock()), + ("table", wagtail.contrib.table_block.blocks.TableBlock()), + ], + blank=True, + verbose_name="Obsah", + ), + ), + ( + "search_image", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="+", + to="wagtailimages.image", + verbose_name="Search image", + ), + ), + ], + options={ + "verbose_name": "Libovolná vlastní stránka", + }, + bases=( + shared.models.SubpageMixin, + wagtailmetadata.models.WagtailImageMetadataMixin, + "wagtailcore.page", + models.Model, + ), + ), + migrations.CreateModel( + name="RegionCrossroadPage", + fields=[ + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "cards_content", + wagtail.core.fields.StreamField( + [ + ( + "cards", + wagtail.core.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.core.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "page", + wagtail.core.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "region.RegionAfterElectionPage", + "region.RegionArticlePage", + "region.RegionArticlesPage", + "region.RegionCenterPage", + "region.RegionContactPage", + "region.RegionCrossroadPage", + "region.RegionCustomPage", + "region.RegionElectionPage", + "region.RegionElectionPointPage", + "region.RegionPeoplePage", + "region.RegionPersonPage", + "region.RegionProgramPage", + "region.RegionTagsPage", + ], + ), + ), + ] + ), + ) + ], + blank=True, + verbose_name="Karty rozcestníku", + ), + ), + ( + "search_image", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="+", + to="wagtailimages.image", + verbose_name="Search image", + ), + ), + ], + options={ + "verbose_name": "Rozcestník s kartami", + }, + bases=( + shared.models.SubpageMixin, + wagtailmetadata.models.WagtailImageMetadataMixin, + "wagtailcore.page", + models.Model, + ), + ), + ] diff --git a/region/models.py b/region/models.py index 5485313221efd72fc399924b1500161116b0fb0d..fe9144bb1a00263f8540c7ebac6dee772adde65e 100644 --- a/region/models.py +++ b/region/models.py @@ -14,6 +14,8 @@ from wagtail.admin.edit_handlers import ( PageChooserPanel, StreamFieldPanel, ) +from wagtail.contrib.table_block.blocks import TableBlock +from wagtail.core.blocks import RichTextBlock from wagtail.core.fields import RichTextField, StreamField from wagtail.core.models import Page from wagtail.images.edit_handlers import ImageChooserPanel @@ -165,6 +167,8 @@ class RegionHomePage(MetadataPageMixin, CalendarMixin, Page): "region.RegionArticlesPage", "region.RegionCenterPage", "region.RegionContactPage", + "region.RegionCrossroadPage", + "region.RegionCustomPage", "region.RegionElectionPage", "region.RegionPeoplePage", "region.RegionProgramPage", @@ -748,3 +752,73 @@ class RegionCenterPage(CalendarMixin, SubpageMixin, MetadataPageMixin, Page): @property def has_calendar(self): return self.calendar_id is not None + + +class RegionCrossroadPage(SubpageMixin, MetadataPageMixin, Page): + + ### FIELDS + + cards_content = StreamField( + [("cards", CardLinkBlock())], + verbose_name="Karty rozcestníku", + blank=True, + ) + + ### PANELS + + content_panels = Page.content_panels + [ + StreamFieldPanel("cards_content"), + ] + + ### RELATIONS + + parent_page_types = ["region.RegionHomePage"] + subpage_types = [ + "region.RegionAfterElectionPage", + "region.RegionArticlePage", + "region.RegionArticlesPage", + "region.RegionCenterPage", + "region.RegionContactPage", + "region.RegionCrossroadPage", + "region.RegionCustomPage", + "region.RegionElectionPage", + "region.RegionElectionPointPage", + "region.RegionPeoplePage", + "region.RegionPersonPage", + "region.RegionProgramPage", + "region.RegionTagsPage", + ] + ### OTHERS + + class Meta: + verbose_name = "Rozcestník s kartami" + + +class RegionCustomPage(SubpageMixin, MetadataPageMixin, Page): + + ### FIELDS + + content = StreamField( + [ + ("text", RichTextBlock()), + ("table", TableBlock()), + ], + verbose_name="Obsah", + blank=True, + ) + + ### PANELS + + content_panels = Page.content_panels + [ + StreamFieldPanel("content"), + ] + + ### RELATIONS + + parent_page_types = ["region.RegionHomePage", "region.RegionCrossroadPage"] + subpage_types = [] + + ### OTHERS + + class Meta: + verbose_name = "Libovolná vlastní stránka" diff --git a/region/templates/region/blocks/card_link_block.html b/region/templates/region/blocks/card_link_block.html new file mode 100644 index 0000000000000000000000000000000000000000..0ae2036a29040263757fa52b39c7db3be73c6d98 --- /dev/null +++ b/region/templates/region/blocks/card_link_block.html @@ -0,0 +1,16 @@ +{% load wagtailcore_tags wagtailimages_tags %} + +{% image self.image width-356 as img %} +<article class="card card--hoveractive"> + <a href="{{ self.page.url }}"> + <img src="{{ img.url }}" alt="{{ self.page.title }}" class="w-full h-48 object-cover"> + </a> + <div class="card__body p-4"> + <h1 class="card-headline mb-2"> + <a href="{{ self.page.url }}"> + {{ self.page.title }} + </a> + </h1> + <p class="card-body-text"></p> + </div> +</article> diff --git a/region/templates/region/region_crossroad_page.html b/region/templates/region/region_crossroad_page.html new file mode 100644 index 0000000000000000000000000000000000000000..14c5a89782397749436531244b03e81de4d8b8f1 --- /dev/null +++ b/region/templates/region/region_crossroad_page.html @@ -0,0 +1,12 @@ +{% extends "region/base.html" %} +{% load wagtailcore_tags %} + +{% block content %} + <main> + <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 pt-8 lg:py-24"> + {% for card_block in page.cards_content %} + {% include_block card_block %} + {% endfor %} + </div> + </main> +{% endblock %} diff --git a/region/templates/region/region_custom_page.html b/region/templates/region/region_custom_page.html new file mode 100644 index 0000000000000000000000000000000000000000..d798342e9837dad5520329c3f897ada306ff5ade --- /dev/null +++ b/region/templates/region/region_custom_page.html @@ -0,0 +1,53 @@ +{% extends "region/base.html" %} +{% load static wagtailcore_tags %} + +{% block content %} + <main> + <article class="pt-8 lg:py-24"> + <header> + <h1 itemprop="headline" class="head-alt-md md:head-alt-lg max-w-5xl mb-4"> + {{ page.title }} + </h1> + </header> + + <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 "> + </div> + + <div class="lg:flex mt-8 lg:space-x-16"> + <div class="lg:w-2/3"> + {% for block in page.content %} + <div class="content-block mb-8"> + {% include_block block %} + </div> + {% endfor %} + </div> + + <div class="pt-8 lg:w-1/3 md:pt-0"> + <div class="space-y-8"> + <div class="sharebox md:card md:elevation-10 "> + <div class="md:card__body"> + <span class="head-alt-base md:head-alt-md">Sdílení je aktem lásky</span> + <div class="flex w-full space-x-4 pt-4 md:pt-8 text-center text-white"> + <a + href="https://www.facebook.com/sharer/sharer.php?u={{ page.full_url|urlencode }}" + onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" + class="bg-brands-facebook px-8 py-3 text-2xl w-full" + ><i class="ico--facebook"></i></a> + <a + href="https://twitter.com/intent/tweet?text={{ page.title|urlencode }}&url={{ page.full_url|urlencode }}" + onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" + class="bg-brands-twitter px-8 py-3 text-2xl w-full" + ><i class="ico--twitter"></i></a> + </div> + </div> + <div class="h-52 overflow-hidden hidden md:block"> + <img src="{% static "shared/img/flag.png" %}" alt="Pirátská strana" class="w-80 object-cover m-auto"/> + </div> + </div> + </div> + </div> + + </div> + </article> + </main> +{% endblock %}