diff --git a/donate/migrations/0040_alter_donatehomepage_lead_body.py b/donate/migrations/0040_alter_donatehomepage_lead_body.py new file mode 100644 index 0000000000000000000000000000000000000000..039c83474ca66dd41111c71dd63ad98b0d321f75 --- /dev/null +++ b/donate/migrations/0040_alter_donatehomepage_lead_body.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.10 on 2024-01-30 13:15 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("donate", "0039_remove_donatehomepage_custom_blocks_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="donatehomepage", + name="lead_body", + field=wagtail.fields.RichTextField(blank=True, verbose_name="hlavní popis"), + ), + ] diff --git a/donate/migrations/0041_donateprojectpage_is_sticky_and_more.py b/donate/migrations/0041_donateprojectpage_is_sticky_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..a7a7ae8240b1fa35f5f6fb2f49b0a4db97ea810c --- /dev/null +++ b/donate/migrations/0041_donateprojectpage_is_sticky_and_more.py @@ -0,0 +1,98 @@ +# Generated by Django 4.1.10 on 2024-01-30 13:32 + +import django.db.models.deletion +import wagtail.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("wagtailimages", "0025_alter_image_file_alter_rendition_file"), + ("donate", "0040_alter_donatehomepage_lead_body"), + ] + + operations = [ + migrations.AddField( + model_name="donateprojectpage", + name="is_sticky", + field=models.BooleanField( + default=False, + help_text="Pokud je projekt připnutý, na domovské stránce se v seznamech projektů udrží na začátku.", + verbose_name="Je připnutý", + ), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="allow_periodic_donations", + field=models.BooleanField( + default=False, verbose_name="Umožnit pravidelné dary" + ), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="body", + field=wagtail.fields.RichTextField(verbose_name="Obsah"), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="coalition_design", + field=models.BooleanField(default=False, verbose_name="Koaliční design"), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="date", + field=models.DateField(verbose_name="Běží od"), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="donated_amount", + field=models.IntegerField( + blank=True, null=True, verbose_name="Vybraná částka" + ), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="expected_amount", + field=models.IntegerField( + blank=True, null=True, verbose_name="Očekávaná částka" + ), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="form_title", + field=models.CharField( + choices=[("project", "Podpoř projekt"), ("camapign", "Podpoř kampaň")], + default="project", + max_length=10, + verbose_name="Titulek formuláře", + ), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="is_new", + field=models.BooleanField( + default=False, verbose_name='Označení "nový projekt"' + ), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="perex", + field=models.TextField(verbose_name="Krátký popis"), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="photo", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.PROTECT, + to="wagtailimages.image", + verbose_name="Fotka", + ), + ), + migrations.AlterField( + model_name="donateprojectpage", + name="until", + field=models.DateField(blank=True, null=True, verbose_name="Běží do"), + ), + ] diff --git a/donate/models.py b/donate/models.py index dd76b04df532ea015c21ac67d70aa06718da79e3..7d5dbc19a5e9a2af85de5355dc92b3ff95d195fc 100644 --- a/donate/models.py +++ b/donate/models.py @@ -110,7 +110,7 @@ class DonateHomePage( # lead section lead_title = models.CharField("hlavní nadpis", max_length=250, blank=True) - lead_body = models.TextField("hlavní popis", blank=True) + lead_body = RichTextField("hlavní popis", blank=True) lead_video = models.URLField("video na youtube", blank=True, null=True) lead_preview = models.ForeignKey( "wagtailimages.Image", @@ -414,7 +414,7 @@ class DonateProjectIndexPage( DonateProjectPage.objects.child_of(self) .filter() .distinct() - .order_by("-date") + .order_by("-is_sticky", "-date") .live() )[:3] @@ -459,17 +459,25 @@ class DonateProjectPage( ### FIELDS - date = models.DateField("běží od") - until = models.DateField("běží do", null=True, blank=True) - perex = models.TextField("krátký popis") - body = RichTextField("obsah") - is_new = models.BooleanField('označení "nový projekt"', default=False) + date = models.DateField("Běží od") + until = models.DateField("Běží do", null=True, blank=True) + + perex = models.TextField("Krátký popis") + body = RichTextField("Obsah") + + is_new = models.BooleanField('Označení "nový projekt"', default=False) + is_sticky = models.BooleanField( + "Je připnutý", + help_text="Pokud je projekt připnutý, na domovské stránce se v seznamech projektů udrží na začátku.", + default=False, + ) + allow_periodic_donations = models.BooleanField( - "umožnit pravidelné dary", default=False + "Umožnit pravidelné dary", default=False ) photo = models.ForeignKey( "wagtailimages.Image", - verbose_name="fotka", + verbose_name="Fotka", on_delete=models.PROTECT, null=True, blank=True, @@ -481,14 +489,14 @@ class DonateProjectPage( use_json_field=True, ) form_title = models.CharField( - "titulek formuláře", + "Titulek formuláře", max_length=10, choices=FORM_TITLE_CHOICES, default=TITLE_PROJECT, ) - expected_amount = models.IntegerField("očekávaná částka", blank=True, null=True) - donated_amount = models.IntegerField("vybraná částka", blank=True, null=True) - coalition_design = models.BooleanField("koaliční design", default=False) + expected_amount = models.IntegerField("Očekávaná částka", blank=True, null=True) + donated_amount = models.IntegerField("Vybraná částka", blank=True, null=True) + coalition_design = models.BooleanField("Koaliční design", default=False) # we will use photo as search image search_image = None @@ -503,8 +511,13 @@ class DonateProjectPage( content_panels = Page.content_panels + [ MultiFieldPanel( - [FieldPanel("is_new"), FieldPanel("perex"), FieldPanel("photo")], - "info do přehledu projektů", + [ + FieldPanel("is_new"), + FieldPanel("is_sticky"), + FieldPanel("perex"), + FieldPanel("photo"), + ], + "Info do přehledu projektů", ), MultiFieldPanel( [ diff --git a/donate/static/donate/assets/css/icons.css b/donate/static/donate/assets/css/icons.css index 7218ce4bf326a8ec64edd73a7a8be8dea58bec4c..44a556a96b807a39dfb9a21234c755cffaae6e64 100644 --- a/donate/static/donate/assets/css/icons.css +++ b/donate/static/donate/assets/css/icons.css @@ -10,7 +10,7 @@ font-display: block; } -i { +i[class^="icon"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; speak: none; diff --git a/donate/static/donate/assets/css/style.css b/donate/static/donate/assets/css/style.css index 77aa8a90c20e84eca70170562da2482454cece45..01a67ecc1d0454e1a729741f6ec7fc1102871079 100644 --- a/donate/static/donate/assets/css/style.css +++ b/donate/static/donate/assets/css/style.css @@ -71,6 +71,10 @@ h1.lead, h2.lead, h3.lead, h4.lead, h5.lead, h6.lead { text-transform: uppercase; } +.lead-small { + font-size: 1.1rem !important +} + h1.homepage-heading { @@ -224,7 +228,7 @@ section { } .section--lead { - padding: 6rem 0rem; + padding: 2rem 0rem; } .section--no-bottom-padding { diff --git a/donate/templates/donate/base.html b/donate/templates/donate/base.html index 06f4891cf618d5f48f6dcc741a6337943bbb99dd..48942df14bfab6c72e8ad7fb88a1c6e972a2688f 100644 --- a/donate/templates/donate/base.html +++ b/donate/templates/donate/base.html @@ -37,26 +37,40 @@ <body id="top"> {% if settings.MAJAK_ENV == "test" %} - <div class="pre-navbar d-none d-lg-flex" style="background: #884444; color: #FFFFFF;"> - <div class="container d-flex justify-content-center"> - <span>TESTOVACÍ WEB! Darujte na <a href="https://dary.pirati.cz/" class="header_link header_link--desktop mr-4 py-2">dary.pirati.cz</a></span> + <div class="pre-navbar d-none d-lg-flex" style="background: #884444; color: #FFFFFF;"> + <div class="container d-flex justify-content-center"> + <span>TESTOVACÍ WEB! Darujte na <a href="https://dary.pirati.cz/" class="header_link header_link--desktop mr-4 py-2">dary.pirati.cz</a></span> + </div> </div> - </div> {% endif %} <!-- HEADER --> {% block header %} <div class="pre-navbar d-none d-lg-flex" style="background:black;"> <div class="container d-flex justify-content-end"> - {% if page.root_page.custom_url_1 and page.root_page.custom_url_1_text %} - <a href="{{ page.root_page.custom_url_1 }}" class="header_link header_link--desktop mr-4 py-2" target="_blank" - rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>{{ page.root_page.custom_url_1_text }}</a> - {% endif %} - {% if page.root_page.custom_url_2 and page.root_page.custom_url_2_text %} - <a href="{{ page.root_page.custom_url_2 }}" class="header_link header_link--desktop mr-4 py-2" target="_blank" - rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>{{ page.root_page.custom_url_2_text }}</a> - {% endif %} - <a href="https://www.pirati.cz/" class="header_link header_link--desktop mr-4 py-2" target="_blank" rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>www.pirati.cz</a> + {% if page.root_page.custom_url_1 and page.root_page.custom_url_1_text %} + <a + href="{{ page.root_page.custom_url_1 }}" + class="header_link header_link--desktop mr-4 py-2" + target="_blank" + rel="noreferrer" + > + <i class="icon-external-link mr-2" title="Ikona odkazu"></i> + {{ page.root_page.custom_url_1_text }} + </a> + {% endif %} + + {% if page.root_page.custom_url_2 and page.root_page.custom_url_2_text %} + <a + href="{{ page.root_page.custom_url_2 }}" + class="header_link header_link--desktop mr-4 py-2" + target="_blank" + rel="noreferrer" + > + <i class="icon-external-link mr-2" title="Ikona odkazu"></i> + {{ page.root_page.custom_url_2_text }} + </a> + {% endif %} </div> </div> @@ -66,7 +80,10 @@ <!-- Candidate name --> <div class="brand-wrapper"> <a class="navbar-brand" href="/"> - <img src="{% static "donate/img/logo_napis.svg" %}" alt="Logo podpoř piráty"> + <img + src="{% static "styleguide2/images/logo-full-white.svg"%}" + alt="Logo" + > </a> </div> @@ -86,14 +103,28 @@ </ul> {% if page.root_page.custom_url_1 and page.root_page.custom_url_1_text %} - <a href="{{ page.root_page.custom_url_1 }}" class="d-block d-lg-none mb-3 header_link header_link--desktop" target="_blank" - rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>{{ page.root_page.custom_url_1_text }}</a> + <a + href="{{ page.root_page.custom_url_1 }}" + class="d-block d-lg-none mb-3 header_link header_link--mobile" + target="_blank" + rel="noreferrer" + > + <i class="icon-external-link mr-2" title="Ikona odkazu"></i> + {{ page.root_page.custom_url_1_text }} + </a> {% endif %} + {% if page.root_page.custom_url_2 and page.root_page.custom_url_2_text %} - <a href="{{ page.root_page.custom_url_2 }}" class="d-block d-lg-none mb-3 header_link header_link--desktop" target="_blank" - rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>{{ page.root_page.custom_url_2_text }}</a> + <a + href="{{ page.root_page.custom_url_2 }}" + class="d-block d-lg-none mb-3 header_link header_link--mobile" + target="_blank" + rel="noreferrer" + > + <i class="icon-external-link mr-2" title="Ikona odkazu"></i> + {{ page.root_page.custom_url_2_text }} + </a> {% endif %} - <a href="https://www.pirati.cz/" class="d-block d-lg-none mb-3 header_link header_link--mobile" target="_blank" rel="noreferrer"><i class="icon-external-link mr-2" title="Ikona odkazu"></i>www.pirati.cz</a> </div><!-- /navigation --> </div><!-- /container --> </nav> diff --git a/donate/templates/donate/donate_home_page.html b/donate/templates/donate/donate_home_page.html index 67e06411d1591783432319f6e73843668c8ba7b1..d96ce5bb33295b64968d23e97e7ca4aa19e9e02c 100644 --- a/donate/templates/donate/donate_home_page.html +++ b/donate/templates/donate/donate_home_page.html @@ -9,10 +9,10 @@ <div class="container"> <div class="row align-items-center"> - <div class="col-12 col-lg-6 mb-4 mb-lg-0 py-4 text-center text-md-left"> + <div class="col-12 col-lg-7 mb-4 mb-lg-0 py-4 text-md-left"> <h1 class="lead homepage-heading">{{ page.lead_title }}</h1> - <p class="lead mb-4">{{ page.lead_body }}</p> - <div class="row align-items-center"> + <div class="lead lead-small mb-4">{{ page.lead_body|richtext }}</div> + <div class="row align-items-center text-center"> <div class="col-12 col-md-auto mb-4 mb-md-0"> <a href="#strana" class="btn btn-danger btn-lg btn-wide js-scroll-anchor">Chci darovat <i class="icon-chevron-right ml-2"></i></a> </div><!-- /column --> @@ -22,7 +22,7 @@ </div> <!-- /row --> </div><!-- /column --> - <div class="col-12 col-lg-6 text-center"> + <div class="col-12 col-lg-5"> {% image page.lead_preview width-500 as lead_preview %} {% if page.lead_video %} <a data-fancybox="" href="{{ page.lead_video }}" title="Přehrát video"> diff --git a/donate/templates/donate/donate_project_page.html b/donate/templates/donate/donate_project_page.html index c1867d0730ded4e767f52345112c76f8af197969..79d61e007f8dedff70525aa26f0b4a13aed94853 100644 --- a/donate/templates/donate/donate_project_page.html +++ b/donate/templates/donate/donate_project_page.html @@ -40,8 +40,8 @@ <div class="row project-images mb-3"> {% for block in page.gallery %} {% image block.value width-2000 as img %} - {% image block.value fill-150x100 as thumb %} - <div class="col-6 col-md-3"> + {% image block.value max-150x100 as thumb %} + <div> <a data-fancybox="gallery" href="{{ img.url }}"><img data-src="{{ thumb.url }}" class="lazyload img-fluid" alt="{{ img.alt }}"></a> </div><!-- /column --> {% endfor %} diff --git a/donate/templates/donate/donate_project_page_coalition.html b/donate/templates/donate/donate_project_page_coalition.html index c92de7649e0882d21accd5c4b8277d7ef5e3b098..7dc6647a874f535e59b95bd9152d16235e4953ff 100644 --- a/donate/templates/donate/donate_project_page_coalition.html +++ b/donate/templates/donate/donate_project_page_coalition.html @@ -53,7 +53,7 @@ <div class="row project-images mb-3"> {% for block in page.gallery %} {% image block.value width-2000 as img %} - {% image block.value fill-150x100 as thumb %} + {% image block.value max-150x100 as thumb %} <div class="col-6 col-md-3"> <a data-fancybox="gallery" href="{{ img.url }}"><img data-src="{{ thumb.url }}" class="lazyload img-fluid" alt="{{ img.alt }}"></a> </div><!-- /column --> diff --git a/donate/templates/donate/project_snippet.html b/donate/templates/donate/project_snippet.html index 14a430dc81904f15ec9cce96b0fe264c60005dc4..fd18746d1f14082254b4909a97e3f96d50303f1c 100644 --- a/donate/templates/donate/project_snippet.html +++ b/donate/templates/donate/project_snippet.html @@ -21,11 +21,12 @@ <p>Zatím vybráno <strong>{{ project.get_donated_amount|intcomma }} Kč</strong></p> {% endif %} </div> + {% if project.is_new %} - <ul class="project__flags"> - <li class="project__flag new">Nový projekt</li> - {# TODO <li class="project__flag almost">Už jen kousek</li> #} - </ul> + <ul class="project__flags"> + <li class="project__flag new">Nový projekt</li> + {# TODO <li class="project__flag almost">Už jen kousek</li> #} + </ul> {% endif %} </a> </div><!-- /column -->