From a5a01e6c8f5dc396ff38bee3e57919150bb512cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alexa=20Valentov=C3=A1?= <git@imaniti.org>
Date: Sun, 1 Sep 2024 15:36:11 +0200
Subject: [PATCH] hide button when there is no button text

---
 district/blocks.py                            |  6 ++++-
 .../0286_alter_districthomepage_content.py    | 23 +++++++++++++++++++
 main/blocks.py                                |  6 ++++-
 .../0129_alter_mainhomepage_content.py        | 22 ++++++++++++++++++
 .../includes/molecules/menus/carousel.html    |  2 +-
 5 files changed, 56 insertions(+), 3 deletions(-)
 create mode 100644 district/migrations/0286_alter_districthomepage_content.py
 create mode 100644 main/migrations/0129_alter_mainhomepage_content.py

diff --git a/district/blocks.py b/district/blocks.py
index cd2caa00..fd22b761 100644
--- a/district/blocks.py
+++ b/district/blocks.py
@@ -76,7 +76,11 @@ class FullscreenHeaderBlock(StructBlock):
         help_text="Bez odkazu tlačítko nebude viditelné.",
         required=False,
     )
-    button_text = CharBlock(label="Text tlaÄŤĂ­tka", required=False)
+    button_text = CharBlock(
+        label="Text tlaÄŤĂ­tka",
+        help_text="Odkaz funguje i bez tlačítka. Pokud chceš tlačítko skrýt, nevyplňuj text.",
+        required=False
+    )
 
     class Meta:
         template = "styleguide2/includes/molecules/menus/district/carousel.html"
diff --git a/district/migrations/0286_alter_districthomepage_content.py b/district/migrations/0286_alter_districthomepage_content.py
new file mode 100644
index 00000000..0ba45bb7
--- /dev/null
+++ b/district/migrations/0286_alter_districthomepage_content.py
@@ -0,0 +1,23 @@
+# Generated by Django 5.0.7 on 2024-09-01 13:29
+
+import shared.blocks.children.misc
+import wagtail.blocks
+import wagtail.blocks.static_block
+import wagtail.fields
+import wagtail.images.blocks
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('district', '0285_alter_districtoctopuspersonpage_person'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='districthomepage',
+            name='content',
+            field=wagtail.fields.StreamField([('fullscreen_header_block', wagtail.blocks.StructBlock([('desktop_image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybráno video, ukáže se na desktopu.', label='Obrázek na pozadí (desktop)', required=False)), ('mobile_image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybráno video, ukáže se na mobilu.', label='Obrázek na pozadí (mobil)', required=False)), ('desktop_video_url', wagtail.blocks.URLBlock(help_text='Pokud je vybráno, ukáže se na desktopech s povoleným autoplayem místo obrázku.', label='Video (desktop)', required=False)), ('mobile_video_url', wagtail.blocks.URLBlock(help_text='Pokud je vybráno, ukáže se na mobilech s povoleným autoplayem místo obrázku.', label='Video (mobil)', required=False)), ('desktop_line_1', wagtail.blocks.TextBlock(label='Desktop první řádek', required=False)), ('desktop_line_2', wagtail.blocks.TextBlock(label='Desktop druhý řádek', required=False)), ('mobile_line_1', wagtail.blocks.TextBlock(label='První mobilní řádek', required=False)), ('mobile_line_2', wagtail.blocks.TextBlock(label='Druhý mobilní řádek', required=False)), ('mobile_line_3', wagtail.blocks.TextBlock(label='Třetí mobilní řádek', required=False)), ('button_url', wagtail.blocks.URLBlock(help_text='Bez odkazu tlačítko nebude viditelné.', label='Odkaz tlačítka', required=False)), ('button_text', wagtail.blocks.CharBlock(help_text='Odkaz funguje i bez tlačítka. Pokud chceš tlačítko skrýt, nevyplňuj text.', label='Text tlačítka', required=False))])), ('news_block', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Nejnovější články se načtou automaticky', label='Titulek')), ('description', wagtail.blocks.TextBlock(label='Popis', required=False))], template='styleguide2/includes/organisms/articles/district/articles_section.html')), ('elections_block', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text_before_countdown', wagtail.blocks.CharBlock(default='Aktuálně zbývá', label='Text před odpočtem', required=True)), ('countdown_timestamp', wagtail.blocks.DateTimeBlock(label='Datum & čas voleb', required=True)), ('buttons', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', max_length=128, required=True)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Tlačítka', required=False))])), ('people_block', wagtail.blocks.StructBlock([('title_line_1', wagtail.blocks.CharBlock(label='První řádek titulku')), ('title_line_2', wagtail.blocks.CharBlock(label='Druhý řádek titulku')), ('description', wagtail.blocks.TextBlock(label='Popis')), ('list', wagtail.blocks.ListBlock(shared.blocks.children.misc.PersonBoxBlock, label='Boxíky'))], template='styleguide2/includes/organisms/main_section/district/representatives_section.html')), ('calendar_block', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek', required=False)), ('info', wagtail.blocks.static_block.StaticBlock(admin_text='Adresa kalendáře se zadává v nastavení hlavní stránky webu', label='Volba kalendáře'))])), ('carousel_program', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(default='Program', help_text="Např. 'Program'", label='Nadpis')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.IntegerBlock(label='Číslo')), ('name', wagtail.blocks.CharBlock(label='Název')), ('points', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('content', wagtail.blocks.TextBlock(label='Obsah'))]), label='Body'))]), label='Kategorie')), ('long_version_url', wagtail.blocks.URLBlock(help_text='Pro zobrazení odkazu na celou verzi programu musí být obě následující pole vyplněná.', label='Odkaz na celou verzi programu', required=False)), ('long_version_text', wagtail.blocks.CharBlock(label='Nadpis odkazu na celou verzi programu', required=False))])), ('newsletter_block', wagtail.blocks.StructBlock([]))], blank=True, verbose_name='Obsah'),
+        ),
+    ]
diff --git a/main/blocks.py b/main/blocks.py
index 20542e9d..52e6fd8e 100644
--- a/main/blocks.py
+++ b/main/blocks.py
@@ -88,7 +88,11 @@ class HomePageCarouseSlideBlock(StructBlock):
         help_text="Bez odkazu tlačítko nebude viditelné.",
         required=False,
     )
-    button_text = CharBlock(label="Text tlaÄŤĂ­tka", required=False)
+    button_text = CharBlock(
+        label="Text tlaÄŤĂ­tka",
+        help_text="Odkaz funguje i bez tlačítka. Pokud chceš tlačítko skrýt, nevyplňuj text.",
+        required=False
+    )
 
     class Meta:
         template = "styleguide2/includes/molecules/menus/carousel.html"
diff --git a/main/migrations/0129_alter_mainhomepage_content.py b/main/migrations/0129_alter_mainhomepage_content.py
new file mode 100644
index 00000000..e945383c
--- /dev/null
+++ b/main/migrations/0129_alter_mainhomepage_content.py
@@ -0,0 +1,22 @@
+# Generated by Django 5.0.7 on 2024-09-01 13:29
+
+import shared.blocks.children.misc
+import wagtail.blocks
+import wagtail.fields
+import wagtail.images.blocks
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('main', '0128_alter_mainprogrampage_program'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='mainhomepage',
+            name='content',
+            field=wagtail.fields.StreamField([('carousel', wagtail.blocks.StructBlock([('desktop_line_1', wagtail.blocks.TextBlock(label='Desktop první řádek')), ('desktop_line_2', wagtail.blocks.TextBlock(label='Desktop druhý řádek')), ('mobile_line_1', wagtail.blocks.TextBlock(label='První mobilní řádek')), ('mobile_line_2', wagtail.blocks.TextBlock(label='Druhý mobilní řádek')), ('mobile_line_3', wagtail.blocks.TextBlock(label='Třetí mobilní řádek')), ('desktop_image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek nahrazující animaci (desktop)', required=False)), ('mobile_image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek nahrazující animaci (mobil / tablet)', required=False)), ('button_url', wagtail.blocks.URLBlock(help_text='Bez odkazu tlačítko nebude viditelné.', label='Odkaz tlačítka', required=False)), ('button_text', wagtail.blocks.CharBlock(help_text='Odkaz funguje i bez tlačítka. Pokud chceš tlačítko skrýt, nevyplňuj text.', label='Text tlačítka', required=False))])), ('news', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Nejnovější články se načtou automaticky', label='Titulek')), ('description', wagtail.blocks.TextBlock(label='Popis', required=False))], template='styleguide2/includes/organisms/articles/articles_section.html')), ('people', wagtail.blocks.StructBlock([('title_line_1', wagtail.blocks.CharBlock(label='První řádek titulku')), ('title_line_2', wagtail.blocks.CharBlock(label='Druhý řádek titulku')), ('description', wagtail.blocks.TextBlock(label='Popis')), ('list', wagtail.blocks.ListBlock(shared.blocks.children.misc.PersonBoxBlock, label='Boxíky'))])), ('regions', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Články pro regiony se načtou automaticky', label='Titulek'))])), ('boxes', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Nadpis')), ('list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('button_link', wagtail.blocks.URLBlock(label='Odkaz tlačítka')), ('button_text', wagtail.blocks.CharBlock(label='Text tlačítka')), ('title', wagtail.blocks.CharBlock(label='Nadpis')), ('image', wagtail.images.blocks.ImageChooserBlock(label='Logo/obrázek'))]), label='Boxíky')), ('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek pozadí', required=False))]))], blank=True, verbose_name='Hlavní obsah'),
+        ),
+    ]
diff --git a/shared/templates/styleguide2/includes/molecules/menus/carousel.html b/shared/templates/styleguide2/includes/molecules/menus/carousel.html
index aea8c1f2..fb8f722d 100644
--- a/shared/templates/styleguide2/includes/molecules/menus/carousel.html
+++ b/shared/templates/styleguide2/includes/molecules/menus/carousel.html
@@ -90,7 +90,7 @@
             <div>{{ self.desktop_line_2 }}</div>
           </h1>
 
-          {% if self.button_url %}
+          {% if self.button_url and self.button_text %}
             <div class="__header-carousel-button-wrapper ml-4 text-lg group">
               {% firstof self.button_text "VĂ­ce informacĂ­" as button_text %}
 
-- 
GitLab