v4: the playlists page is reachable at every width, and lists the user's own — below 1150px the header's text link was hidden and nothing replaced it: the avatar menu's "My playlists" led to the user's own, and a guest has no menu. The menu's entry is now "Playlists", to /playlists, at every width, and the page gains a tab after its orders, "Mine", for a signed-in user: their own playlists, private ones too, from GET /api/users/:id/playlists in the default order, narrowed by the category menu and kept live as the others are. It is /playlists?mine=1 (PLAYLISTS_TABS, parsePlaylistsTab, shared/paths.ts), a tab taking the order's place; a guest isn't offered it, and its link sends one to sign in. PlaylistSortTabs takes the tabs it shows, a profile's being the orders alone. The text link shows to a guest at every width, their header giving up its margins under 400px rather than the link, and to a signed-in user where the row has room beside the icons, as measured in every style and both languages: from 560px up to 860px, where the index page's tabs move into the header, and from 1150px as before. A guest in French in the kanagawa style still overflows the header under 340px, by up to 19px.
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 51s
Build and Deploy Static Documentation Site / build-and-push (push) Successful in 26s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
khannurien
2026-10-10 09:14:55 +00:00
parent 561cdf98b0
commit de223baaa4
16 changed files with 312 additions and 130 deletions

View File

@@ -450,7 +450,7 @@ msgstr "Annuler la suppression"
msgid "Cancel reply"
msgstr "Annuler la réponse"
#: src/components/layout/AppHeader.tsx:177
#: src/components/layout/AppHeader.tsx:181
msgid "Cancel search"
msgstr "Annuler la recherche"
@@ -579,7 +579,7 @@ msgstr "Impossible de changer le mot de passe"
msgid "Could not connect to the server. Check your connection and try again."
msgstr "Impossible de joindre le serveur. Vérifiez votre connexion et réessayez."
#: src/components/profile/ProfilePlaylistsTab.tsx:192
#: src/components/profile/ProfilePlaylistsTab.tsx:194
#: src/pages/DumpEdit.tsx:555
msgid "Could not delete"
msgstr "Suppression impossible"
@@ -681,7 +681,7 @@ msgstr "Échec de la suppression ({0})"
#: src/components/playlist/PlaylistCard.tsx:162
#: src/components/playlist/PlaylistEditForm.tsx:213
#: src/components/profile/ProfilePlaylistsTab.tsx:222
#: src/components/profile/ProfilePlaylistsTab.tsx:224
#: src/pages/PlaylistDetail.tsx:172
msgid "Delete playlist"
msgstr "Supprimer la collection"
@@ -698,7 +698,7 @@ msgstr "Supprimer cette reco ? Cette action est irréversible."
msgid "Delete this message?"
msgstr "Supprimer ce message ?"
#: src/components/profile/ProfilePlaylistsTab.tsx:221
#: src/components/profile/ProfilePlaylistsTab.tsx:223
#: src/pages/PlaylistDetail.tsx:171
msgid "Delete this playlist? This cannot be undone."
msgstr "Supprimer cette collection ? Cette action est irréversible."
@@ -753,7 +753,7 @@ msgstr "Déposez un fichier ici, ou collez-en un"
msgid "Drop a replacement here"
msgstr "Déposez un fichier de remplacement ici"
#: src/components/layout/AppHeader.tsx:196
#: src/components/layout/AppHeader.tsx:200
msgid "Dump"
msgstr "Reco"
@@ -1114,7 +1114,7 @@ msgstr "Lien ou fichier"
msgid "Live updates are temporarily disconnected. Trying to reconnect…"
msgstr "Les mises à jour en direct sont temporairement interrompues. Tentative de reconnexion…"
#: src/components/layout/AppHeader.tsx:229
#: src/components/layout/AppHeader.tsx:233
msgid "Live updates unavailable."
msgstr "Mises à jour en direct indisponibles."
@@ -1159,7 +1159,7 @@ msgstr "Chargement du profil…"
msgid "Loading…"
msgstr "Chargement…"
#: src/components/layout/AppHeader.tsx:203
#: src/components/layout/AppHeader.tsx:207
#: src/pages/FederationCallback.tsx:32
#: src/pages/UserLogin.tsx:41
#: src/pages/UserLogin.tsx:66
@@ -1180,7 +1180,7 @@ msgstr "Se connecter pour valider"
msgid "Log in with {0}"
msgstr "Se connecter avec {0}"
#: src/components/layout/UserMenu.tsx:128
#: src/components/layout/UserMenu.tsx:132
#: src/pages/UserPublicProfile.tsx:137
msgid "Log out"
msgstr "Se déconnecter"
@@ -1198,7 +1198,7 @@ msgstr "Connexion échouée"
msgid "Lowercase letters, numbers and single hyphens only"
msgstr "Minuscules, chiffres et tirets simples seulement"
#: src/components/layout/UserMenu.tsx:115
#: src/components/layout/UserMenu.tsx:119
#: src/pages/Manage.tsx:32
#: src/pages/Manage.tsx:40
#: src/pages/UserPublicProfile.tsx:170
@@ -1209,6 +1209,10 @@ msgstr "Administration"
msgid "Max {limit}"
msgstr "Max {limit}"
#: src/components/playlist/PlaylistSortTabs.tsx:34
msgid "Mine"
msgstr "Les miennes"
#: src/components/profile/RoleSwitcher.tsx:23
msgid "Moderator"
msgstr "Modérateur"
@@ -1218,7 +1222,7 @@ msgstr "Modérateur"
msgid "digest.monthly"
msgstr "Récap mensuel"
#: src/components/playlist/PlaylistSortTabs.tsx:27
#: src/components/playlist/PlaylistSortTabs.tsx:33
msgid "Most dumps"
msgstr "Les plus fournies"
@@ -1226,10 +1230,6 @@ msgstr "Les plus fournies"
msgid "Mute"
msgstr "Couper le son"
#: src/components/layout/UserMenu.tsx:89
msgid "My playlists"
msgstr "Mes collections"
#: src/components/category/CategoryManager.tsx:208
#: src/components/category/CategoryManager.tsx:209
msgid "Name"
@@ -1237,7 +1237,7 @@ msgstr "Nom"
#: src/components/chat/ChatModal.tsx:692
#: src/components/feed/FeedTabBar.tsx:58
#: src/components/playlist/PlaylistSortTabs.tsx:26
#: src/components/playlist/PlaylistSortTabs.tsx:32
#: src/pages/Settings.tsx:55
msgid "New"
msgstr "Nouveau"
@@ -1315,8 +1315,8 @@ msgid "No playlists match \"{q}\"."
msgstr "Aucune collection ne correspond à « {q} »."
#: src/components/playlist/PlaylistMembershipPanel.tsx:51
#: src/components/profile/ProfilePlaylistsTab.tsx:199
#: src/pages/Playlists.tsx:151
#: src/components/profile/ProfilePlaylistsTab.tsx:201
#: src/pages/Playlists.tsx:180
msgid "No playlists yet."
msgstr "Pas encore de collections."
@@ -1477,11 +1477,12 @@ msgid "Playlist categories"
msgstr "Catégories de collections"
#: src/components/dump/create/StepIndicator.tsx:21
#: src/components/layout/AppHeader.tsx:169
#: src/components/layout/AppHeader.tsx:173
#: src/components/layout/UserMenu.tsx:93
#: src/components/profile/ProfileFollowTab.tsx:147
#: src/components/profile/ProfilePlaylistsTab.tsx:161
#: src/pages/Playlists.tsx:60
#: src/pages/Playlists.tsx:132
#: src/components/profile/ProfilePlaylistsTab.tsx:162
#: src/pages/Playlists.tsx:74
#: src/pages/Playlists.tsx:160
#: src/pages/Search.tsx:214
#: src/pages/UserPublicProfile.tsx:166
msgid "Playlists"
@@ -1670,7 +1671,7 @@ msgstr "Enregistrer"
msgid "Saving…"
msgstr "Enregistrement…"
#: src/components/layout/AppHeader.tsx:177
#: src/components/layout/AppHeader.tsx:181
#: src/components/layout/SearchBar.tsx:83
#: src/pages/Search.tsx:106
msgid "Search"
@@ -1718,7 +1719,7 @@ msgstr "Envoyer le lien de réinitialisation"
msgid "Sending…"
msgstr "Envoi…"
#: src/components/layout/AppHeader.tsx:193
#: src/components/layout/AppHeader.tsx:197
msgid "Server unreachable"
msgstr "Serveur inaccessible"
@@ -1732,7 +1733,7 @@ msgstr "Définir un nouveau mot de passe"
msgid "email.settings"
msgstr "Paramètres"
#: src/components/layout/UserMenu.tsx:105
#: src/components/layout/UserMenu.tsx:109
#: src/pages/Settings.tsx:75
#: src/pages/Settings.tsx:88
msgid "Settings"
@@ -1980,7 +1981,7 @@ msgstr "Se désabonner"
msgid "Unsubscribed"
msgstr "Désabonné"
#: src/components/playlist/PlaylistSortTabs.tsx:25
#: src/components/playlist/PlaylistSortTabs.tsx:31
msgid "Updated"
msgstr "Mises à jour"
@@ -2044,7 +2045,7 @@ msgstr "Utilisateur"
msgid "User management"
msgstr "Gestion utilisateur"
#: src/components/layout/UserMenu.tsx:64
#: src/components/layout/UserMenu.tsx:68
msgid "User menu"
msgstr "Menu utilisateur"