From 0c382d0a7eedfcac276bf9adf13c3e2265aa57c4 Mon Sep 17 00:00:00 2001
From: cubicroot <github@cubicroot.xyz>
Date: Tue, 24 Dec 2024 09:08:04 +0100
Subject: [PATCH] Tag events from official assemblies

---
 src/plainui/jinja2/plainui/components/tagbox.html.j2 |  6 +++---
 src/plainui/jinja2/plainui/event.html.j2             | 11 +++++++++--
 src/plainui/locale/de/LC_MESSAGES/django.po          | 12 ++++++++++++
 src/plainui/locale/en/LC_MESSAGES/django.po          | 12 ++++++++++++
 4 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/src/plainui/jinja2/plainui/components/tagbox.html.j2 b/src/plainui/jinja2/plainui/components/tagbox.html.j2
index eb37aa4da..75437e786 100644
--- a/src/plainui/jinja2/plainui/components/tagbox.html.j2
+++ b/src/plainui/jinja2/plainui/components/tagbox.html.j2
@@ -1,16 +1,16 @@
-{% macro tag(text, icon=None, link=None, style="", target=None, rel=None) -%}
+{% macro tag(text, icon=None, link=None, style="", target=None, rel=None, title=None) -%}
   {% if link %}
     <a class="hub-tag hub-tag--{{ style }}"
        href="{{ link }}"
        {% if target %}target="{{ target }}"{% endif %}
        {% if rel %}rel="{{ rel }}"{% endif %}>
       {% if icon %}<i class="bi bi-{{ icon }}"></i>{% endif %}
-      <div class="hub-tag__text">{{ text }}</div>
+      <div {% if title %}title="{{ title }}"{% endif %} class="hub-tag__text">{{ text }}</div>
     </a>
   {% else %}
     <div class="hub-tag hub-tag--{{ style }}">
       {% if icon %}<i class="bi bi-{{ icon }}"></i>{% endif %}
-      <div class="hub-tag__text">{{ text }}</div>
+      <div {% if title %}title="{{ title }}"{% endif %} class="hub-tag__text">{{ text }}</div>
     </div>
   {% endif %}
 {%- endmacro %}
diff --git a/src/plainui/jinja2/plainui/event.html.j2 b/src/plainui/jinja2/plainui/event.html.j2
index d6db16f58..3b9ad7273 100644
--- a/src/plainui/jinja2/plainui/event.html.j2
+++ b/src/plainui/jinja2/plainui/event.html.j2
@@ -106,10 +106,17 @@
               <div class="hub-tags">
                 {{ eventMacro.recorded_tag(event.is_recorded) }}
 
-                {% if event.kind != 'official' %}
+                {% if assembly.is_official %}
+                  {{ tagboxMacro.tag(_("Event__official") ,
+                  style='secondary',
+                  icon='star-fill',
+                  title=_('Event__official__help')
+                  ) }}
+                {% elif event.kind != 'official' %}
                   {{ tagboxMacro.tag(_("Self-organized Session") if event.kind == 'sos' else _("Assembly-Event"),
                   style='secondary',
-                  icon='person-video3' if event.kind == 'sos' else 'person-arms-up'
+                  icon='person-video3' if event.kind == 'sos' else 'person-arms-up',
+                  title=_('Event__sos__help') if event.kind == 'sos' else _('Event__assembly__help'),
                   ) }}
                 {% endif %}
 
diff --git a/src/plainui/locale/de/LC_MESSAGES/django.po b/src/plainui/locale/de/LC_MESSAGES/django.po
index 2d02369df..35d730781 100644
--- a/src/plainui/locale/de/LC_MESSAGES/django.po
+++ b/src/plainui/locale/de/LC_MESSAGES/django.po
@@ -970,6 +970,18 @@ msgstr "folgen & erlaube '%(domain)s' immer"
 msgid "Event"
 msgstr "Veranstaltungen"
 
+msgid "Event__official"
+msgstr "offiziell"
+
+msgid "Event__official__help"
+msgstr "Offizielle Veranstaltung werden vom Veranstalter kuratiert."
+
+msgid "Event__sos__help"
+msgstr "Selbst organisierte Sessions werden durch Einzelpersonen veranstaltet."
+
+msgid "Event__assembly__help"
+msgstr "Assembly-Veranstaltungen werden von einer Assembly - einer vorangemeldeten Gruppe an Teilnehmenden - veranstaltet."
+
 msgid "Fahrplan"
 msgstr "Schedule"
 
diff --git a/src/plainui/locale/en/LC_MESSAGES/django.po b/src/plainui/locale/en/LC_MESSAGES/django.po
index 3e63a2246..64f61689e 100644
--- a/src/plainui/locale/en/LC_MESSAGES/django.po
+++ b/src/plainui/locale/en/LC_MESSAGES/django.po
@@ -970,6 +970,18 @@ msgstr ""
 msgid "Event"
 msgstr ""
 
+msgid "Event__official"
+msgstr "official"
+
+msgid "Event__official__help"
+msgstr "Official events are curated by the organizer."
+
+msgid "Event__sos__help"
+msgstr "Self-organized sessions are organized by individuals."
+
+msgid "Event__assembly__help"
+msgstr "Assembly events are organizeed by an assembly - a pre-registered group of participants."
+
 msgid "Fahrplan"
 msgstr "Schedule"
 
-- 
GitLab