Skip to content
Snippets Groups Projects
Commit b6189376 authored by quido.zientek's avatar quido.zientek
Browse files

[FEATURE] toggle

parent e7bac6e4
No related branches found
No related tags found
3 merge requests!607Pirati.cz,!600Article menu,!575Feature/pirati cz
......@@ -310,7 +310,7 @@ class MainArticlesPage(
first_day_of_last_month = last_month.replace(day=1)
sorted_article_qs = MainArticlePage.objects.filter(
date__gt=first_day_of_last_month
date__gt=first_day_of_last_month, article_type=ARTICLE_TYPES.WORK_TIMELINE
).order_by("-date")
article_data_list = []
......@@ -336,7 +336,7 @@ class MainArticlesPage(
ctx = super().get_context(request, args, kwargs)
article_list = self.get_article_data_list(1)
ctx["article_data_list"] = article_list
ctx["show_next_articles"] = MainArticlePage.objects.count() > len(article_list)
ctx["show_next_articles"] = MainArticlePage.objects.filter(article_type=ARTICLE_TYPES.WORK_TIMELINE).count() > len(article_list)
return ctx
def get_articles_response(self, request):
......@@ -345,8 +345,8 @@ class MainArticlesPage(
"article_data_list": article_list
}
data = {
'html': render(request, 'main/blocks/articles_block.html', context).content.decode("utf-8"),
'last_article': article_list[-1] == MainArticlePage.objects.all().order_by('-date').last()
'html': render(request, 'main/blocks/articles_timeline_block.html', context).content.decode("utf-8"),
'last_article': article_list[-1] == MainArticlePage.objects.filter(article_type=ARTICLE_TYPES.WORK_TIMELINE).order_by('-date').last()
}
return JsonResponse(data=data, safe=False)
......
<section class="grid-container mb-4 justify-start xl:mb-14">
<div class="grid-content-with-right-side">
<div class="leading-6">
<h2 class="head-4xl mb-5 xl:hidden">
Články
</h2>
{{> molecules-person-article-preview }}
{{> molecules-person-article-preview }}
</div>
<div class="flex justify-center">
{{> atoms-button-animated(btn-text: "Zobrazit další", classes-btn-hidden: "bg-black") }}
</div>
</div>
</section>
{% for month_article_data in article_data_list %}
<div class="mb-4">
<h3 class="head-7xl mb-4 xl:hidden">
{{ month_article_data.month_text }}
</h3>
<div class="flex flex-col justify-between xl:flex-row">
<div class="xl:pt-8">
{% for article_page in month_article_data.left_column %}
{% include 'main/includes/work_article_preview.html' %}
{% empty %}
<div class="p-7 flex flex-col max-w-xl mb-8" />
{% endfor %}
</div>
<div class="relative border border-violet-400 mx-8 hidden xl:block">
<div class="absolute bg-violet-400 p-1 text-white font-bold" style="transform: translateX(-50%); top: -1rem">
{{ month_article_data.month_text }}
</div>
</div>
<div class="xl:pt-14">
{% for article_page in month_article_data.right_column %}
{% include 'main/includes/work_article_preview.html' %}
{% empty %}
<div class="p-7 flex flex-col max-w-xl mb-8" />
{% endfor %}
</div>
</div>
</div>
{% endfor %}
\ No newline at end of file
{% for month_article_data in article_data_list %}
<div class="mb-4">
<h2 class="head-4xl mb-5 xl:hidden">
{{ month_article_data.month_text }}
</h2>
<div class="article-timeline-grid justify-between">
<div class="article-timeline-grid__left-article xl:pt-8">
{% for article_page in month_article_data.left_column %}
{% include 'main/includes/work_article_preview.html' %}
{% empty %}
<div class="p-7 flex flex-col max-w-xl mb-8"/>
{% endfor %}
</div>
<div class="article-timeline-grid__timeline relative border border-violet-400 hidden xl:block">
<div class="article-timeline--month absolute bg-violet-400 p-1 text-white font-bold">
{{ month_article_data.month_text }}
</div>
</div>
<div class="article-timeline-grid__right-article xl:pt-14">
{% for article_page in month_article_data.right_column %}
{% include 'main/includes/work_article_preview.html' %}
{% empty %}
<div class="p-7 flex flex-col max-w-xl mb-8"/>
{% endfor %}
</div>
</div>
</div>
{% endfor %}
\ No newline at end of file
......@@ -15,14 +15,28 @@
</h2>
</div>
</div>
<div class="__js-root">
<ui-view-provider :initial="{timeline: true, articles: false}" :sync-location="true"
v-slot="{ isCurrentView, toggleView }">
<div class="grid-container article-section mb-8">
<div class="grid-full">
<div class="switch">
<a @click="toggleView('timeline')" class="switch__item"
:class="{'switch__item--active': isCurrentView('timeline')}">Poslanecká sněmovna</a>
<a @click="toggleView('articles')" class="switch__item"
:class="{'switch__item--active': isCurrentView('articles')}">Vláda</a>
</div>
</div>
</div>
<template v-if="isCurrentView('timeline')">
<div class="mt-20">
<div class="grid-container article-section">
<div class="grid-full mb-8">
<div id="searchResultWrapper">
{% include 'main/blocks/articles_block.html' with article_data_list=article_data_list %}
{% include 'main/blocks/articles_timeline_block.html' with article_data_list=article_data_list %}
</div>
{% if show_next_articles %}
<div class="text-center">
</div>
<div class="flex justify-center">
<a
onclick="showMoreArticles(event, this)"
href="#"
......@@ -39,8 +53,12 @@
</a>
</div>
</div>
</div>
</template>
<template v-if="isCurrentView('articles')">
{% endif %}
</template>
</ui-view-provider>
</div>
</main>
......@@ -56,9 +74,6 @@
headers: {"X-Requested-With": "XMLHttpRequest"},
})
const data = await response.json()
if (data.last_article) { btn.hide() }
searchResultWrapper.innerHTML = data.html
btn.setAttribute('data-months', parseInt(btn.getAttribute('data-months')) + 1)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment