diff --git a/district/migrations/0109_districtarticlepage_mastodon_feed_and_more.py b/district/migrations/0109_districtarticlepage_mastodon_feed_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..e38906c90669084139ba05ba52fc3c124b9e6321 --- /dev/null +++ b/district/migrations/0109_districtarticlepage_mastodon_feed_and_more.py @@ -0,0 +1,558 @@ +# Generated by Django 4.1.8 on 2023-04-22 16:15 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0108_alter_districtcenterpage_content_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="districtarticlepage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtarticlespage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtcenterpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtcontactpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtcrossroadpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtcustompage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtelectioncampaignpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtelectionprogrampage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtgeofeaturecollectionpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtgeofeaturedetailpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districthomepage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtinteractiveprogrampage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtpeoplepage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtpersonpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtpostelectionstrategypage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="districtprogrampage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + ] diff --git a/district/templates/district/base.html b/district/templates/district/base.html index 43e06b0099b6b18f5d1b523626ca977e13060db8..4431a1deb954e147e96c68425560cc6687c42380 100644 --- a/district/templates/district/base.html +++ b/district/templates/district/base.html @@ -239,7 +239,7 @@ </div> <div class="subnav-aside__item" :class="{'subnav-aside__item--visible': isCurrentView('mastodon')}"> <div class="container container--default flex justify-center"> - {% include "shared/mastodon_feed_snippet.html" %} + {% include "shared/mastodon_feed_snippet.html" with is_link=False %} </div> </div> </aside> diff --git a/senate/migrations/0006_senatehomepage_mastodon_feed.py b/senate/migrations/0006_senatehomepage_mastodon_feed.py new file mode 100644 index 0000000000000000000000000000000000000000..c7cb7f5912342d2f4844564c0ba6a980817a1458 --- /dev/null +++ b/senate/migrations/0006_senatehomepage_mastodon_feed.py @@ -0,0 +1,48 @@ +# Generated by Django 4.1.8 on 2023-04-22 16:15 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("senate", "0005_alter_senatehomepage_candidates_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="senatehomepage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + ] diff --git a/senate/templates/senate/base.html b/senate/templates/senate/base.html index b45a7bfe9981b55c9d9fbad8322e78213667dbaa..3c29cdca9876dfe26206d6e02b3abaa461bf2a42 100644 --- a/senate/templates/senate/base.html +++ b/senate/templates/senate/base.html @@ -62,7 +62,7 @@ <a href="https://www.instagram.com/pirati.cz/"><i class="fab fa-instagram"></i></a> <a href="https://www.youtube.com/user/CeskaPiratskaStrana"><i class="fab fa-youtube"></i></a> <a href="https://www.flickr.com/photos/pirati/"><i class="fab fa-flickr"></i></a> - {% include "shared/mastodon_feed_link_snippet" %} + {% include "shared/mastodon_feed_snippet.html" with is_link=True %} </div> <a href="https://nalodeni.pirati.cz" class="btn-icon c-green my-1"> <div class="btn-wrap"> diff --git a/shared/blocks.py b/shared/blocks.py index 99061111fa87a3e2daca3f7261b0438342fe910d..201977daa577802acf15ef5e277f8ff81d1dfc63 100644 --- a/shared/blocks.py +++ b/shared/blocks.py @@ -1050,10 +1050,14 @@ class MastodonFeedBlock(blocks.StructBlock): label="URL pro mastodon feed", default="https://mastodon.pirati.cz", ) - user_name = blocks.CharBlock(required=True, label="Uživatelské jméno pro mastodon") + user_name = blocks.CharBlock( + required=True, + label="Uživatelské jméno pro mastodon", + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + ) class Meta: - label = "Mastodon feed" + label = "Odkaz na mastodon feed" icon = "link" template = "shared/blocks/mastodon_feed_block.html" diff --git a/shared/models.py b/shared/models.py index 1f6aeeb88326fdf4c2cf07f52882ce384b8b1cc7..b93f060756aeaa6132b6b402911499131d7c24cf 100644 --- a/shared/models.py +++ b/shared/models.py @@ -24,7 +24,7 @@ class MastodonFeedMixin(models.Model): verbose_name="Mastodon feed", blank=True, use_json_field=True, - max_length=1, + max_num=1, ) class Meta: diff --git a/shared/templates/shared/blocks/mastodon_feed_block.html b/shared/templates/shared/blocks/mastodon_feed_block.html index 583fe625cb8ceed16ce3f7a47346eee7a2f2d74c..7bda2afd6e5d69feb609f1f0c4f8a298296c09c0 100644 --- a/shared/templates/shared/blocks/mastodon_feed_block.html +++ b/shared/templates/shared/blocks/mastodon_feed_block.html @@ -1,9 +1,13 @@ {% load static shared_filters %} -<iframe - allowfullscreen - sandbox="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox" - width="400" - height="400" - src="https://mastofeed.com/apiv2/feed?userurl={{ self.url | mastodon_url:self.user_name | urlencode:'' }}&theme=dark&size=100&header=true&replies=false&boosts=false"> -</iframe> +{% if is_link %} + <a href="{{ self.url | mastodon_url:self.user_name }}" class="social-icon ">{% include "shared/mastodon_icon_snippet.html" with size="14" invert=True %}</a> +{% else %} + <iframe + allowfullscreen + sandbox="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox" + width="400" + height="400" + src="https://mastofeed.com/apiv2/feed?userurl={{ self.url | mastodon_url:self.user_name | urlencode:'' }}&theme=dark&size=100&header=true&replies=false&boosts=false"> + </iframe> +{% endif %} diff --git a/shared/templates/shared/mastodon_feed_link_snippet.html b/shared/templates/shared/mastodon_feed_link_snippet.html deleted file mode 100644 index ba639792704faac3865b1dd29dda81657680ed1a..0000000000000000000000000000000000000000 --- a/shared/templates/shared/mastodon_feed_link_snippet.html +++ /dev/null @@ -1,7 +0,0 @@ -{% load shared_filters %} - -{% if page.mastodon_feed %} - <a href="{{ page.mastodon_feed.url | mastodon_url: page.mastodon_feed.user_name }}" class="social-icon ">{% include "shared/mastodon_icon_snippet.html" with size="20" %}</a> -{% elif page.root_page.mastodon_feed %} - <a href="{{ page.root_page.mastodon_feed.url | mastodon_url: page.root_page.mastodon_feed.user_name }}" class="social-icon ">{% include "shared/mastodon_icon_snippet.html" with size="20" %}</a> -{% endif %} diff --git a/shared/templates/shared/mastodon_feed_snippet.html b/shared/templates/shared/mastodon_feed_snippet.html index 042b00854fc9b6cb059ffacc22184d13a9523b4c..b3daaa727680562b4e5f1cd54451a23afa2e6bde 100644 --- a/shared/templates/shared/mastodon_feed_snippet.html +++ b/shared/templates/shared/mastodon_feed_snippet.html @@ -1,7 +1,7 @@ {% load wagtailcore_tags shared_filters %} {% if page.mastodon_feed %} - {% include_block page.mastodon_feed %} + {% include_block page.mastodon_feed with is_link=is_link %} {% elif page.root_page.mastodon_feed %} - {% include_block page.root_page.mastodon_feed %} + {% include_block page.root_page.mastodon_feed with is_link=is_link %} {% endif %} diff --git a/shared/templates/shared/mastodon_icon_snippet.html b/shared/templates/shared/mastodon_icon_snippet.html index 4943741263ba1d05b29b1b07cc43303f902dc019..ca9df0c7e765fd69bc6f463f79c1112458aaec00 100644 --- a/shared/templates/shared/mastodon_icon_snippet.html +++ b/shared/templates/shared/mastodon_icon_snippet.html @@ -6,4 +6,7 @@ class="{{ class_name }}" height="{{ size }}" width="{{ size }}" + {% if invert %} + style="filter: invert(1)" + {% endif %} > diff --git a/shared/templatetags/shared_filters.py b/shared/templatetags/shared_filters.py index c216b263b200ca699a32ff1dc55f4fc3966288b3..547d296fbe416b0fad1abf276eae61e7345169f1 100644 --- a/shared/templatetags/shared_filters.py +++ b/shared/templatetags/shared_filters.py @@ -13,12 +13,12 @@ def markdown(value): @register.filter -def mastodon_url(url: str | None, name: str | None = None): +def mastodon_url(url: str | None, user_name: str | None = None): """ Gets mastodon url """ if url is None or url == "/": return "https://mastodon.pirati.cz" - if name is None or name == "": + if user_name is None or user_name == "": return url - return url + "/users/" + name + return url + "/users/" + user_name diff --git a/uniweb/migrations/0042_uniwebarticlepage_mastodon_feed_and_more.py b/uniweb/migrations/0042_uniwebarticlepage_mastodon_feed_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..9a98aec6f16e8c937d5b9f61b2cec6a5f3888e96 --- /dev/null +++ b/uniweb/migrations/0042_uniwebarticlepage_mastodon_feed_and_more.py @@ -0,0 +1,252 @@ +# Generated by Django 4.1.8 on 2023-04-22 16:15 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("uniweb", "0041_alter_uniwebflexiblepage_content_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="uniwebarticlepage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="uniwebarticlesindexpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="uniwebflexiblepage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="uniwebformpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="uniwebhomepage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="uniwebpeoplepage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + migrations.AddField( + model_name="uniwebpersonpage", + name="mastodon_feed", + field=wagtail.fields.StreamField( + [ + ( + "mastodon_feed", + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + default="https://mastodon.pirati.cz", + label="URL pro mastodon feed", + required=True, + ), + ), + ( + "user_name", + wagtail.blocks.CharBlock( + help_text="Uživatelské jméno vyplňte bez '@' a bez jména feedu. Příklad: 'ivanbartos'", + label="Uživatelské jméno pro mastodon", + required=True, + ), + ), + ] + ), + ) + ], + blank=True, + use_json_field=True, + verbose_name="Mastodon feed", + ), + ), + ] diff --git a/uniweb/templates/uniweb/base.html b/uniweb/templates/uniweb/base.html index 965af5f33204e05fec381f7d893c797d658943a0..186e214f87f58ca0e5ae40a2ec496c88ed2ed54d 100644 --- a/uniweb/templates/uniweb/base.html +++ b/uniweb/templates/uniweb/base.html @@ -39,6 +39,9 @@ .text-white a { color: #FFFFFF; } + .block-mastodon_feed { + display: inline; + } </style> {% if page.root_page.matomo_id %} @@ -109,7 +112,7 @@ <a href="https://www.youtube.com/user/CeskaPiratskaStrana" class="social-icon "><i class="ico--youtube"></i></a> <a href="https://www.instagram.com/pirati.cz/" class="social-icon "><i class="ico--instagram"></i></a> <a href="https://www.flickr.com/photos/pirati/" class="social-icon "><i class="ico--flickr"></i></a> - {% include "shared/mastodon_feed_link_snippet" %} + {% include "shared/mastodon_feed_snippet.html" with is_link=True %} </div> {% endif %} </div>