style: redesign mix cards with descriptions and top-aligned labels

Replaced redundant title/owner below cards with descriptive text
(DailyQ: customized selection, WeeklyQ: every Friday emphasis).
Moved qobuz badge and mix name to top of gradient card. Added
yourMixes/weeklyMixes i18n sections to de.json and fr.json.
This commit is contained in:
vicrodh committed 2026-02-20 01:04:50 -06:00
1 parent 5475ea0095
commit 1dee84c0ac
5 files changed
+39 -25

No files matched your search

+13 -23
View File
@@ -1461,20 +1461,14 @@
<span class="mix-card-badge">qobuz</span>
<span class="mix-card-name">DailyQ</span>
</div>
<div class="mix-card-info">
<div class="mix-card-title">{$t('yourMixes.title')}</div>
<div class="mix-card-owner">Qobuz</div>
</div>
<p class="mix-card-desc">{$t('yourMixes.cardDesc')}</p>
</button>
<button class="mix-card" onclick={() => onNavigateWeeklyQ?.()}>
<div class="mix-card-artwork mix-gradient-weekly">
<span class="mix-card-badge">qobuz</span>
<span class="mix-card-name">WeeklyQ</span>
</div>
<div class="mix-card-info">
<div class="mix-card-title">{$t('weeklyMixes.title')}</div>
<div class="mix-card-owner">Qobuz</div>
</div>
<p class="mix-card-desc">{@html $t('weeklyMixes.cardDesc')}</p>
</button>
</div>
</div>
@@ -1878,8 +1872,9 @@
position: relative;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 12px;
justify-content: flex-start;
padding: 14px;
gap: 4px;
box-sizing: border-box;
}
@@ -1914,22 +1909,17 @@
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.mix-card-title {
font-size: 14px;
font-weight: 500;
color: var(--text-primary);
line-height: 1.4;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-bottom: 2px;
}
.mix-card-owner {
.mix-card-desc {
font-size: 12px;
font-weight: 400;
color: var(--text-muted);
color: var(--text-secondary);
line-height: 1.4;
margin: 0;
}
.mix-card-desc :global(strong) {
font-weight: 600;
color: var(--text-primary);
}
</style>
+10
View File
@@ -1485,5 +1485,15 @@
"go": "Los",
"resolving": "Wird aufgeloest...",
"invalidLink": "Ungueltiger oder nicht unterstuetzter Qobuz-Link."
},
"yourMixes": {
"title": "DailyQ",
"subtitle": "Basierend auf deinem letzten Hoerverlauf.",
"cardDesc": "Bereichere deinen Tag mit einer personalisierten Musikauswahl."
},
"weeklyMixes": {
"title": "WeeklyQ",
"subtitle": "Basierend auf deinem woechentlichen Hoerverlauf.",
"cardDesc": "Eine woechentliche Reise mit einem frischen Mix <strong>jeden Freitag</strong>."
}
}
+3 -1
View File
@@ -1682,6 +1682,7 @@
"yourMixes": {
"title": "DailyQ",
"subtitle": "Based on your recent listening.",
"cardDesc": "Elevate your day with a customized selection of music.",
"actions": {
"saveAsPlaylist": "Save as playlist"
},
@@ -1715,7 +1716,8 @@
},
"weeklyMixes": {
"title": "WeeklyQ",
"subtitle": "Based on your weekly listening."
"subtitle": "Based on your weekly listening.",
"cardDesc": "Take a weekly journey with a fresh mix <strong>every Friday</strong>."
},
"linkResolver": {
"title": "Open Qobuz Link",
+3 -1
View File
@@ -1682,6 +1682,7 @@
"yourMixes": {
"title": "DailyQ",
"subtitle": "Basado en tus escuchas recientes.",
"cardDesc": "Eleva tu dia con una seleccion personalizada de musica.",
"actions": {
"saveAsPlaylist": "Guardar como playlist"
},
@@ -1715,7 +1716,8 @@
},
"weeklyMixes": {
"title": "WeeklyQ",
"subtitle": "Basado en tus escuchas semanales."
"subtitle": "Basado en tus escuchas semanales.",
"cardDesc": "Un viaje semanal con un mix fresco <strong>cada viernes</strong>."
},
"linkResolver": {
"title": "Abrir enlace de Qobuz",
+10
View File
@@ -1485,5 +1485,15 @@
"go": "Aller",
"resolving": "Resolution...",
"invalidLink": "Lien Qobuz invalide ou non pris en charge."
},
"yourMixes": {
"title": "DailyQ",
"subtitle": "Base sur vos ecoutes recentes.",
"cardDesc": "Sublimez votre journee avec une selection musicale personnalisee."
},
"weeklyMixes": {
"title": "WeeklyQ",
"subtitle": "Base sur vos ecoutes hebdomadaires.",
"cardDesc": "Un voyage hebdomadaire avec un mix frais <strong>chaque vendredi</strong>."
}
}