style(ui): « Mes saisies → » agrandi sur Stats ; carte Catégories dans ParamètresUnverified
Deux reports du design : le lien des stats passe à 16 px / 44 px de haut, et les paramètres gagnent un accès aux catégories sur le même gabarit de carte que « Mes saisies » (i18n FR/EN/DE). Claude-Session: https://claude.ai/code/session_01D114WAMbcTKTZShiyksS1z
abb035f parent: 7734d1d modified
src/i18n.rs +5 -0 | @@ -181,6 +181,8 @@ pub struct Tr { | ||
| 181 | 181 | pub account_line_single: &'static str, |
| 182 | 182 | pub my_entries: &'static str, |
| 183 | 183 | pub my_entries_desc: &'static str, |
| 184 | + /// Carte « Catégories » des paramètres (même gabarit que « Mes saisies »). | |
| 185 | + pub manage_categories_desc: &'static str, | |
| 184 | 186 | pub team_name_label: &'static str, |
| 185 | 187 | pub rename_team_note: &'static str, |
| 186 | 188 | pub members_of_pat: &'static str, |
| @@ -435,6 +437,7 @@ pub static FR: Tr = Tr { | ||
| 435 | 437 | account_line_single: "Les comptes sont créés en ligne de commande.", |
| 436 | 438 | my_entries: "Mes saisies", |
| 437 | 439 | my_entries_desc: "Consulter et corriger les temps que j'ai enregistrés.", |
| 440 | + manage_categories_desc: "Ajouter, renommer ou archiver les catégories de l'équipe.", | |
| 438 | 441 | team_name_label: "Nom de l'équipe", |
| 439 | 442 | rename_team_note: "Le nouveau nom est visible par tous les membres.", |
| 440 | 443 | members_of_pat: "Membres de {}", |
| @@ -656,6 +659,7 @@ pub static EN: Tr = Tr { | ||
| 656 | 659 | account_line_single: "Accounts are created from the command line.", |
| 657 | 660 | my_entries: "My entries", |
| 658 | 661 | my_entries_desc: "View and fix the times I recorded.", |
| 662 | + manage_categories_desc: "Add, rename or archive the team's categories.", | |
| 659 | 663 | team_name_label: "Team name", |
| 660 | 664 | rename_team_note: "The new name is visible to all members.", |
| 661 | 665 | members_of_pat: "Members of {}", |
| @@ -877,6 +881,7 @@ pub static DE: Tr = Tr { | ||
| 877 | 881 | account_line_single: "Konten werden über die Kommandozeile angelegt.", |
| 878 | 882 | my_entries: "Meine Einträge", |
| 879 | 883 | my_entries_desc: "Erfasste Zeiten ansehen und korrigieren.", |
| 884 | + manage_categories_desc: "Kategorien des Teams hinzufügen, umbenennen oder archivieren.", | |
| 880 | 885 | team_name_label: "Teamname", |
| 881 | 886 | rename_team_note: "Der neue Name ist für alle Mitglieder sichtbar.", |
| 882 | 887 | members_of_pat: "Mitglieder von {}", |
| @@ -181,6 +181,8 @@ pub struct Tr { | |||
| 181 | pub account_line_single: &'static str, | 181 | pub account_line_single: &'static str, |
| 182 | pub my_entries: &'static str, | 182 | pub my_entries: &'static str, |
| 183 | pub my_entries_desc: &'static str, | 183 | pub my_entries_desc: &'static str, |
| 184 | + /// Carte « Catégories » des paramètres (même gabarit que « Mes saisies »). | ||
| 185 | + pub manage_categories_desc: &'static str, | ||
| 184 | pub team_name_label: &'static str, | 186 | pub team_name_label: &'static str, |
| 185 | pub rename_team_note: &'static str, | 187 | pub rename_team_note: &'static str, |
| 186 | pub members_of_pat: &'static str, | 188 | pub members_of_pat: &'static str, |
| @@ -435,6 +437,7 @@ pub static FR: Tr = Tr { | |||
| 435 | account_line_single: "Les comptes sont créés en ligne de commande.", | 437 | account_line_single: "Les comptes sont créés en ligne de commande.", |
| 436 | my_entries: "Mes saisies", | 438 | my_entries: "Mes saisies", |
| 437 | my_entries_desc: "Consulter et corriger les temps que j'ai enregistrés.", | 439 | my_entries_desc: "Consulter et corriger les temps que j'ai enregistrés.", |
| 440 | + manage_categories_desc: "Ajouter, renommer ou archiver les catégories de l'équipe.", | ||
| 438 | team_name_label: "Nom de l'équipe", | 441 | team_name_label: "Nom de l'équipe", |
| 439 | rename_team_note: "Le nouveau nom est visible par tous les membres.", | 442 | rename_team_note: "Le nouveau nom est visible par tous les membres.", |
| 440 | members_of_pat: "Membres de {}", | 443 | members_of_pat: "Membres de {}", |
| @@ -656,6 +659,7 @@ pub static EN: Tr = Tr { | |||
| 656 | account_line_single: "Accounts are created from the command line.", | 659 | account_line_single: "Accounts are created from the command line.", |
| 657 | my_entries: "My entries", | 660 | my_entries: "My entries", |
| 658 | my_entries_desc: "View and fix the times I recorded.", | 661 | my_entries_desc: "View and fix the times I recorded.", |
| 662 | + manage_categories_desc: "Add, rename or archive the team's categories.", | ||
| 659 | team_name_label: "Team name", | 663 | team_name_label: "Team name", |
| 660 | rename_team_note: "The new name is visible to all members.", | 664 | rename_team_note: "The new name is visible to all members.", |
| 661 | members_of_pat: "Members of {}", | 665 | members_of_pat: "Members of {}", |
| @@ -877,6 +881,7 @@ pub static DE: Tr = Tr { | |||
| 877 | account_line_single: "Konten werden über die Kommandozeile angelegt.", | 881 | account_line_single: "Konten werden über die Kommandozeile angelegt.", |
| 878 | my_entries: "Meine Einträge", | 882 | my_entries: "Meine Einträge", |
| 879 | my_entries_desc: "Erfasste Zeiten ansehen und korrigieren.", | 883 | my_entries_desc: "Erfasste Zeiten ansehen und korrigieren.", |
| 884 | + manage_categories_desc: "Kategorien des Teams hinzufügen, umbenennen oder archivieren.", | ||
| 880 | team_name_label: "Teamname", | 885 | team_name_label: "Teamname", |
| 881 | rename_team_note: "Der neue Name ist für alle Mitglieder sichtbar.", | 886 | rename_team_note: "Der neue Name ist für alle Mitglieder sichtbar.", |
| 882 | members_of_pat: "Mitglieder von {}", | 887 | members_of_pat: "Mitglieder von {}", |
modified
templates/settings.html +9 -1 | @@ -27,7 +27,7 @@ | ||
| 27 | 27 | <p class="card-body">{{ account_line }}</p> |
| 28 | 28 | </div> |
| 29 | 29 | |
| 30 | -<a class="card times-link" href="/temps" style="margin-bottom:var(--space-6)"> | |
| 30 | +<a class="card times-link" href="/temps" style="margin-bottom:var(--space-3)"> | |
| 31 | 31 | <span style="flex:1"> |
| 32 | 32 | <span style="display:block;font-family:var(--font-heading);font-size:17px">{{ shell.tr.my_entries }}</span> |
| 33 | 33 | <span style="display:block;font-size:13px;opacity:.7">{{ shell.tr.my_entries_desc }}</span> |
| @@ -35,6 +35,14 @@ | ||
| 35 | 35 | <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.75" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg> |
| 36 | 36 | </a> |
| 37 | 37 | |
| 38 | +<a class="card times-link" href="/parametres/categories" style="margin-bottom:var(--space-6)"> | |
| 39 | + <span style="flex:1"> | |
| 40 | + <span style="display:block;font-family:var(--font-heading);font-size:17px">{{ shell.tr.title_categories }}</span> | |
| 41 | + <span style="display:block;font-size:13px;opacity:.7">{{ shell.tr.manage_categories_desc }}</span> | |
| 42 | + </span> | |
| 43 | + <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.75" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg> | |
| 44 | +</a> | |
| 45 | + | |
| 38 | 46 | <form method="post" action="/equipes/renommer"> |
| 39 | 47 | <input type="hidden" name="csrf" value="{{ csrf }}"> |
| 40 | 48 | <div class="field" style="margin-bottom:var(--space-2)"> |
| @@ -27,7 +27,7 @@ | |||
| 27 | <p class="card-body">{{ account_line }}</p> | 27 | <p class="card-body">{{ account_line }}</p> |
| 28 | </div> | 28 | </div> |
| 29 | 29 | ||
| 30 | -<a class="card times-link" href="/temps" style="margin-bottom:var(--space-6)"> | 30 | +<a class="card times-link" href="/temps" style="margin-bottom:var(--space-3)"> |
| 31 | <span style="flex:1"> | 31 | <span style="flex:1"> |
| 32 | <span style="display:block;font-family:var(--font-heading);font-size:17px">{{ shell.tr.my_entries }}</span> | 32 | <span style="display:block;font-family:var(--font-heading);font-size:17px">{{ shell.tr.my_entries }}</span> |
| 33 | <span style="display:block;font-size:13px;opacity:.7">{{ shell.tr.my_entries_desc }}</span> | 33 | <span style="display:block;font-size:13px;opacity:.7">{{ shell.tr.my_entries_desc }}</span> |
| @@ -35,6 +35,14 @@ | |||
| 35 | <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.75" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg> | 35 | <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.75" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg> |
| 36 | </a> | 36 | </a> |
| 37 | 37 | ||
| 38 | +<a class="card times-link" href="/parametres/categories" style="margin-bottom:var(--space-6)"> | ||
| 39 | + <span style="flex:1"> | ||
| 40 | + <span style="display:block;font-family:var(--font-heading);font-size:17px">{{ shell.tr.title_categories }}</span> | ||
| 41 | + <span style="display:block;font-size:13px;opacity:.7">{{ shell.tr.manage_categories_desc }}</span> | ||
| 42 | + </span> | ||
| 43 | + <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.75" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg> | ||
| 44 | +</a> | ||
| 45 | + | ||
| 38 | <form method="post" action="/equipes/renommer"> | 46 | <form method="post" action="/equipes/renommer"> |
| 39 | <input type="hidden" name="csrf" value="{{ csrf }}"> | 47 | <input type="hidden" name="csrf" value="{{ csrf }}"> |
| 40 | <div class="field" style="margin-bottom:var(--space-2)"> | 48 | <div class="field" style="margin-bottom:var(--space-2)"> |
modified
templates/stats.html +1 -1 | @@ -1,6 +1,6 @@ | ||
| 1 | 1 | {% extends "app.html" %} |
| 2 | 2 | {% block content %} |
| 3 | -<a class="btn btn-ghost" style="margin:0 0 var(--space-3);padding-left:0;font-size:13px" href="/temps">{{ shell.tr.my_entries_arrow }}</a> | |
| 3 | +<a class="btn btn-ghost" style="margin:0 0 var(--space-4);padding-left:0;font-size:16px;min-height:44px" href="/temps">{{ shell.tr.my_entries_arrow }}</a> | |
| 4 | 4 | {% if !legend.is_empty() %} |
| 5 | 5 | <ul class="legend"> |
| 6 | 6 | {% for item in legend %} |
| @@ -1,6 +1,6 @@ | |||
| 1 | {% extends "app.html" %} | 1 | {% extends "app.html" %} |
| 2 | {% block content %} | 2 | {% block content %} |
| 3 | -<a class="btn btn-ghost" style="margin:0 0 var(--space-3);padding-left:0;font-size:13px" href="/temps">{{ shell.tr.my_entries_arrow }}</a> | 3 | +<a class="btn btn-ghost" style="margin:0 0 var(--space-4);padding-left:0;font-size:16px;min-height:44px" href="/temps">{{ shell.tr.my_entries_arrow }}</a> |
| 4 | {% if !legend.is_empty() %} | 4 | {% if !legend.is_empty() %} |
| 5 | <ul class="legend"> | 5 | <ul class="legend"> |
| 6 | {% for item in legend %} | 6 | {% for item in legend %} |