From b1a29710098b674204c5172afa18a07ff27d7180 Mon Sep 17 00:00:00 2001 From: Samir Boulahtit Date: Sat, 13 Dec 2025 22:40:13 +0100 Subject: [PATCH] docs: add language selector macro to admin components showcase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add language_selector.html to the Jinja Macros section with: - Entry in Available Macro Files grid - Live demo showing all three variants: - language_selector() - full dropdown with labels - language_selector_compact() - flag icon only - language_toggle() - toggle for 2 languages - Code examples with copy functionality 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- app/templates/admin/components.html | 72 +++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/app/templates/admin/components.html b/app/templates/admin/components.html index f6e844c6..a45c790a 100644 --- a/app/templates/admin/components.html +++ b/app/templates/admin/components.html @@ -1476,6 +1476,14 @@ html {

Specialized input components

search_autocomplete(), number_stepper() +
+

+ + language_selector.html +

+

Language/i18n components

+ language_selector(), language_selector_compact(), language_toggle() +
@@ -1576,6 +1584,70 @@ html { Copy Code + + +
+

Language Selector

+

+ Language selector components for multi-language support. Use macros from language_selector.html. Supports dropdown, compact (icon-only), and toggle variants. +

+
+ +
+
+ + {% from 'shared/macros/language_selector.html' import language_selector %} + {{ language_selector(current_language='fr', enabled_languages=['en', 'fr', 'de', 'lb'], position='left') }} +
+
+ + {% from 'shared/macros/language_selector.html' import language_selector_compact %} + {{ language_selector_compact(current_language='de', enabled_languages=['en', 'fr', 'de'], position='left') }} +
+
+ + {% from 'shared/macros/language_selector.html' import language_toggle %} + {{ language_toggle(current_language='fr', enabled_languages=['fr', 'de']) }} +
+
+
+
+
{% raw %}{% from 'shared/macros/language_selector.html' import language_selector, language_selector_compact, language_toggle %}
+
+{# Full dropdown with labels #}
+{{ language_selector(
+    current_language='fr',
+    enabled_languages=['en', 'fr', 'de', 'lb'],
+    position='right'
+) }}
+
+{# Compact (flag icon only) - good for headers #}
+{{ language_selector_compact(
+    current_language='fr',
+    enabled_languages=['en', 'fr', 'de'],
+    position='right'
+) }}
+
+{# Toggle for 2 languages #}
+{{ language_toggle(
+    current_language='fr',
+    enabled_languages=['fr', 'de']
+) }}{% endraw %}
+
+ +