diff sat_templates/templates/bulma/blog/blog.html @ 405:5016fb0ff62f

Blog redesign: work in progress redesign of the blog. Some templates have been moved from chat to components to be re-used in other features, like blog here. Blog follows same global design as chat with a left panel to search/open blogs.
author Goffi <goffi@goffi.org>
date Wed, 21 May 2025 15:41:00 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sat_templates/templates/bulma/blog/blog.html	Wed May 21 15:41:00 2025 +0200
@@ -0,0 +1,72 @@
+{# blog_page indicate if blog is included in an other page or if it is the main one #}
+{% if not embedded %}{% extends 'base/base.html' %}{% set blog_page = True %}{% endif %}
+{% set single = blog_items['items']|length == 1 %}
+{% set dates_format='relative' if single else 'short' %}
+{% import 'components/avatar.html' as avatar with context %}
+{% import 'blog/macros.html' as blog with context %}
+{% import 'input/navigation.html' as navigation with context %}
+{% import 'input/textbox.html' as textbox with context %}
+
+{%- block title scoped -%}
+    {%- if blog_page -%}
+        {%- if single -%}
+            {{- blog_items['items'][0].title|default(blog_items['items'][0].content, true)|truncate(60, True, '…') + ' - ' + C.APP_NAME -}}
+        {%- else -%}
+            {{C.APP_NAME}}
+            {# {{- super() -}}
+               FIXME: super() is failing if blog is embedded (i.e. base/base.html is not its direct parent)
+                      not sure what's the best way to avoid that, so just using C.APP_NAME for now #}
+        {%- endif -%}
+    {%- endif -%}
+{%- endblock title -%}
+
+{% block body %}
+    {{ icon_defs(
+    "ellipsis", "regular face-smile", "reply", "share", "star"
+    ) }}
+
+
+<div class="columns is-gapless blog-container">
+    <!-- Left Panel -->
+    <div class="column is-2 left-sidebar has-background-dark" id="left_panel">
+        {% include 'blog/discover_panel.html' %}
+    </div>
+    <div class="column is-8 main-panel blog-main" id="main_panel">
+        <div class="panel-header">
+            <div class="level is-mobile">
+                <div class="level-left">
+                    <div class="level-item">
+                        <button class="button is-small" id="left_panel-toggle" aria-label="Toggle left panel">
+                            <span class="icon"><i class="fas fa-bars"></i></span>
+                        </button>
+                    </div>
+                </div>
+                <div class="level-right">
+                    <div class="level-item">
+                        <button class="button is-small is-primary">
+                            <span class="icon"><i class="fas fa-circle-plus"></i></span>
+                            <span>New Post</span>
+                        </button>
+                    </div>
+                </div>
+            </div>
+        </div>
+        {% if blog_items['items'] %}
+            <div class="container mt-4">
+                <div id="blog_items" class="columns">
+                    <div class="column">
+                        {{ blog.show_items(blog_items['items'], expanded=single) }}
+                    </div>
+                </div>
+            </div>
+        {% else %}
+            <div class="message mt-4">
+                <div class="message-body">
+                    {% trans %}No articles found in this blog!{% endtrans %}
+                </div>
+            </div>
+        {% endif %}
+    </div>
+</div>
+
+{% endblock body %}