diff --git a/app/assets/stylesheets/procedure_list.scss b/app/assets/stylesheets/procedure_list.scss index d677f11cf..beb0ac6dd 100644 --- a/app/assets/stylesheets/procedure_list.scss +++ b/app/assets/stylesheets/procedure_list.scss @@ -22,11 +22,10 @@ li { min-height: 36px; - width: 90px; + min-width: 6em; + color: var(--text-default-grey); position: relative; - border-left: 1px solid $border-grey; - &:first-child { border-left: none; } @@ -35,24 +34,10 @@ background-color: rgba(0, 0, 0, 0.05); } - .stats-number, - .stats-legend { - text-align: center; + .notifications { + top: 3px; + right: 18px; } - - .stats-number { - font-size: 14px; - font-weight: bold; - } - - .stats-legend { - font-size: 12px; - } - } - - .notifications { - top: 3px; - right: 18px; } } } diff --git a/app/views/instructeurs/procedures/_list.html.haml b/app/views/instructeurs/procedures/_list.html.haml index 20604c03a..a7d115140 100644 --- a/app/views/instructeurs/procedures/_list.html.haml +++ b/app/views/instructeurs/procedures/_list.html.haml @@ -1,80 +1,73 @@ -%li.flex.align-start.fr-mb-5w + +%li.flex.align-start.fr-mb-3w{ style: "border-top: 1px solid var(--border-default-grey);" } .flex - .procedure-logo{ style: "background-image: url(#{p.logo_url})" } .procedure-details .flex.clipboard-container - .fr-mb-2w + .fr-mb-2w.fr-mt-2w = procedure_badge(p) %h3.font-weight-normal.fr-link.fr-ml-1w - = link_to("#{p.libelle} - n°#{p.id}", instructeur_procedure_path(p)) + = link_to "#{p.libelle} - n°#{p.id}", instructeur_procedure_path(p) + = render Dsfr::CopyButtonComponent.new(title: t('instructeurs.procedures.index.copy_link_button'), text: commencer_url(p.path)) - %ul.procedure-stats.flex - %li - %object - = link_to(instructeur_procedure_path(p, statut: 'a-suivre')) do - - a_suivre_count = dossiers_a_suivre_count_per_procedure[p.id] || 0 - .stats-number - = number_with_html_delimiter(a_suivre_count) - .stats-legend - = t('instructeurs.dossiers.labels.to_follow') - %li - %object - = link_to(instructeur_procedure_path(p, statut: 'suivis')) do - - if procedure_ids_en_cours_with_notifications.include?(p.id) - %span.notifications{ 'aria-label': "notifications" } - - followed_count = followed_dossiers_count_per_procedure[p.id] || 0 - .stats-number - = number_with_html_delimiter(followed_count) - .stats-legend - = t('pluralize.followed', count: followed_count) - %li - %object - = link_to(instructeur_procedure_path(p, statut: 'traites')) do - - if procedure_ids_termines_with_notifications.include?(p.id) - %span.notifications{ 'aria-label': "notifications" } - - termines_count = dossiers_termines_count_per_procedure[p.id] || 0 - .stats-number - = number_with_html_delimiter(termines_count) - .stats-legend - = t('pluralize.processed', count: termines_count) - %li - %object - = link_to(instructeur_procedure_path(p, statut: 'tous')) do - - dossier_count = dossiers_count_per_procedure[p.id] || 0 - .stats-number - = number_with_html_delimiter(dossier_count) - .stats-legend - = t('pluralize.case', count: dossier_count) - - %li - %object - = link_to(instructeur_procedure_path(p, statut: 'supprimes')) do - - dossier_count = dossiers_supprimes_count_per_procedure[p.id] || 0 - .stats-number - = number_with_html_delimiter(dossier_count) - .stats-legend - = t('pluralize.dossiers_supprimes', count: dossier_count) + %ul.procedure-stats.flex.wrap.flex-gap-1 + %li.fr-btn.fr-btn--tertiary.flex.justify-center.fr-enlarge-link.fr-mb-1w + = link_to instructeur_procedure_path(p, statut: 'a-suivre') do + - a_suivre_count = dossiers_a_suivre_count_per_procedure[p.id] || 0 + .center.fr-text--bold.fr-text--sm + = number_with_html_delimiter(a_suivre_count) + .center.fr-text--xs + = t('instructeurs.dossiers.labels.to_follow') + %li.fr-btn.fr-btn--tertiary.flex.justify-center.fr-enlarge-link.fr-mb-1w + = link_to(instructeur_procedure_path(p, statut: 'suivis')) do + - if procedure_ids_en_cours_with_notifications.include?(p.id) + %span.notifications{ 'aria-label': "notifications" } + - followed_count = followed_dossiers_count_per_procedure[p.id] || 0 + .center.fr-text--bold.fr-text--sm + = number_with_html_delimiter(followed_count) + .center.fr-text--xs + = t('pluralize.followed', count: followed_count) + %li.fr-btn.fr-btn--tertiary.flex.justify-center.fr-enlarge-link.fr-mb-1w + = link_to(instructeur_procedure_path(p, statut: 'traites')) do + - if procedure_ids_termines_with_notifications.include?(p.id) + %span.notifications{ 'aria-label': "notifications" } + - termines_count = dossiers_termines_count_per_procedure[p.id] || 0 + .center.fr-text--bold.fr-text--sm + = number_with_html_delimiter(termines_count) + .center.fr-text--xs + = t('pluralize.processed', count: termines_count) + %li.fr-btn.fr-btn--tertiary.flex.justify-center.fr-enlarge-link.fr-mb-1w + = link_to(instructeur_procedure_path(p, statut: 'tous')) do + - dossier_count = dossiers_count_per_procedure[p.id] || 0 + .center.fr-text--bold.fr-text--sm + = number_with_html_delimiter(dossier_count) + .center.fr-text--xs + = t('pluralize.case', count: dossier_count) - if p.procedure_expires_when_termine_enabled - %li - %object - = link_to(instructeur_procedure_path(p, statut: 'expirant')) do - - expirant_count = dossiers_expirant_count_per_procedure[p.id] || 0 - .stats-number - = number_with_html_delimiter(expirant_count) - .stats-legend - = t('pluralize.dossiers_close_to_expiration', count: expirant_count) + %li.fr-btn.fr-btn--tertiary.flex.justify-center.fr-enlarge-link.fr-mb-1w + = link_to(instructeur_procedure_path(p, statut: 'expirant')) do + - expirant_count = dossiers_expirant_count_per_procedure[p.id] || 0 + .center.fr-text--bold.fr-text--sm + = number_with_html_delimiter(expirant_count) + .center.fr-text--xs + = t('pluralize.dossiers_close_to_expiration', count: expirant_count) + + %li.fr-btn.fr-btn--tertiary.flex.justify-center.fr-enlarge-link.fr-mb-1w + = link_to(instructeur_procedure_path(p, statut: 'archives')) do + .center.fr-text--bold.fr-text--sm + %span.fr-icon-folder-2-line + .center.fr-text--xs + = t('instructeurs.dossiers.labels.to_archive') + + %li.fr-btn.fr-btn--tertiary.flex.justify-center.fr-enlarge-link.fr-mb-1w + = link_to(instructeur_procedure_path(p, statut: 'supprimes')) do + .center.fr-text--bold.fr-text--sm + %span.fr-icon-delete-line + .center.fr-text--xs + = t('instructeurs.dossiers.labels.dossiers_supprimes') - %li - %object - = link_to(instructeur_procedure_path(p, statut: 'archives')) do - - archived_count = dossiers_archived_count_per_procedure[p.id] || 0 - .stats-number - = number_with_html_delimiter(archived_count) - .stats-legend - = t('pluralize.archived', count: archived_count) - if p.close? .ml-auto diff --git a/app/views/instructeurs/procedures/index.html.haml b/app/views/instructeurs/procedures/index.html.haml index 7a04633b7..f9b4fe8a9 100644 --- a/app/views/instructeurs/procedures/index.html.haml +++ b/app/views/instructeurs/procedures/index.html.haml @@ -41,10 +41,8 @@ as: :p, locals: { dossiers_count_per_procedure: @dossiers_count_per_procedure, dossiers_a_suivre_count_per_procedure: @dossiers_a_suivre_count_per_procedure, - dossiers_archived_count_per_procedure: @dossiers_archived_count_per_procedure, dossiers_termines_count_per_procedure: @dossiers_termines_count_per_procedure, dossiers_expirant_count_per_procedure: @dossiers_expirant_count_per_procedure, - dossiers_supprimes_count_per_procedure: @dossiers_supprimes_count_per_procedure, followed_dossiers_count_per_procedure: @followed_dossiers_count_per_procedure, procedure_ids_en_cours_with_notifications: @procedure_ids_en_cours_with_notifications, procedure_ids_termines_with_notifications: @procedure_ids_termines_with_notifications } diff --git a/config/locales/en.yml b/config/locales/en.yml index 802577728..990006428 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -772,12 +772,8 @@ en: new: one: new other: new - followed: - one: followed - other: followed - archived: - one: archived - other: archived + followed: followed by me + archived: to archive en_cours: one: in progress other: in progress @@ -791,8 +787,8 @@ en: one: guest file other: guest files dossiers_supprimes: - one: recently deleted file - other: recently deleted files + one: deleted + other: deleted dossiers_transferes: one: transfer request other: transfer requests @@ -878,6 +874,8 @@ en: restore: "The folder has been restored" labels: to_follow: to follow + to_archive: to archive + dossiers_supprimes: trash france_connect: particulier: choose_email: diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 40a068d49..27b9b2fee 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -781,11 +781,9 @@ fr: one: nouveau other: nouveaux followed: - one: suivi - other: suivis - archived: - one: archivé - other: archivés + one: suivi par moi + other: suivis par moi + archived: à archiver en_cours: one: en cours other: en cours @@ -799,7 +797,7 @@ fr: one: dossier invité other: dossiers invités dossiers_supprimes: - one: supprimé + one: supprimé other: supprimés dossiers_historique: one: supprimé définitivement @@ -879,6 +877,8 @@ fr: other: "%{count} groupes existent" labels: to_follow: à suivre + to_archive: à archiver + dossiers_supprimes: corbeille total: dossiers administrateurs: activate: diff --git a/spec/system/instructeurs/instruction_spec.rb b/spec/system/instructeurs/instruction_spec.rb index ff5de21a3..33834a829 100644 --- a/spec/system/instructeurs/instruction_spec.rb +++ b/spec/system/instructeurs/instruction_spec.rb @@ -337,7 +337,7 @@ describe 'Instructing a dossier:', js: true do "#{suivi} suivi", "#{traite} traité", "#{tous_les_dossiers} au total", - "#{archive} archivé" + "à archiver" ] texts.each { |text| expect(page).to have_text(text) }