diff --git a/uniweb/migrations/0042_uniwebhomepage_hide_footer_uniwebhomepage_logo.py b/uniweb/migrations/0042_uniwebhomepage_hide_footer_uniwebhomepage_logo.py new file mode 100644 index 0000000000000000000000000000000000000000..1c156e75ca5690409497eb1337ddc7ef32d267df --- /dev/null +++ b/uniweb/migrations/0042_uniwebhomepage_hide_footer_uniwebhomepage_logo.py @@ -0,0 +1,36 @@ +# Generated by Django 4.1.8 on 2023-05-01 14:17 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("wagtailimages", "0025_alter_image_file_alter_rendition_file"), + ("uniweb", "0041_alter_uniwebflexiblepage_content_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="uniwebhomepage", + name="hide_footer", + field=models.BooleanField( + default=False, + help_text="Chcete zobrazit patičku?", + verbose_name="skrýt patičku", + ), + ), + migrations.AddField( + model_name="uniwebhomepage", + name="logo", + field=models.ForeignKey( + blank=True, + help_text="Pokud žádné nezadáte, použije se default logo pirátů", + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="uniweb_logo_image", + to="wagtailimages.image", + verbose_name="Logo pro web", + ), + ), + ] diff --git a/uniweb/models.py b/uniweb/models.py index 7c191ff29a7cbcebb6f352947cbe915ac0a0ba4b..bbfa81c75aa54024d99f3abf183b9e896ac10359 100644 --- a/uniweb/models.py +++ b/uniweb/models.py @@ -322,6 +322,15 @@ class UniwebHomePage( blank=True, null=True, ) + logo = models.ForeignKey( + "wagtailimages.Image", + on_delete=models.PROTECT, + blank=True, + null=True, + verbose_name="Logo pro web", + help_text="Pokud žádné nezadáte, použije se default logo pirátů", + related_name="uniweb_logo_image", + ) top_menu = StreamField( [("item", MenuItemBlock())], verbose_name="horní menu", @@ -335,7 +344,9 @@ class UniwebHomePage( ) ### Footer - + hide_footer = models.BooleanField( + "skrýt patičku", default=False, help_text="Chcete skrýt patičku?" + ) show_logo = models.BooleanField( "zobrazit logo", default=True, help_text="Zobrazit logo" ) @@ -360,6 +371,7 @@ class UniwebHomePage( promote_panels = make_promote_panels(admin_help.build(admin_help.IMPORTANT_TITLE)) settings_panels = [ + FieldPanel("logo"), MultiFieldPanel( [ FieldPanel("matomo_id"), @@ -371,6 +383,7 @@ class UniwebHomePage( FieldPanel("calendar_url"), MultiFieldPanel( [ + FieldPanel("hide_footer"), FieldPanel("show_logo"), FieldPanel("show_social_links"), FieldPanel("show_pirate_buttons"), diff --git a/uniweb/templates/uniweb/base.html b/uniweb/templates/uniweb/base.html index b4f780c67c8852d3ec08b492428eeb6164108aae..78c699fc4acbf72b0da2b1478d149a6d44b8597f 100644 --- a/uniweb/templates/uniweb/base.html +++ b/uniweb/templates/uniweb/base.html @@ -57,7 +57,7 @@ <div class="container container--default navbar__content" :class="{'navbar__content--initialized': true}"> <div class="navbar__brand my-4 flex items-center lg:pr-8 lg:my-0"> <a href="/"> - <img src="https://styleguide.pirati.cz/2.3.x/images/logo-round-white.svg" class="w-8" /> + {% include "uniweb/logo_snippet.html" %} </a> <a href="/" class="pl-4 font-bold text-xl lg:border-r lg:border-grey-300 lg:pr-8">{{ page.root_page.title }}</a> </div> @@ -87,70 +87,72 @@ {% block content %}{% endblock %} </div> - <footer class="footer bg-grey-700 text-white __js-root"> - <ui-app inline-template> - <div> - <div class="footer__main py-4 lg:py-16 container container--default"> - <section class="footer__brand"> - {% if page.root_page.show_logo %} - <a href="https://www.pirati.cz"> - <img src="https://styleguide.pirati.cz/2.3.x/images/logo-full-white.svg" alt="logo pirátské strany" class="w-32 md:w-40 pb-6" /> - </a> - {% endif %} - <p class="para hidden md:block md:mb-4 lg:mb-0 text-grey-200"> - <span class="copyleft inline-block">©</span> {% now "Y" %} Piráti. Všechna práva vyhlazena. Sdílejte a nechte ostatní sdílet za stejných podmínek. - </p> - </section> - <section class="footer__social lg:text-right"> - <div class="mb-4"> - {% if page.root_page.show_social_links %} - <div class="social-icon-group space-x-2 text-white pb-4"> - <a href="https://www.pirati.cz" class="social-icon "><i class="ico--home"></i></a> - <a href="https://www.facebook.com/ceska.piratska.strana/" class="social-icon "><i class="ico--facebook"></i></a> - <a href="https://twitter.com/PiratskaStrana" class="social-icon "><i class="ico--twitter"></i></a> - <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> - </div> + {% if not page.root_page.hide_footer %} + <footer class="footer bg-grey-700 text-white __js-root"> + <ui-app inline-template> + <div> + <div class="footer__main py-4 lg:py-16 container container--default"> + <section class="footer__brand"> + {% if page.root_page.show_logo %} + <a href="https://www.pirati.cz"> + <img src="https://styleguide.pirati.cz/2.3.x/images/logo-full-white.svg" alt="logo pirátské strany" class="w-32 md:w-40 pb-6" /> + </a> {% endif %} - </div> - <div class="flex flex-col md:flex-row lg:flex-col lg:items-end space-y-2 md:space-y-0 md:space-x-2 lg:space-x-0 lg:space-y-2"> - {% if page.root_page.show_pirate_buttons %} - <a href="https://dary.pirati.cz" class="btn btn--icon btn--cyan-200 btn--hoveractive text-lg btn--fullwidth sm:btn--autowidth"> - <div class="btn__body-wrap"> - <div class="btn__body ">Darovat</div> - <div class="btn__icon "> - <i class="ico--pig"></i> - </div> + <p class="para hidden md:block md:mb-4 lg:mb-0 text-grey-200"> + <span class="copyleft inline-block">©</span> {% now "Y" %} Piráti. Všechna práva vyhlazena. Sdílejte a nechte ostatní sdílet za stejných podmínek. + </p> + </section> + <section class="footer__social lg:text-right"> + <div class="mb-4"> + {% if page.root_page.show_social_links %} + <div class="social-icon-group space-x-2 text-white pb-4"> + <a href="https://www.pirati.cz" class="social-icon "><i class="ico--home"></i></a> + <a href="https://www.facebook.com/ceska.piratska.strana/" class="social-icon "><i class="ico--facebook"></i></a> + <a href="https://twitter.com/PiratskaStrana" class="social-icon "><i class="ico--twitter"></i></a> + <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> </div> - </a> - <a href="https://nalodeni.pirati.cz" class="btn btn--icon btn--blue-300 btn--hoveractive text-lg btn--fullwidth sm:btn--autowidth"> - <div class="btn__body-wrap"> - <div class="btn__body ">Nalodit</div> - <div class="btn__icon "> - <i class="ico--anchor"></i> + {% endif %} + </div> + <div class="flex flex-col md:flex-row lg:flex-col lg:items-end space-y-2 md:space-y-0 md:space-x-2 lg:space-x-0 lg:space-y-2"> + {% if page.root_page.show_pirate_buttons %} + <a href="https://dary.pirati.cz" class="btn btn--icon btn--cyan-200 btn--hoveractive text-lg btn--fullwidth sm:btn--autowidth"> + <div class="btn__body-wrap"> + <div class="btn__body ">Darovat</div> + <div class="btn__icon "> + <i class="ico--pig"></i> + </div> </div> - </div> - </a> - {% endif %} - </div> - </section> - {% if page.root_page.footer_links %} - {% include_block page.root_page.footer_links with container="flex flex-col md:flex-row lg:flex-col lg:items-end space-y-2 md:space-y-0 md:space-x-2 lg:space-x-0 lg:space-y-2" %} - {% endif %} - </div> - </div> - </ui-app> - {% if page.root_page.footer_extra_content %} - <section class="bg-black py-4 lg:py-12"> - <div class="container container--default"> - <div class="grid gap-4 grid-cols-1 md:grid-cols-2 xl:grid-cols-3"> - {{ page.root_page.footer_extra_content|richtext }} - </div> + </a> + <a href="https://nalodeni.pirati.cz" class="btn btn--icon btn--blue-300 btn--hoveractive text-lg btn--fullwidth sm:btn--autowidth"> + <div class="btn__body-wrap"> + <div class="btn__body ">Nalodit</div> + <div class="btn__icon "> + <i class="ico--anchor"></i> + </div> + </div> + </a> + {% endif %} + </div> + </section> + {% if page.root_page.footer_links %} + {% include_block page.root_page.footer_links with container="flex flex-col md:flex-row lg:flex-col lg:items-end space-y-2 md:space-y-0 md:space-x-2 lg:space-x-0 lg:space-y-2" %} + {% endif %} + </div> </div> - </section> - {% endif %} - </footer> + </ui-app> + {% if page.root_page.footer_extra_content %} + <section class="bg-black py-4 lg:py-12"> + <div class="container container--default"> + <div class="grid gap-4 grid-cols-1 md:grid-cols-2 xl:grid-cols-3"> + {{ page.root_page.footer_extra_content|richtext }} + </div> + </div> + </section> + {% endif %} + </footer> + {% endif %} <script src="{% static "shared/vendor/vue/vue.2.6.11.js" %}"></script> <script src="https://styleguide.pirati.cz/2.3.x/js/main.bundle.js"></script> diff --git a/uniweb/templates/uniweb/logo_snippet.html b/uniweb/templates/uniweb/logo_snippet.html new file mode 100644 index 0000000000000000000000000000000000000000..49eebc74f7e5f4e1fae5fc36207fa04943b2e41f --- /dev/null +++ b/uniweb/templates/uniweb/logo_snippet.html @@ -0,0 +1,8 @@ +{% load static wagtailimages_tags %} + +{% if page.root_page.logo %} + {% image page.root_page.logo original as logo %} + <img src="{{ logo.full_url }}" class="w-8" /> +{% else %} + <img src="https://styleguide.pirati.cz/2.3.x/images/logo-round-white.svg" class="w-8" /> +{% endif %}