From 5de63bd1b328525536995303d3307261c3dbd715 Mon Sep 17 00:00:00 2001 From: Sage Abdullah <sage.abdullah@torchbox.com> Date: Mon, 15 Jul 2024 15:14:34 +0100 Subject: [PATCH] Use list elements for the editing sessions list --- client/scss/components/_editing-sessions.scss | 4 +- .../shared/editing_sessions/list.html | 120 +++++++++--------- 2 files changed, 64 insertions(+), 60 deletions(-) diff --git a/client/scss/components/_editing-sessions.scss b/client/scss/components/_editing-sessions.scss index b1f0dd745c..ad1ae59e1f 100644 --- a/client/scss/components/_editing-sessions.scss +++ b/client/scss/components/_editing-sessions.scss @@ -1,5 +1,5 @@ .w-editing-sessions { - @apply w-flex w-pr-8 w-mr-5 w-border-r w-border-border-furniture; + @apply w-flex w-p-0 w-m-0 w-pr-8 w-mr-5 w-border-r w-border-border-furniture; } .w-editing-sessions__avatar { @@ -65,7 +65,7 @@ } .w-editing-sessions__more-list { - @apply w-flex w-flex-col w-gap-4 w-p-2; + @apply w-flex w-flex-col w-gap-4 w-p-2 w-m-0; } .w-editing-sessions__list-item { diff --git a/wagtail/admin/templates/wagtailadmin/shared/editing_sessions/list.html b/wagtail/admin/templates/wagtailadmin/shared/editing_sessions/list.html index 8490069d1e..cd3f0618b8 100644 --- a/wagtail/admin/templates/wagtailadmin/shared/editing_sessions/list.html +++ b/wagtail/admin/templates/wagtailadmin/shared/editing_sessions/list.html @@ -1,60 +1,62 @@ {% load wagtailadmin_tags i18n %} -<div class="w-editing-sessions"> +<ol class="w-editing-sessions"> {% for session in sessions|slice:":4" %} - {% fragment as avatar %} - {% avatar user=session.user classname="w-editing-sessions__avatar" %} - {% endfragment %} - - {% if session.revision_id %} - {% fragment as avatar_decorated %} - <div class="w-editing-sessions__decorated-avatar"> - {{ avatar }} - {% icon name="warning" %} - </div> + <li> + {% fragment as avatar %} + {% avatar user=session.user classname="w-editing-sessions__avatar" %} {% endfragment %} - {% blocktranslate trimmed with user_name=session.user|user_display_name|default:_("system") asvar saved_new_version_message %} - {{ user_name }} saved a new version - {% endblocktranslate %} - - {% dropdown theme="popup" classname="w-editing-sessions__session w-editing-sessions__session--latest" toggle_label=avatar_decorated toggle_aria_label=saved_new_version_message|capfirst %} - <div class="w-editing-sessions__popup"> - <div class="w-editing-sessions__message"> + {% if session.revision_id %} + {% fragment as avatar_decorated %} + <div class="w-editing-sessions__decorated-avatar"> + {{ avatar }} {% icon name="warning" %} - {{ saved_new_version_message|capfirst }} </div> + {% endfragment %} - {% fragment as refresh_button_content %} - {% icon name="rotate" %} - {% trans "Refresh" %} - {% endfragment %} - {% dialog_toggle classname="button button-small button-secondary chooser__choose-button" text=refresh_button_content dialog_id="w-unsaved-changes-dialog" %} - </div> - {% enddropdown %} - {% elif session.is_editing %} - {% blocktranslate trimmed with user_name=session.user|user_display_name|default:_("system") asvar has_unsaved_changes_message %} - {{ user_name }} has unsaved changes - {% endblocktranslate %} + {% blocktranslate trimmed with user_name=session.user|user_display_name|default:_("system") asvar saved_new_version_message %} + {{ user_name }} saved a new version + {% endblocktranslate %} - {% dropdown theme="popup" classname="w-editing-sessions__session w-editing-sessions__session--editing" toggle_label=avatar toggle_aria_label=has_unsaved_changes_message|capfirst %} - <div class="w-editing-sessions__popup"> - <div class="w-editing-sessions__message"> - {% icon name="warning" %} - {{ has_unsaved_changes_message|capfirst }} + {% dropdown theme="popup" classname="w-editing-sessions__session w-editing-sessions__session--latest" toggle_label=avatar_decorated toggle_aria_label=saved_new_version_message|capfirst %} + <div class="w-editing-sessions__popup"> + <div class="w-editing-sessions__message"> + {% icon name="warning" %} + {{ saved_new_version_message|capfirst }} + </div> + + {% fragment as refresh_button_content %} + {% icon name="rotate" %} + {% trans "Refresh" %} + {% endfragment %} + {% dialog_toggle classname="button button-small button-secondary chooser__choose-button" text=refresh_button_content dialog_id="w-unsaved-changes-dialog" %} </div> - </div> - {% enddropdown %} - {% else %} - <button class="w-editing-sessions__session" type="button" data-controller="w-tooltip"> - {{ avatar }} - <div class="w-editing-sessions__popup" data-w-tooltip-target="content" hidden> - <span class="w-editing-sessions__name">{{ session.user|user_display_name|default:_("system")|capfirst }}</span> - <span class="w-sr-only">-</span> - <span>{% trans "Currently viewing" %}</span> - </div> - </button> - {% endif %} + {% enddropdown %} + {% elif session.is_editing %} + {% blocktranslate trimmed with user_name=session.user|user_display_name|default:_("system") asvar has_unsaved_changes_message %} + {{ user_name }} has unsaved changes + {% endblocktranslate %} + + {% dropdown theme="popup" classname="w-editing-sessions__session w-editing-sessions__session--editing" toggle_label=avatar toggle_aria_label=has_unsaved_changes_message|capfirst %} + <div class="w-editing-sessions__popup"> + <div class="w-editing-sessions__message"> + {% icon name="warning" %} + {{ has_unsaved_changes_message|capfirst }} + </div> + </div> + {% enddropdown %} + {% else %} + <button class="w-editing-sessions__session" type="button" data-controller="w-tooltip"> + {{ avatar }} + <div class="w-editing-sessions__popup" data-w-tooltip-target="content" hidden> + <span class="w-editing-sessions__name">{{ session.user|user_display_name|default:_("system")|capfirst }}</span> + <span class="w-sr-only">-</span> + <span>{% trans "Currently viewing" %}</span> + </div> + </button> + {% endif %} + </li> {% endfor %} {% if sessions|length > 4 %} {% blocktranslate trimmed count num_user=sessions|length|add:"-4" asvar num_other_users_message %} @@ -67,18 +69,20 @@ +{{ sessions|length|add:"-4" }} {% endfragment %} - {% dropdown theme="drilldown" classname="w-editing-sessions__session w-editing-sessions__session--more" toggle_classname="w-editing-sessions__avatar" toggle_label=more_sessions_toggle toggle_aria_label=num_other_users_message|capfirst %} - <div class="w-editing-sessions__more-list"> - {% for session in sessions|slice:"4:" %} - <div class="w-editing-sessions__list-item"> - {% avatar user=session.user size="small" %} - <span>{{ session.user|user_display_name|default:_("system")|capfirst }}</span> - </div> - {% endfor %} - </div> - {% enddropdown %} + <li> + {% dropdown theme="drilldown" classname="w-editing-sessions__session w-editing-sessions__session--more" toggle_classname="w-editing-sessions__avatar" toggle_label=more_sessions_toggle toggle_aria_label=num_other_users_message|capfirst %} + <ol class="w-editing-sessions__more-list"> + {% for session in sessions|slice:"4:" %} + <li class="w-editing-sessions__list-item"> + {% avatar user=session.user size="small" %} + <span>{{ session.user|user_display_name|default:_("system")|capfirst }}</span> + </li> + {% endfor %} + </ol> + {% enddropdown %} + </li> {% endif %} -</div> +</ol> {% if sessions.0.revision_id %} <template data-controller="w-teleport" data-w-teleport-target-value="#title-text-w-overwrite-changes-dialog" data-w-teleport-reset-value="true">