diff --git a/app/templates/admin/components.html b/app/templates/admin/components.html index d257dcb1..abb50265 100644 --- a/app/templates/admin/components.html +++ b/app/templates/admin/components.html @@ -91,6 +91,216 @@ html {
+ Reusable Components: Use Jinja macros from shared/macros/ instead of copy-pasting HTML. This ensures consistency and makes updates easier.
+
Table pagination with page numbers
+pagination(), pagination_simple()
+ Alerts, loading states, toasts
+loading_state(), error_state(), alert(), toast()
+ Status badges and indicators
+badge(), status_badge(), verification_badge(), role_badge()
+ Button variants and action buttons
+btn_primary(), btn_secondary(), action_button()
+ Form inputs with validation
+form_input(), form_select(), form_textarea()
+ Table components and empty states
+table_wrapper(), table_header(), table_empty_state()
+ Stat cards and info cards
+stat_card(), card(), info_card(), coming_soon_card()
+ Page headers and breadcrumbs
+page_header(), section_header(), breadcrumbs()
+ {# Import at the top of your template #}
+{% raw %}{% from 'shared/macros/pagination.html' import pagination %}
+{% from 'shared/macros/alerts.html' import loading_state, error_state %}
+{% from 'shared/macros/badges.html' import status_badge, verification_badge %}
+{% from 'shared/macros/buttons.html' import btn_primary, action_button %}
+{% from 'shared/macros/cards.html' import stat_card %}
+{% from 'shared/macros/headers.html' import page_header %}
+
+{# Then use in your template #}
+{{ page_header('User Management', action_label='Create User', action_url='/users/create') }}
+
+{{ loading_state('Loading users...') }}
+{{ error_state('Error loading users') }}
+
+{# In your table #}
+{{ pagination() }}{% endraw %}
+
+ Use the pagination() macro. Requires Alpine.js properties: pagination, startIndex, endIndex, totalPages, pageNumbers.
+
+ Use pagination_simple() for a simpler prev/next navigation.
+