From 298b7428cdf8d39e2704a64fefb5a6e64ee5adb6 Mon Sep 17 00:00:00 2001 From: "jindra12.underdark" <jindra12.underdark@gmail.com> Date: Sat, 22 Apr 2023 21:18:54 +0200 Subject: [PATCH] Fix UI errors #184 #190 --- ...trictarticlepage_mastodon_feed_and_more.py | 558 ++++++++++++++++++ district/templates/district/base.html | 2 +- .../0006_senatehomepage_mastodon_feed.py | 48 ++ senate/templates/senate/base.html | 2 +- shared/blocks.py | 8 +- shared/models.py | 2 +- .../shared/blocks/mastodon_feed_block.html | 18 +- .../shared/mastodon_feed_link_snippet.html | 7 - .../shared/mastodon_feed_snippet.html | 4 +- .../shared/mastodon_icon_snippet.html | 3 + shared/templatetags/shared_filters.py | 6 +- ...niwebarticlepage_mastodon_feed_and_more.py | 252 ++++++++ uniweb/templates/uniweb/base.html | 5 +- 13 files changed, 890 insertions(+), 25 deletions(-) create mode 100644 district/migrations/0109_districtarticlepage_mastodon_feed_and_more.py create mode 100644 senate/migrations/0006_senatehomepage_mastodon_feed.py delete mode 100644 shared/templates/shared/mastodon_feed_link_snippet.html create mode 100644 uniweb/migrations/0042_uniwebarticlepage_mastodon_feed_and_more.py 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 00000000..e38906c9 --- /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 43e06b00..4431a1de 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 00000000..c7cb7f59 --- /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 b45a7bfe..3c29cdca 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 99061111..201977da 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 1f6aeeb8..b93f0607 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 583fe625..7bda2afd 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 ba639792..00000000 --- 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 042b0085..b3daaa72 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 49437412..ca9df0c7 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 c216b263..547d296f 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 00000000..9a98aec6 --- /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 965af5f3..186e214f 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> -- GitLab