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.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -450,7 +450,7 @@ msgstr "Cancel removal"
|
||||
msgid "Cancel reply"
|
||||
msgstr "Cancel reply"
|
||||
|
||||
#: src/components/layout/AppHeader.tsx:177
|
||||
#: src/components/layout/AppHeader.tsx:181
|
||||
msgid "Cancel search"
|
||||
msgstr "Cancel search"
|
||||
|
||||
@@ -579,7 +579,7 @@ msgstr "Could not change password"
|
||||
msgid "Could not connect to the server. Check your connection and try again."
|
||||
msgstr "Could not connect to the server. Check your connection and try again."
|
||||
|
||||
#: src/components/profile/ProfilePlaylistsTab.tsx:192
|
||||
#: src/components/profile/ProfilePlaylistsTab.tsx:194
|
||||
#: src/pages/DumpEdit.tsx:555
|
||||
msgid "Could not delete"
|
||||
msgstr "Could not delete"
|
||||
@@ -681,7 +681,7 @@ msgstr "Delete failed ({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 "Delete playlist"
|
||||
@@ -698,7 +698,7 @@ msgstr "Delete this dump? This cannot be undone."
|
||||
msgid "Delete this message?"
|
||||
msgstr "Delete this 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 "Delete this playlist? This cannot be undone."
|
||||
@@ -753,7 +753,7 @@ msgstr "Drop a file here, or paste one"
|
||||
msgid "Drop a replacement here"
|
||||
msgstr "Drop a replacement here"
|
||||
|
||||
#: src/components/layout/AppHeader.tsx:196
|
||||
#: src/components/layout/AppHeader.tsx:200
|
||||
msgid "Dump"
|
||||
msgstr "Dump"
|
||||
|
||||
@@ -1114,7 +1114,7 @@ msgstr "Link or file"
|
||||
msgid "Live updates are temporarily disconnected. Trying to reconnect…"
|
||||
msgstr "Live updates are temporarily disconnected. Trying to reconnect…"
|
||||
|
||||
#: src/components/layout/AppHeader.tsx:229
|
||||
#: src/components/layout/AppHeader.tsx:233
|
||||
msgid "Live updates unavailable."
|
||||
msgstr "Live updates unavailable."
|
||||
|
||||
@@ -1159,7 +1159,7 @@ msgstr "Loading profile…"
|
||||
msgid "Loading…"
|
||||
msgstr "Loading…"
|
||||
|
||||
#: 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 "Log in to vote"
|
||||
msgid "Log in with {0}"
|
||||
msgstr "Log in with {0}"
|
||||
|
||||
#: src/components/layout/UserMenu.tsx:128
|
||||
#: src/components/layout/UserMenu.tsx:132
|
||||
#: src/pages/UserPublicProfile.tsx:137
|
||||
msgid "Log out"
|
||||
msgstr "Log out"
|
||||
@@ -1198,7 +1198,7 @@ msgstr "Login failed"
|
||||
msgid "Lowercase letters, numbers and single hyphens only"
|
||||
msgstr "Lowercase letters, numbers and single hyphens only"
|
||||
|
||||
#: 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 "Manage"
|
||||
msgid "Max {limit}"
|
||||
msgstr "Max {limit}"
|
||||
|
||||
#: src/components/playlist/PlaylistSortTabs.tsx:34
|
||||
msgid "Mine"
|
||||
msgstr "Mine"
|
||||
|
||||
#: src/components/profile/RoleSwitcher.tsx:23
|
||||
msgid "Moderator"
|
||||
msgstr "Moderator"
|
||||
@@ -1218,7 +1222,7 @@ msgstr "Moderator"
|
||||
msgid "digest.monthly"
|
||||
msgstr "Monthly recap"
|
||||
|
||||
#: src/components/playlist/PlaylistSortTabs.tsx:27
|
||||
#: src/components/playlist/PlaylistSortTabs.tsx:33
|
||||
msgid "Most dumps"
|
||||
msgstr "Most dumps"
|
||||
|
||||
@@ -1226,10 +1230,6 @@ msgstr "Most dumps"
|
||||
msgid "Mute"
|
||||
msgstr "Mute"
|
||||
|
||||
#: src/components/layout/UserMenu.tsx:89
|
||||
msgid "My playlists"
|
||||
msgstr "My playlists"
|
||||
|
||||
#: src/components/category/CategoryManager.tsx:208
|
||||
#: src/components/category/CategoryManager.tsx:209
|
||||
msgid "Name"
|
||||
@@ -1237,7 +1237,7 @@ msgstr "Name"
|
||||
|
||||
#: 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 "New"
|
||||
@@ -1315,8 +1315,8 @@ msgid "No playlists match \"{q}\"."
|
||||
msgstr "No playlists match \"{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 "No playlists yet."
|
||||
|
||||
@@ -1477,11 +1477,12 @@ msgid "Playlist categories"
|
||||
msgstr "Playlist categories"
|
||||
|
||||
#: 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 "Save"
|
||||
msgid "Saving…"
|
||||
msgstr "Saving…"
|
||||
|
||||
#: 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 "Send reset link"
|
||||
msgid "Sending…"
|
||||
msgstr "Sending…"
|
||||
|
||||
#: src/components/layout/AppHeader.tsx:193
|
||||
#: src/components/layout/AppHeader.tsx:197
|
||||
msgid "Server unreachable"
|
||||
msgstr "Server unreachable"
|
||||
|
||||
@@ -1732,7 +1733,7 @@ msgstr "Set new password"
|
||||
msgid "email.settings"
|
||||
msgstr "Settings"
|
||||
|
||||
#: 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 "Unsubscribe"
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Unsubscribed"
|
||||
|
||||
#: src/components/playlist/PlaylistSortTabs.tsx:25
|
||||
#: src/components/playlist/PlaylistSortTabs.tsx:31
|
||||
msgid "Updated"
|
||||
msgstr "Updated"
|
||||
|
||||
@@ -2044,7 +2045,7 @@ msgstr "User"
|
||||
msgid "User management"
|
||||
msgstr "User management"
|
||||
|
||||
#: src/components/layout/UserMenu.tsx:64
|
||||
#: src/components/layout/UserMenu.tsx:68
|
||||
msgid "User menu"
|
||||
msgstr "User menu"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user