django-unfold 0.43.0__py3-none-any.whl → 0.44.0__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- {django_unfold-0.43.0.dist-info → django_unfold-0.44.0.dist-info}/METADATA +1 -1
- {django_unfold-0.43.0.dist-info → django_unfold-0.44.0.dist-info}/RECORD +129 -117
- {django_unfold-0.43.0.dist-info → django_unfold-0.44.0.dist-info}/WHEEL +1 -1
- unfold/contrib/filters/admin.py +5 -5
- unfold/contrib/filters/templates/unfold/filters/filters_date_range.html +1 -1
- unfold/contrib/filters/templates/unfold/filters/filters_datetime_range.html +1 -1
- unfold/contrib/filters/templates/unfold/filters/filters_numeric_range.html +1 -1
- unfold/contrib/filters/templates/unfold/filters/filters_numeric_single.html +1 -1
- unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html +3 -3
- unfold/contrib/forms/templates/unfold/forms/array.html +3 -3
- unfold/contrib/forms/templates/unfold/forms/helpers/toolbar.html +25 -25
- unfold/contrib/forms/widgets.py +5 -5
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html +1 -1
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html +2 -2
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html +2 -2
- unfold/contrib/guardian/templates/unfold/guardian/group_form.html +8 -8
- unfold/contrib/guardian/templates/unfold/guardian/user_form.html +8 -8
- unfold/contrib/import_export/templates/admin/import_export/change_form.html +1 -1
- unfold/contrib/import_export/templates/admin/import_export/export.html +4 -4
- unfold/contrib/import_export/templates/admin/import_export/import_confirm.html +4 -4
- unfold/contrib/import_export/templates/admin/import_export/import_errors.html +2 -2
- unfold/contrib/import_export/templates/admin/import_export/import_form.html +2 -2
- unfold/contrib/import_export/templates/admin/import_export/import_preview.html +5 -5
- unfold/contrib/import_export/templates/admin/import_export/import_validation.html +8 -8
- unfold/contrib/simple_history/templates/simple_history/object_history.html +2 -2
- unfold/contrib/simple_history/templates/simple_history/object_history_form.html +1 -1
- unfold/contrib/simple_history/templates/simple_history/object_history_list.html +9 -9
- unfold/contrib/simple_history/templates/simple_history/submit_line.html +4 -4
- unfold/forms.py +13 -2
- unfold/settings.py +20 -7
- unfold/sites.py +23 -8
- unfold/static/admin/js/inlines.js +2 -2
- unfold/static/unfold/css/styles.css +1 -1
- unfold/static/unfold/js/alpine.resize.js +1 -0
- unfold/static/unfold/js/app.js +52 -71
- unfold/static/unfold/js/htmx.js +1 -1
- unfold/styles.css +67 -71
- unfold/templates/admin/actions.html +19 -17
- unfold/templates/admin/app_list.html +3 -3
- unfold/templates/admin/auth/user/add_form.html +1 -1
- unfold/templates/admin/auth/user/change_password.html +2 -2
- unfold/templates/admin/base.html +1 -1
- unfold/templates/admin/change_list.html +24 -30
- unfold/templates/admin/change_list_results.html +40 -6
- unfold/templates/admin/date_hierarchy.html +1 -1
- unfold/templates/admin/delete_confirmation.html +7 -7
- unfold/templates/admin/delete_selected_confirmation.html +7 -7
- unfold/templates/admin/edit_inline/stacked.html +4 -4
- unfold/templates/admin/edit_inline/tabular.html +8 -151
- unfold/templates/admin/filter.html +7 -7
- unfold/templates/admin/includes/fieldset.html +2 -2
- unfold/templates/admin/includes/object_delete_summary.html +1 -1
- unfold/templates/admin/login.html +4 -4
- unfold/templates/admin/nav_sidebar.html +1 -8
- unfold/templates/admin/object_history.html +7 -7
- unfold/templates/admin/pagination.html +36 -30
- unfold/templates/admin/search_form.html +11 -9
- unfold/templates/admin/submit_line.html +11 -11
- unfold/templates/auth/widgets/read_only_password_hash.html +1 -1
- unfold/templates/registration/logged_out.html +3 -3
- unfold/templates/registration/password_change_done.html +1 -1
- unfold/templates/registration/password_change_form.html +1 -1
- unfold/templates/unfold/components/button.html +1 -1
- unfold/templates/unfold/components/card.html +4 -4
- unfold/templates/unfold/components/chart/cohort.html +1 -1
- unfold/templates/unfold/components/navigation.html +2 -2
- unfold/templates/unfold/components/separator.html +1 -1
- unfold/templates/unfold/components/table.html +6 -6
- unfold/templates/unfold/components/tracker.html +1 -1
- unfold/templates/unfold/helpers/account_links.html +6 -6
- unfold/templates/unfold/helpers/actions_row.html +5 -5
- unfold/templates/unfold/helpers/add_link.html +1 -1
- unfold/templates/unfold/helpers/app_list.html +10 -10
- unfold/templates/unfold/helpers/app_list_default.html +10 -10
- unfold/templates/unfold/helpers/boolean.html +1 -1
- unfold/templates/unfold/helpers/breadcrumb_item.html +1 -1
- unfold/templates/unfold/helpers/change_list_actions.html +13 -0
- unfold/templates/unfold/helpers/change_list_filter.html +31 -0
- unfold/templates/unfold/helpers/change_list_filter_actions.html +23 -0
- unfold/templates/unfold/helpers/delete_submit_line.html +2 -2
- unfold/templates/unfold/helpers/display_header.html +3 -3
- unfold/templates/unfold/helpers/edit_inline/tabular_delete.html +13 -0
- unfold/templates/unfold/helpers/edit_inline/tabular_error.html +8 -0
- unfold/templates/unfold/helpers/edit_inline/tabular_field.html +25 -0
- unfold/templates/unfold/helpers/edit_inline/tabular_heading.html +25 -0
- unfold/templates/unfold/helpers/edit_inline/tabular_row.html +27 -0
- unfold/templates/unfold/helpers/edit_inline/tabular_title.html +49 -0
- unfold/templates/unfold/helpers/field_readonly.html +1 -1
- unfold/templates/unfold/helpers/field_readonly_value.html +1 -1
- unfold/templates/unfold/helpers/fieldset_row.html +5 -73
- unfold/templates/unfold/helpers/fieldset_row_checkbox.html +45 -0
- unfold/templates/unfold/helpers/fieldset_row_field.html +21 -0
- unfold/templates/unfold/helpers/fieldsets_tabs.html +2 -2
- unfold/templates/unfold/helpers/header.html +1 -1
- unfold/templates/unfold/helpers/history.html +4 -4
- unfold/templates/unfold/helpers/label.html +1 -1
- unfold/templates/unfold/helpers/language_switch.html +3 -3
- unfold/templates/unfold/helpers/messages/debug.html +1 -1
- unfold/templates/unfold/helpers/messages/error.html +1 -1
- unfold/templates/unfold/helpers/messages/errornote.html +1 -1
- unfold/templates/unfold/helpers/messages/info.html +1 -1
- unfold/templates/unfold/helpers/messages/success.html +1 -1
- unfold/templates/unfold/helpers/messages/warning.html +1 -1
- unfold/templates/unfold/helpers/navigation.html +3 -11
- unfold/templates/unfold/helpers/navigation_header.html +13 -0
- unfold/templates/unfold/helpers/pagination_ellipsis.html +1 -1
- unfold/templates/unfold/helpers/search.html +5 -5
- unfold/templates/unfold/helpers/search_results.html +2 -2
- unfold/templates/unfold/helpers/site_icon.html +7 -5
- unfold/templates/unfold/helpers/site_logo.html +1 -1
- unfold/templates/unfold/helpers/submit.html +1 -1
- unfold/templates/unfold/helpers/tab_action.html +2 -2
- unfold/templates/unfold/helpers/tab_list.html +9 -9
- unfold/templates/unfold/helpers/theme_switch.html +5 -5
- unfold/templates/unfold/helpers/userlinks.html +4 -0
- unfold/templates/unfold/helpers/welcomemsg.html +7 -3
- unfold/templates/unfold/layouts/base_simple.html +2 -2
- unfold/templates/unfold/layouts/skeleton.html +11 -5
- unfold/templates/unfold/widgets/clearable_file_input.html +6 -6
- unfold/templates/unfold/widgets/clearable_file_input_small.html +7 -7
- unfold/templates/unfold/widgets/foreign_key_raw_id.html +1 -1
- unfold/templates/unfold/widgets/radio.html +1 -1
- unfold/templates/unfold/widgets/range.html +1 -1
- unfold/templates/unfold/widgets/related_widget_wrapper.html +4 -4
- unfold/templates/unfold/widgets/textarea_expandable.html +1 -1
- unfold/templatetags/unfold.py +104 -0
- unfold/templatetags/unfold_list.py +9 -4
- unfold/widgets.py +31 -28
- unfold/templates/unfold/change_list_filter.html +0 -57
- {django_unfold-0.43.0.dist-info → django_unfold-0.44.0.dist-info}/LICENSE.md +0 -0
@@ -1,14 +1,7 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
3
|
<div class="relative z-50">
|
4
|
-
<div
|
5
|
-
class="fixed bottom-0 bg-gray-700 cursor-pointer flex items-center left-0 mb-2 ml-2 justify-center px-2 py-1 rounded-full shadow-sm text-xs text-white uppercase z-50 xl:hidden"
|
6
|
-
:class="{'ml-72 -translate-x-1/2': sidebarMobileOpen}">
|
7
|
-
{% trans "Menu" %}
|
8
|
-
</div>
|
9
|
-
|
10
|
-
|
11
|
-
<div :class="{'xl:block': sidebarDesktopOpen, 'xl:hidden': !sidebarDesktopOpen, 'max-xl:fixed': sidebarMobileOpen, 'hidden': !sidebarMobileOpen }">
|
4
|
+
<div class="fixed hidden xl:relative xl:block" x-bind:class="{'xl:!hidden': !sidebarDesktopOpen, '!block': sidebarMobileOpen}">
|
12
5
|
{% include "unfold/helpers/navigation.html" %}
|
13
6
|
</div>
|
14
7
|
</div>
|
@@ -27,8 +27,8 @@
|
|
27
27
|
|
28
28
|
{% block content %}
|
29
29
|
{% if action_list %}
|
30
|
-
<table class="border-
|
31
|
-
<thead class="hidden lg:table-header-group text-
|
30
|
+
<table class="border-base-200 border-spacing-none border-separate mb-6 w-full lg:border lg:rounded lg:shadow-sm lg:dark:border-base-800">
|
31
|
+
<thead class="hidden lg:table-header-group text-base-900 dark:text-base-100">
|
32
32
|
<tr>
|
33
33
|
<th class="align-middle font-medium px-3 py-2 text-left">
|
34
34
|
{% translate 'Date/time' %}
|
@@ -46,16 +46,16 @@
|
|
46
46
|
|
47
47
|
<tbody>
|
48
48
|
{% for action in action_list %}
|
49
|
-
<tr class="block border mb-3 rounded
|
50
|
-
<th class="align-middle flex border-t border-
|
49
|
+
<tr class="block border mb-3 rounded shadow-sm lg:table-row lg:border-none lg:mb-0 lg:shadow-none dark:border-base-800">
|
50
|
+
<th class="align-middle flex border-t border-base-200 font-normal px-3 py-2 text-left before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-base-800" data-label="{% translate 'Date/time' %}">
|
51
51
|
{{ action.action_time|date:"DATETIME_FORMAT" }}
|
52
52
|
</th>
|
53
53
|
|
54
|
-
<td class="align-middle flex border-t border-
|
54
|
+
<td class="align-middle flex border-t border-base-200 font-normal px-3 py-2 text-left before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-base-800" data-label="{% translate 'User' %}">
|
55
55
|
{{ action.user.get_username }}{% if action.user.get_full_name %} ({{ action.user.get_full_name }}){% endif %}
|
56
56
|
</td>
|
57
57
|
|
58
|
-
<td class="align-middle flex border-t border-
|
58
|
+
<td class="align-middle flex border-t border-base-200 font-normal px-3 py-2 text-left before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-base-800" data-label="{% translate 'Action' %}">
|
59
59
|
{{ action.get_change_message }}
|
60
60
|
</td>
|
61
61
|
</tr>
|
@@ -63,7 +63,7 @@
|
|
63
63
|
</tbody>
|
64
64
|
</table>
|
65
65
|
|
66
|
-
<div class="bg-
|
66
|
+
<div class="bg-base-50 flex my-4 items-center p-3 rounded dark:bg-base-800">
|
67
67
|
{% if pagination_required %}
|
68
68
|
{% for i in page_range %}
|
69
69
|
<span class="pr-4">
|
@@ -1,39 +1,45 @@
|
|
1
1
|
{% load unfold_list i18n %}
|
2
2
|
|
3
|
-
<div
|
4
|
-
{% if
|
5
|
-
{%
|
6
|
-
<div class="{% if
|
7
|
-
{%
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
<div {% if not is_popup %}id="submit-row"{% endif %} class="relative z-20">
|
4
|
+
<div class="{% if not is_popup %}max-w-full lg:bottom-0 lg:fixed lg:left-0 lg:right-0{% endif %}" {% if not is_popup %}x-bind:class="{'xl:left-0': !sidebarDesktopOpen, 'xl:left-72': sidebarDesktopOpen}"{% endif %} x-bind:style="'width: ' + mainWidth + 'px'">
|
5
|
+
<div class="lg:backdrop-blur-sm lg:bg-white/80 lg:flex lg:items-center lg:dark:bg-base-900/80 {% if not is_popup %}lg:border-t lg:border-base-200 lg:h-[71px] lg:py-2 lg:relative lg:scrollable-top lg:px-8 lg:dark:border-base-800{% endif %}">
|
6
|
+
<div class="flex flex-row items-center {% if not cl.model_admin.list_fullwidth %}lg:mx-auto{% endif %}" x-bind:style="'width: ' + changeListWidth + 'px'">
|
7
|
+
{% if pagination_required %}
|
8
|
+
{% for i in page_range %}
|
9
|
+
<div class="{% if forloop.last %}pr-2{% else %}pr-4{% endif %}">
|
10
|
+
{% paginator_number cl i %}
|
11
|
+
</div>
|
12
|
+
{% endfor %}
|
13
|
+
{% endif %}
|
11
14
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
15
|
+
<div class="py-4">
|
16
|
+
{% if pagination_required %}
|
17
|
+
-
|
18
|
+
{% endif %}
|
16
19
|
|
17
|
-
|
20
|
+
{{ cl.result_count }}
|
18
21
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
{% if cl.result_count == 1 %}
|
23
|
+
{{ cl.opts.verbose_name }}
|
24
|
+
{% else %}
|
25
|
+
{{ cl.opts.verbose_name_plural }}
|
26
|
+
{% endif %}
|
27
|
+
</div>
|
25
28
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
29
|
+
{% if show_all_url %}
|
30
|
+
<a href="{{ show_all_url }}" class="showall ml-4 text-primary-600 dark:text-primary-500">
|
31
|
+
{% translate 'Show all' %}
|
32
|
+
</a>
|
33
|
+
{% endif %}
|
31
34
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
35
|
+
{% if cl.formset and cl.result_count %}
|
36
|
+
<div class="ml-auto">
|
37
|
+
<button type="submit" name="_save" class="bg-primary-600 block border border-transparent font-medium px-3 py-2 rounded text-white w-full">
|
38
|
+
{% translate 'Save' %}
|
39
|
+
</button>
|
40
|
+
</div>
|
41
|
+
{% endif %}
|
42
|
+
</div>
|
37
43
|
</div>
|
38
|
-
|
44
|
+
</div>
|
39
45
|
</div>
|
@@ -2,16 +2,18 @@
|
|
2
2
|
|
3
3
|
{% if cl.search_fields %}
|
4
4
|
<div id="toolbar">
|
5
|
-
<
|
6
|
-
<
|
5
|
+
<form id="changelist-search" method="get" role="search">
|
6
|
+
<div class="bg-white border border-base-200 flex rounded overflow-hidden shadow-sm lg:w-96 focus-within:ring focus-within:ring-primary-300 focus-within:border-primary-600 dark:bg-base-900 dark:border-base-700 dark:focus-within:border-primary-600 dark:focus-within:ring-primary-700 dark:focus-within:ring-opacity-50">
|
7
|
+
<input class="font-medium grow min-w-0 h-9 px-3 text-font-default-light text-sm focus:outline-none dark:bg-base-900 dark:text-font-default-dark placeholder-shown:truncate placeholder-base-400" type="text" name="{{ search_var }}" value="{{ cl.query }}" id="searchbar" placeholder="{% if cl.search_help_text %}{{ cl.search_help_text }}{% else %}{% trans "Type to search" %}{% endif %}" />
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
<button type="submit" class="flex items-center px-2 focus:outline-none" id="searchbar-submit">
|
10
|
+
<span class="material-symbols-outlined md-18 text-base-400 dark:text-base-500">search</span>
|
11
|
+
</button>
|
12
|
+
</div>
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
14
|
+
{% for pair in cl.params.items %}
|
15
|
+
{% if pair.0 != search_var %}<input type="hidden" name="{{ pair.0 }}" value="{{ pair.1 }}">{% endif %}
|
16
|
+
{% endfor %}
|
17
|
+
</form>
|
16
18
|
</div>
|
17
19
|
{% endif %}
|
@@ -1,24 +1,24 @@
|
|
1
1
|
{% load i18n admin_urls %}
|
2
2
|
|
3
|
-
<div {% if not is_popup %}id="submit-row"{% endif %} class="relative mt-16 z-20">
|
4
|
-
<div class="{% if not is_popup %}lg:bottom-0 lg:fixed lg:left-0 lg:right-0{% endif %}" {% if not is_popup %}x-bind:class="{'xl:left-0': !sidebarDesktopOpen, 'xl:left-72': sidebarDesktopOpen}"{% endif %}>
|
5
|
-
<div class="bg-white dark:bg-
|
6
|
-
<div class="
|
3
|
+
<div {% if not is_popup %}id="submit-row"{% endif %} class="relative lg:mt-16 z-20">
|
4
|
+
<div class="{% if not is_popup %}max-w-full lg:bottom-0 lg:fixed lg:left-0 lg:right-0{% endif %}" {% if not is_popup %}x-bind:class="{'xl:left-0': !sidebarDesktopOpen, 'xl:left-72': sidebarDesktopOpen}"{% endif %} x-bind:style="'width: ' + mainWidth + 'px'">
|
5
|
+
<div class="backdrop-blur-sm bg-white/80 pb-4 dark:bg-base-900/80 {% if not is_popup %}lg:border-t lg:border-base-200 lg:py-4 relative lg:scrollable-top lg:px-8 dark:border-base-800{% endif %}">
|
6
|
+
<div class="flex flex-col-reverse gap-3 items-center mx-auto lg:flex-row-reverse">
|
7
7
|
{% block submit-row %}
|
8
8
|
{% if show_save %}
|
9
|
-
<button type="submit" name="_save" class="bg-primary-600 block border border-transparent font-medium px-3 py-2 rounded
|
9
|
+
<button type="submit" name="_save" class="bg-primary-600 block border border-transparent font-medium px-3 py-2 rounded text-white w-full lg:w-auto">
|
10
10
|
{% translate 'Save' %}
|
11
11
|
</button>
|
12
12
|
{% endif %}
|
13
13
|
|
14
14
|
{% for action in actions_submit_line %}
|
15
|
-
<button type="submit" {% if not action.attrs.name %}name="{{ action.action_name }}"{% endif %} class="border font-medium px-3 py-2 rounded
|
15
|
+
<button type="submit" {% if not action.attrs.name %}name="{{ action.action_name }}"{% endif %} class="border border-base-200 font-medium px-3 py-2 rounded transition-all w-full hover:bg-base-50 lg:w-auto dark:border-base-700 dark:hover:text-base-200 dark:hover:bg-base-900" {% include "unfold/helpers/attrs.html" with attrs=action.attrs %}>
|
16
16
|
{{ action.description }}
|
17
17
|
</button>
|
18
18
|
{% endfor %}
|
19
19
|
|
20
20
|
{% if show_save_and_continue %}
|
21
|
-
<button type="submit" name="_continue" class="border font-medium px-3 py-2 rounded
|
21
|
+
<button type="submit" name="_continue" class="border border-base-200 font-medium px-3 py-2 rounded transition-all w-full hover:bg-base-50 lg:block lg:w-auto dark:border-base-700 dark:hover:text-base-200 dark:hover:bg-base-900">
|
22
22
|
{% if can_change %}
|
23
23
|
{% translate 'Save and continue editing' %}
|
24
24
|
{% else %}
|
@@ -30,19 +30,19 @@
|
|
30
30
|
{% if show_close %}
|
31
31
|
{% url opts|admin_urlname:'changelist' as changelist_url %}
|
32
32
|
|
33
|
-
<a href="{% add_preserved_filters changelist_url %}" class="border font-medium px-3 py-2 rounded
|
33
|
+
<a href="{% add_preserved_filters changelist_url %}" class="border border-base-200 font-medium px-3 py-2 rounded transition-all w-full hover:bg-base-50 lg:block lg:w-auto dark:border-base-700 dark:hover:text-base-200 dark:hover:bg-base-900">
|
34
34
|
{% translate 'Close' %}
|
35
35
|
</a>
|
36
36
|
{% endif %}
|
37
37
|
|
38
38
|
{% if show_save_and_add_another %}
|
39
|
-
<button type="submit" name="_addanother" class="border font-medium px-3 py-2 rounded
|
39
|
+
<button type="submit" name="_addanother" class="border border-base-200 font-medium px-3 py-2 rounded transition-all w-full hover:bg-base-50 lg:block lg:w-auto dark:border-base-700 dark:hover:text-base-200 dark:hover:bg-base-900">
|
40
40
|
{% translate 'Save and add another' %}
|
41
41
|
</button>
|
42
42
|
{% endif %}
|
43
43
|
|
44
44
|
{% if show_save_as_new %}
|
45
|
-
<button type="submit" name="_saveasnew" class="border font-medium px-3 py-2 rounded
|
45
|
+
<button type="submit" name="_saveasnew" class="border border-base-200 font-medium px-3 py-2 rounded transition-all w-full hover:bg-base-50 lg:block lg:w-auto dark:border-base-700 dark:hover:text-base-200 dark:hover:bg-base-900">
|
46
46
|
{% translate 'Save as new' %}
|
47
47
|
</button>
|
48
48
|
{% endif %}
|
@@ -51,7 +51,7 @@
|
|
51
51
|
{% url opts|admin_urlname:'delete' original.pk|admin_urlquote as delete_url %}
|
52
52
|
|
53
53
|
<p class="deletelink-box mr-auto w-full lg:w-auto">
|
54
|
-
<a href="{% add_preserved_filters delete_url %}" class="bg-red-600 flex items-center justify-center font-medium h-9.5 ml-auto px-3 py-2 rounded
|
54
|
+
<a href="{% add_preserved_filters delete_url %}" class="bg-red-600 flex items-center justify-center font-medium h-9.5 ml-auto px-3 py-2 rounded text-white dark:bg-red-500/20 dark:text-red-500">
|
55
55
|
{% translate "Delete" %} {{ opts.verbose_name }}
|
56
56
|
</a>
|
57
57
|
</p>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="table table-fixed w-full">
|
2
|
-
<div class="readonly bg-
|
2
|
+
<div class="readonly bg-base-50 border font-medium max-w-2xl px-3 py-2 rounded shadow-sm dark:bg-white/[.02] dark:border-base-700 {% if summary|length > 1 %} text-ellipsis overflow-hidden whitespace-nowrap w-full{% endif %}" {% include 'django/forms/widgets/attrs.html' %}>
|
3
3
|
{% if summary|length > 1 %}
|
4
4
|
{% for entry in summary %}
|
5
5
|
<strong class="font-semibold text-font-important-light dark:text-font-important-dark">{{ entry.label }}</strong>{% if entry.value %}: {{ entry.value }}{% endif %}
|
@@ -3,11 +3,11 @@
|
|
3
3
|
{% load i18n %}
|
4
4
|
|
5
5
|
{% block base %}
|
6
|
-
<div class="flex min-h-screen">
|
6
|
+
<div id="page" class="flex min-h-screen">
|
7
7
|
<div class="flex flex-grow items-center justify-center mx-auto px-4">
|
8
8
|
<div class="w-full sm:w-96">
|
9
9
|
<h1 class="font-semibold mb-4 text-xl">
|
10
|
-
<span class="block leading-relaxed text-
|
10
|
+
<span class="block leading-relaxed text-base-700 dark:text-base-200">
|
11
11
|
{% trans "You have been successfully logged out from the administration" %}
|
12
12
|
</span>
|
13
13
|
</h1>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
{% translate "Thanks for spending some quality time with the web site today." %}
|
17
17
|
</p>
|
18
18
|
|
19
|
-
<a href="{% url "admin:index" %}" class="bg-primary-600 block border border-transparent font-semibold py-2 rounded
|
19
|
+
<a href="{% url "admin:index" %}" class="bg-primary-600 block border border-transparent font-semibold py-2 rounded text-sm text-center text-white w-full">
|
20
20
|
{% translate "Log in again" %}
|
21
21
|
</a>
|
22
22
|
</div>
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
{% block content %}
|
24
24
|
<div id="content-main">
|
25
|
-
<p class="bg-primary-100 mb-8 text-primary-600 px-3 py-3 rounded
|
25
|
+
<p class="bg-primary-100 mb-8 text-primary-600 px-3 py-3 rounded text-sm">
|
26
26
|
{% translate 'Your password was changed.' %}
|
27
27
|
</p>
|
28
28
|
</div>
|
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
{% include "unfold/helpers/field.html" with field=form.new_password2 %}
|
44
44
|
|
45
|
-
<button type="submit" class="bg-primary-600 border border-transparent font-medium px-3 py-2 rounded
|
45
|
+
<button type="submit" class="bg-primary-600 border border-transparent font-medium px-3 py-2 rounded text-sm text-white">
|
46
46
|
{% translate 'Change password' %}
|
47
47
|
</button>
|
48
48
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<{% if href %}a href="{{ href }}"{% else %}button{% endif%} {% if submit %}type="submit"{% endif%} {% if name %}name="{{ name }}"{% endif %}
|
2
|
-
class="border font-medium px-3 py-2 rounded
|
2
|
+
class="border font-medium px-3 py-2 rounded text-center whitespace-nowrap {% if variant == "default" %}bg-white dark:border-base-700 dark:bg-transparent dark:text-white{% else %}bg-primary-600 border-transparent text-white{% endif %}{% if class %} {{ class }}{% endif %}">
|
3
3
|
{{ children }}
|
4
4
|
</{% if href %}a{% else %}button{% endif%}>
|
@@ -1,6 +1,6 @@
|
|
1
|
-
<div class="border flex flex-col flex-grow overflow-hidden p-6 relative rounded
|
1
|
+
<div class="border flex flex-col flex-grow overflow-hidden p-6 relative rounded shadow-sm dark:border-base-800 {% if class %} {{ class }}{% endif %}">
|
2
2
|
{% if title %}
|
3
|
-
<h2 class="bg-
|
3
|
+
<h2 class="bg-base-50 border-b font-semibold mb-6 -mt-6 -mx-6 py-4 px-6 text-font-important-light dark:text-font-important-dark dark:border-base-800 dark:bg-white/[.02]">
|
4
4
|
{{ title }}
|
5
5
|
</h2>
|
6
6
|
{% endif %}
|
@@ -15,12 +15,12 @@
|
|
15
15
|
{% endif %}
|
16
16
|
|
17
17
|
{% if icon %}
|
18
|
-
<span class="material-symbols-outlined absolute -left-6 text-
|
18
|
+
<span class="material-symbols-outlined absolute -left-6 text-base-300 top-1/2 -translate-x-1/3 -translate-y-1/2 !text-6xl dark:text-base-500">{{ icon }}</span>
|
19
19
|
{% endif %}
|
20
20
|
</div>
|
21
21
|
|
22
22
|
{% if footer %}
|
23
|
-
<div class="border-t flex items-center -mb-6 -mx-6 mt-6 pb-2 pt-2 px-6 text-sm dark:border-
|
23
|
+
<div class="border-t flex items-center -mb-6 -mx-6 mt-6 pb-2 pt-2 px-6 text-sm dark:border-base-800">
|
24
24
|
{{ footer }}
|
25
25
|
</div>
|
26
26
|
{% endif %}
|
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
{% for col in row.cols %}
|
41
41
|
<td class="h-full">
|
42
|
-
<div class="flex flex-col h-full justify-center px-3 py-2.5 rounded
|
42
|
+
<div class="flex flex-col h-full justify-center px-3 py-2.5 rounded {% if col.color %}{{ col.color }}{% else %}bg-base-50 border border-dashed dark:bg-base-800 dark:border-base-700{% endif %}">
|
43
43
|
<span>
|
44
44
|
{{ col.value }}
|
45
45
|
</span>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{% if items %}
|
2
|
-
<nav class="bg-
|
2
|
+
<nav class="bg-base-100 flex gap-2 p-1 rounded text-sm dark:bg-white/[.04]{% if class %} {{ class }}{% endif %}">
|
3
3
|
{% for item in items %}
|
4
|
-
<a href="{{ item.link }}" class="flex flex-row font-medium items-center px-2.5 py-1 rounded {% if item.active %} bg-white shadow-sm text-font-important-light hover:bg-white dark:bg-
|
4
|
+
<a href="{{ item.link }}" class="flex flex-row font-medium items-center px-2.5 py-1 rounded {% if item.active %} bg-white shadow-sm text-font-important-light hover:bg-white dark:bg-base-900 dark:hover:bg-base-900 dark:text-font-important-dark{% else %}text-font-subtle-light dark:text-font-subtle-dark hover:bg-base-700/[.04] dark:hover:bg-white/[.04]{% endif %}">
|
5
5
|
{% if item.icon %}
|
6
6
|
<span class="material-symbols-outlined{% if item.title %} mr-2{% endif %}">{{ item.icon }}</span>
|
7
7
|
{% endif %}
|
@@ -1 +1 @@
|
|
1
|
-
<div class="bg-
|
1
|
+
<div class="bg-base-200 dark:bg-base-800 dark:border-base-800 {% if vertical == 1 %}mx-6 w-px{% else%}h-px my-6{% endif %}{% if class %} {{ class }}{% endif %}"></div>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
{% load unfold %}
|
2
2
|
|
3
|
-
<div class="{% if card_included == 1 %}-m-6{% else %}lg:border lg:rounded
|
4
|
-
<table class="block border-
|
3
|
+
<div class="{% if card_included == 1 %}-m-6{% else %}lg:border lg:rounded lg:shadow-sm{% endif %} overflow-x-auto lg:dark:border-base-800">
|
4
|
+
<table class="block border-base-200 border-spacing-none border-separate w-full lg:table">
|
5
5
|
{% if table.headers %}
|
6
|
-
<thead class="text-
|
7
|
-
<tr class="bg-
|
6
|
+
<thead class="text-base-900 dark:text-base-100">
|
7
|
+
<tr class="bg-base-50 dark:bg-white/[.02]">
|
8
8
|
{% for header in table.headers %}
|
9
9
|
<th class="align-middle font-semibold py-2 text-left text-sm whitespace-nowrap sortable column-description hidden px-3 lg:table-cell {% if card_included == 1 %}first:pl-6 last:pr-6{% endif %}">
|
10
10
|
{{ header }}
|
@@ -17,9 +17,9 @@
|
|
17
17
|
{% if table.rows %}
|
18
18
|
<tbody class="block lg:table-row-group">
|
19
19
|
{% for row in table.rows %}
|
20
|
-
<tr class="{% if striped == 1 %}{% cycle '' 'bg-
|
20
|
+
<tr class="{% if striped == 1 %}{% cycle '' 'bg-base-50 dark:bg-white/[.02]' %}{% endif %} block {% if not card_included == 1 %}border mb-3 rounded shadow-sm{% else %}border-t{% endif %} lg:table-row lg:border-none lg:mb-0 lg:shadow-none dark:border-base-800">
|
21
21
|
{% for cell in row %}
|
22
|
-
<td class="px-3 py-2 align-middle flex border-t border-
|
22
|
+
<td class="px-3 py-2 align-middle flex border-t border-base-200 font-normal gap-4 min-w-0 overflow-hidden text-left before:flex before:capitalize before:content-[attr(data-label)] before:items-center before:mr-auto first:border-t-0 lg:before:hidden lg:first:border-t lg:py-3 lg:table-cell dark:border-base-800 {% if card_included == 1 %}lg:first:pl-6 lg:last:pr-6{% endif %}" {% if table.headers %}data-label="{{ table.headers|index:forloop.counter0 }}"{% endif %}>
|
23
23
|
{{ cell }}
|
24
24
|
</td>
|
25
25
|
{% endfor %}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<ul class="flex flex-row gap-0.5 overflow-hidden rounded">
|
2
2
|
{% for item in data %}
|
3
|
-
<li class="h-8 px-px size-full {% if item.color %}{{ item.color }}{% else %}bg-
|
3
|
+
<li class="h-8 px-px size-full {% if item.color %}{{ item.color }}{% else %}bg-base-300 dark:bg-base-400{% endif %} hover:opacity-50" title="{{ item.tooltip }}"></li>
|
4
4
|
{% endfor %}
|
5
5
|
</ul>
|
@@ -1,30 +1,30 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
3
|
<div class="relative" x-data="{ openUserLinks: false }">
|
4
|
-
<a class="block cursor-pointer hover:text-
|
4
|
+
<a class="block cursor-pointer h-4.5 hover:text-base-700 dark:hover:text-base-200" @click="openUserLinks = !openUserLinks">
|
5
5
|
<span class="material-symbols-outlined">person</span>
|
6
6
|
</a>
|
7
7
|
|
8
|
-
<nav class="absolute bg-white border flex flex-col leading-none py-1 -right-2 rounded shadow-lg top-7 w-52 z-50 dark:bg-
|
9
|
-
<div class="border-b border-
|
8
|
+
<nav class="absolute bg-white border flex flex-col leading-none py-1 -right-2 rounded shadow-lg top-7 w-52 z-50 dark:bg-base-800 dark:border-base-700" x-cloak x-show="openUserLinks" @click.outside="openUserLinks = false">
|
9
|
+
<div class="border-b border-base-100 flex flex-row flex-shrink-0 items-start justify-start mb-1 pb-1 dark:border-base-700">
|
10
10
|
<span class="block mx-1 px-3 py-2 truncate">
|
11
11
|
{% firstof user.get_short_name user.get_username %}
|
12
12
|
</span>
|
13
13
|
</div>
|
14
14
|
|
15
15
|
{% if site_url %}
|
16
|
-
<a href="{{ site_url }}" target="_blank" class="mx-1 px-3 py-2 rounded hover:bg-
|
16
|
+
<a href="{{ site_url }}" target="_blank" class="mx-1 px-3 py-2 rounded hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200">
|
17
17
|
{% translate 'View site' %}
|
18
18
|
</a>
|
19
19
|
{% endif %}
|
20
20
|
|
21
21
|
{% if user.has_usable_password %}
|
22
|
-
<a href="{% url 'admin:password_change' %}" class="mx-1 px-3 py-2 rounded hover:bg-
|
22
|
+
<a href="{% url 'admin:password_change' %}" class="mx-1 px-3 py-2 rounded hover:bg-base-100 hover:text-base-700 dark:hover:bg-base-700 dark:hover:text-base-200">
|
23
23
|
{% translate 'Change password' %}
|
24
24
|
</a>
|
25
25
|
{% endif %}
|
26
26
|
|
27
|
-
<div class="border-t mt-1 pt-1 dark:border-
|
27
|
+
<div class="border-t mt-1 pt-1 dark:border-base-700">
|
28
28
|
<form id="logout-form" method="post" action="{% url 'admin:logout' %}" class="mx-1">
|
29
29
|
{% csrf_token %}
|
30
30
|
|
@@ -1,17 +1,17 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
3
|
{% if actions %}
|
4
|
-
<td data-label="{% trans "More actions" %}" class="field-actions_holder align-middle flex border-t border-
|
4
|
+
<td data-label="{% trans "More actions" %}" class="field-actions_holder align-middle flex border-t border-base-200 font-normal px-3 py-2 text-left text-sm before:block before:capitalize before:content-[attr(data-label)] before:mr-auto before:text-base-500 dark:before:text-base-300 lg:before:hidden lg:py-3 lg:table-cell dark:border-base-800 lg:w-px">
|
5
5
|
{% with action_id=instance_pk|cut:"-" %}
|
6
|
-
<div class="group leading-none relative" x-data="{ openActionsId{{ action_id }}: false }">
|
7
|
-
<span x-ref="rowDropdown{{ action_id }}" class="cursor-pointer flex h-7 material-symbols-outlined md-18 -my-1 !leading-7 rounded text-center text-
|
6
|
+
<div class="group/action leading-none relative" x-data="{ openActionsId{{ action_id }}: false }">
|
7
|
+
<span x-ref="rowDropdown{{ action_id }}" class="cursor-pointer flex h-7 material-symbols-outlined md-18 -my-1 !leading-7 rounded text-center text-base-400 w-7 group-hover/action:bg-base-100 group-hover/action:text-base-700 dark:text-font-default-dark group-hover/action:dark:bg-base-800 group-hover/action:dark:text-white" @click="openActionsId{{ action_id }} = !openActionsId{{ action_id }}">
|
8
8
|
more_horiz
|
9
9
|
</span>
|
10
10
|
|
11
11
|
<template x-teleport="body">
|
12
|
-
<nav x-anchor.bottom-end.offset.4="$refs.rowDropdown{{ action_id }}" class="bg-white border flex flex-col leading-none py-1 rounded
|
12
|
+
<nav x-anchor.bottom-end.offset.4="$refs.rowDropdown{{ action_id }}" class="bg-white border flex flex-col leading-none py-1 rounded shadow-lg text-sm top-7 z-50 w-48 dark:bg-base-800 dark:border-base-700" x-cloak x-show="openActionsId{{ action_id }}" @click.outside="openActionsId{{ action_id }} = false">
|
13
13
|
{% for action in actions %}
|
14
|
-
<a href="{% url action.raw_path instance_pk %}" class="mx-1 px-3 py-2 rounded
|
14
|
+
<a href="{% url action.raw_path instance_pk %}" class="mx-1 px-3 py-2 rounded truncate hover:bg-base-100 dark:hover:bg-base-700 dark:hover:text-base-200"{% for attr_name, attr_value in action.attrs.items %} {{ attr_name }}="{{ attr_value }}"{% endfor %}>
|
15
15
|
{{ action.title }}
|
16
16
|
</a>
|
17
17
|
{% endfor %}
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
{% if add_url %}
|
12
12
|
<div class="flex flex-row items-center">
|
13
|
-
<span class="block bg-
|
13
|
+
<span class="block bg-base-200 h-5 mx-4 w-px dark:bg-base-700"></span>
|
14
14
|
|
15
15
|
<a href="{% add_preserved_filters add_url is_popup to_field %}" class="addlink bg-primary-600 flex items-center h-9 justify-center -my-1 rounded-full w-9" title="{{ title }}">
|
16
16
|
<span class="material-symbols-outlined text-white">add</span>
|
@@ -6,28 +6,28 @@
|
|
6
6
|
{% if group.items %}
|
7
7
|
{% has_nav_item_active group.items as has_active %}
|
8
8
|
|
9
|
-
<div class="hidden mb-
|
9
|
+
<div class="hidden mb-2 has-[ol]:has-[li]:block" {% if group.collapsible %}x-data="{navigationOpen: {% if has_active %}true{% else %}false{% endif %}}"{% endif %}>
|
10
10
|
{% if group.separator %}
|
11
|
-
<hr class="border-t border-
|
11
|
+
<hr class="border-t border-base-200 mx-6 my-2 dark:border-base-800" />
|
12
12
|
{% endif %}
|
13
13
|
|
14
14
|
{% if group.title %}
|
15
|
-
<h2 class="font-semibold flex flex-row items-center mb-1 mx-3 py-1.5 px-3 select-none text-font-important-light text-sm dark:text-font-important-dark {% if group.collapsible %}cursor-pointer{% endif %}" {% if group.collapsible %}x-on:click="navigationOpen = !navigationOpen"{% endif %}>
|
15
|
+
<h2 class="font-semibold flex flex-row group items-center mb-1 mx-3 py-1.5 px-3 select-none text-font-important-light text-sm dark:text-font-important-dark {% if group.collapsible %}cursor-pointer hover:text-primary-600 dark:hover:text-primary-500{% endif %}" {% if group.collapsible %}x-on:click="navigationOpen = !navigationOpen"{% endif %}>
|
16
16
|
{{ group.title }}
|
17
17
|
|
18
18
|
{% if group.collapsible %}
|
19
|
-
<span class="material-symbols-outlined ml-auto text-
|
19
|
+
<span class="material-symbols-outlined ml-auto text-base-400 transition-all group-hover:text-primary-600 dark:group-hover:text-primary-500" x-bind:class="{'rotate-90': navigationOpen}">
|
20
20
|
chevron_right
|
21
21
|
</span>
|
22
22
|
{% endif %}
|
23
23
|
</h2>
|
24
24
|
{% endif %}
|
25
25
|
|
26
|
-
<ol class="px-6" {% if group.collapsible %}x-show="navigationOpen"{% endif %}>
|
26
|
+
<ol class="flex flex-col gap-1 px-6" {% if group.collapsible %}x-show="navigationOpen"{% endif %}>
|
27
27
|
{% for item in group.items %}
|
28
28
|
{% if item.has_permission %}
|
29
29
|
<li>
|
30
|
-
<a href="{% if item.link_callback %}{{ item.link_callback }}{% else %}{{ item.link }}{% endif %}" class="flex h-
|
30
|
+
<a href="{% if item.link_callback %}{{ item.link_callback }}{% else %}{{ item.link }}{% endif %}" class="flex h-9.5 items-center -mx-3 px-3 rounded hover:text-primary-600 dark:hover:text-primary-500 {% if item.active %}bg-base-100 font-semibold text-primary-600 dark:bg-white/[.06] dark:text-primary-500{% endif %}">
|
31
31
|
{% if item.icon %}
|
32
32
|
<span class="material-symbols-outlined md-18 mr-3 w-4.5">
|
33
33
|
{{ item.icon }}
|
@@ -59,7 +59,7 @@
|
|
59
59
|
|
60
60
|
{% if sidebar_show_all_applications %}
|
61
61
|
<div class="mt-auto" x-data="{ openAllApplications: false }">
|
62
|
-
<a class="cursor-pointer flex items-center px-6 py-3 text-sm dark:text-font-default-dark" x-on:click="openAllApplications = !openAllApplications">
|
62
|
+
<a class="cursor-pointer flex items-center px-6 py-3 text-sm dark:text-font-default-dark hover:text-primary-600 dark:hover:text-primary-500" x-on:click="openAllApplications = !openAllApplications">
|
63
63
|
<span class="material-symbols-outlined md-18 mr-3">
|
64
64
|
apps
|
65
65
|
</span>
|
@@ -70,9 +70,9 @@
|
|
70
70
|
</a>
|
71
71
|
|
72
72
|
<div class="absolute bottom-0 left-0 right-0 top-0 z-50 md:left-72" x-cloak x-show="openAllApplications">
|
73
|
-
<div class="absolute bg-
|
73
|
+
<div class="absolute bg-base-900 bg-opacity-80 backdrop-blur-sm bottom-0 left-0 right-0 top-0 z-10 w-screen"></div>
|
74
74
|
|
75
|
-
<div class="bg-white flex flex-col h-full overflow-x-hidden overflow-y-auto py-5 px-8 relative text-sm w-80 z-20 dark:bg-
|
75
|
+
<div class="bg-white flex flex-col h-full overflow-x-hidden overflow-y-auto py-5 px-8 relative text-sm w-80 z-20 dark:bg-base-900 dark:border-r dark:border-base-800" x-on:click.outside="openAllApplications = false" x-on:keydown.escape.window="openAllApplications = false">
|
76
76
|
{% for app in app_list %}
|
77
77
|
<div class="mb-6 last:mb-0">
|
78
78
|
<h2 class="mb-4 font-semibold text-font-important-light truncate dark:text-font-important-dark">
|
@@ -82,7 +82,7 @@
|
|
82
82
|
<ul>
|
83
83
|
{% for model in app.models %}
|
84
84
|
<li class="block mb-4 last:mb-0">
|
85
|
-
<a href="{{ model.admin_url }}" class="block truncate">
|
85
|
+
<a href="{{ model.admin_url }}" class="block truncate hover:text-primary-600 dark:hover:text-primary-500">
|
86
86
|
{{ model.name }}
|
87
87
|
</a>
|
88
88
|
</li>
|
@@ -3,43 +3,43 @@
|
|
3
3
|
{% if app_list %}
|
4
4
|
{% for app in app_list %}
|
5
5
|
<div class="app-{{ app.app_label }} module{% if app.app_url in request.path %} current-app{% endif %}">
|
6
|
-
<div class="bg-
|
7
|
-
<table class="border border-
|
8
|
-
<caption class="font-semibold mb-3 text-
|
6
|
+
<div class="bg-base-50 mb-6 rounded p-3 dark:bg-base-800">
|
7
|
+
<table class="border border-base-400/10 border-spacing-none border-separate rounded overflow-hidden shadow-sm w-full dark:border-base-800">
|
8
|
+
<caption class="font-semibold mb-3 text-base-900 text-left dark:text-base-100">
|
9
9
|
<a href="{{ app.app_url }}" class="section" title="{% blocktranslate with name=app.name %}Models in the {{ name }} application{% endblocktranslate %}">
|
10
10
|
{{ app.name }}
|
11
11
|
</a>
|
12
12
|
</caption>
|
13
13
|
|
14
14
|
{% for model in app.models %}
|
15
|
-
<tr class="bg-white dark:bg-
|
15
|
+
<tr class="bg-white dark:bg-base-900 model-{{ model.object_name|lower }}{% if model.admin_url in request.path %} current-model{% endif %}">
|
16
16
|
{% if model.admin_url %}
|
17
|
-
<th scope="row" class="font-normal p-3 text-left {% if not forloop.last %}border-b border-
|
17
|
+
<th scope="row" class="font-normal p-3 text-left {% if not forloop.last %}border-b border-base-100 dark:border-base-800{% endif %}">
|
18
18
|
<a href="{{ model.admin_url }}"{% if model.admin_url in request.path %} aria-current="page"{% endif %}>
|
19
19
|
{{ model.name }}
|
20
20
|
</a>
|
21
21
|
</th>
|
22
22
|
{% else %}
|
23
|
-
<th scope="row" class="font-normal p-3 text-left {% if not forloop.last %}border-b border-
|
23
|
+
<th scope="row" class="font-normal p-3 text-left {% if not forloop.last %}border-b border-base-100 dark:border-base-800{% endif %}">
|
24
24
|
{{ model.name }}
|
25
25
|
</th>
|
26
26
|
{% endif %}
|
27
27
|
|
28
|
-
<td class="{% if not forloop.last %}border-b border-
|
28
|
+
<td class="{% if not forloop.last %}border-b border-base-100 dark:border-base-800{% endif %} p-3 text-right">
|
29
29
|
<div class="flex flex-row items-center ml-auto gap-4 justify-end">
|
30
30
|
{% if model.add_url %}
|
31
|
-
<a href="{{ model.add_url }}" class="addlink block leading-none text-
|
31
|
+
<a href="{{ model.add_url }}" class="addlink block leading-none text-base-400 transition-colors dark:text-base-500 " title="{% translate 'Add' %}">
|
32
32
|
<span class="material-symbols-outlined">add</span>
|
33
33
|
</a>
|
34
34
|
{% endif %}
|
35
35
|
|
36
36
|
{% if model.admin_url and show_changelinks %}
|
37
37
|
{% if model.view_only %}
|
38
|
-
<a href="{{ model.admin_url }}" class="viewlink block leading-none text-
|
38
|
+
<a href="{{ model.admin_url }}" class="viewlink block leading-none text-base-400 transition-colors dark:text-base-500" title="{% translate 'View' %} ">
|
39
39
|
<span class="material-symbols-outlined">visibility</span>
|
40
40
|
</a>
|
41
41
|
{% else %}
|
42
|
-
<a href="{{ model.admin_url }}" class="changelink block leading-none text-
|
42
|
+
<a href="{{ model.admin_url }}" class="changelink block leading-none text-base-400 transition-colors dark:text-base-300" title="{% translate 'Change' %}">
|
43
43
|
<span class="material-symbols-outlined">edit_square</span>
|
44
44
|
</a>
|
45
45
|
{% endif %}
|