feat: track info drawer (Get Info-style)
Add a right-side track info drawer that sits to the right of the queue panel when both are open. Shows a large cover, title/artist/album links, a Play/Queue/Edit actions row, and Status/General/File/Identifiers sections (empty rows omitted). Opens from the track context menu, the player now-playing tile, and the queue now-playing card. - ui slice: trackInfoId + open/closeTrackInfo - TrackInfoDrawer rendered after QueuePanel in AppShell; overlays content on narrow viewports - map source/createdAt/enrichedAt from the wire (were unmapped) - formatDateTime helper, info icon, i18n (en/ru) - drop orphaned toggleNowPlaying/isNowPlayingOpen from player slice Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -156,12 +156,49 @@ const en = {
|
||||
playNow: 'Play now',
|
||||
playNext: 'Play next',
|
||||
addToQueue: 'Add to queue',
|
||||
info: 'Track info',
|
||||
addToPlaylist: 'Add to playlist…',
|
||||
editMetadata: 'Edit metadata',
|
||||
download: 'Download',
|
||||
delete: 'Delete',
|
||||
},
|
||||
},
|
||||
trackInfo: {
|
||||
title: 'Track info',
|
||||
open: 'View track info',
|
||||
close: 'Close',
|
||||
notFound: 'Track not found',
|
||||
play: 'Play',
|
||||
addToQueue: 'Queue',
|
||||
editMetadata: 'Edit metadata',
|
||||
liked: 'Liked',
|
||||
trackOf: 'No. {{n}} of {{total}}',
|
||||
kbps: '{{n}} kbps',
|
||||
sections: {
|
||||
status: 'Status',
|
||||
general: 'General',
|
||||
file: 'File',
|
||||
identifiers: 'Identifiers',
|
||||
},
|
||||
fields: {
|
||||
artist: 'Artist',
|
||||
album: 'Album',
|
||||
trackNumber: 'Track',
|
||||
disc: 'Disc',
|
||||
year: 'Year',
|
||||
genre: 'Genre',
|
||||
duration: 'Duration',
|
||||
format: 'Format',
|
||||
bitrate: 'Bitrate',
|
||||
size: 'Size',
|
||||
source: 'Source',
|
||||
added: 'Added',
|
||||
enriched: 'Enriched',
|
||||
trackId: 'Track ID',
|
||||
albumId: 'Album ID',
|
||||
artistId: 'Artist ID',
|
||||
},
|
||||
},
|
||||
common: {
|
||||
error: 'Something went wrong',
|
||||
retry: 'Retry',
|
||||
|
||||
@@ -158,12 +158,49 @@ const ru: Translations = {
|
||||
playNow: 'Играть сейчас',
|
||||
playNext: 'Следующим',
|
||||
addToQueue: 'Добавить в очередь',
|
||||
info: 'Информация о треке',
|
||||
addToPlaylist: 'Добавить в плейлист…',
|
||||
editMetadata: 'Редактировать метаданные',
|
||||
download: 'Скачать',
|
||||
delete: 'Удалить',
|
||||
},
|
||||
},
|
||||
trackInfo: {
|
||||
title: 'О треке',
|
||||
open: 'Информация о треке',
|
||||
close: 'Закрыть',
|
||||
notFound: 'Трек не найден',
|
||||
play: 'Играть',
|
||||
addToQueue: 'В очередь',
|
||||
editMetadata: 'Метаданные',
|
||||
liked: 'В избранном',
|
||||
trackOf: '№ {{n}} из {{total}}',
|
||||
kbps: '{{n}} кбит/с',
|
||||
sections: {
|
||||
status: 'Статус',
|
||||
general: 'Основное',
|
||||
file: 'Файл',
|
||||
identifiers: 'Идентификаторы',
|
||||
},
|
||||
fields: {
|
||||
artist: 'Исполнитель',
|
||||
album: 'Альбом',
|
||||
trackNumber: 'Трек',
|
||||
disc: 'Диск',
|
||||
year: 'Год',
|
||||
genre: 'Жанр',
|
||||
duration: 'Длительность',
|
||||
format: 'Формат',
|
||||
bitrate: 'Битрейт',
|
||||
size: 'Размер',
|
||||
source: 'Источник',
|
||||
added: 'Добавлен',
|
||||
enriched: 'Обогащён',
|
||||
trackId: 'ID трека',
|
||||
albumId: 'ID альбома',
|
||||
artistId: 'ID исполнителя',
|
||||
},
|
||||
},
|
||||
common: {
|
||||
error: 'Что-то пошло не так',
|
||||
retry: 'Повторить',
|
||||
|
||||
Reference in New Issue
Block a user