release(v0.3.3): акцентная типография — все надписи крупнее и контрастнее
Жалоба: вторичные подписи (Активных / До следующего / Трекинг матчей / Возобнови чтобы продолжить отсчёт) выглядели мелко и плохо читались. Сделан sweep по всему UI: - Базовая шкала secondary text: 12px → 13-14px - Контрастность подписей: text-text/45 → text-text/65 (или /75 для лейблов) - font-medium → font-semibold для метаданных карточек Dashboard: - Дата: 13/font-medium → 14/font-semibold - HeroStat label: 12/medium/55 → 14/semibold/75 (вот эти "Активных" и пр.) - HeroStat value: 26/semibold → 28/bold - HeroStat subvalue: 12/45 → 13/60/medium - HeroStat icon plaque: 24px → 28px - Paused banner title: 14 → 16, hint: 12 → 14/70 - Иконка баннера 36→40px Settings: - ToggleRow/SelectRow label: medium → semibold - Hint: 12/55 → 13/65/medium - "Конфигурация": 13/45/medium → 14/65/semibold Exercises/Challenges (row + page): - Row title: 15/medium → 16/semibold - Row subtitle: 13/55 → 14/65/medium - Стат-метрики bold - Empty state: 14/55 → 15/65/medium - Warning banner: 13/80 → 14/85/medium + иконка крупнее Games: - Game title: 17/semibold → 18/bold - Install path subtitle: 12/45 → 13/55/medium - Queue/error banners: 13/80 → 14/85/medium + крупнее иконки и code ExerciseCard: - Title: 17/semibold → 18/bold - Reps meta: 13/55 → 14/65/medium - Countdown label "Через/Сейчас": 11/45 → 12/60/semibold - Countdown value: 22/semibold → 24/bold - "Готово" CTA: 14/semibold → 15/bold, h-10 → h-11 ReminderApp: - "Время тренировки" label: 12/45 → 13 + accent цвет + bold - "Раз" подпись: 14/55 → 15/65/semibold - "Следующее через": 12/45 → 13/65/medium - Match summary header: 11/45 → 12/65/semibold - Match summary subtitle: 12/45 → 13/65/medium - Match summary total: 12/55 → 13/65/medium + 14 → 16 для числа - ChallengeRow title: 14/medium → 15/semibold - ChallengeRow subtitle: 12/55 → 13/65/medium - CTA Готово: 15/semibold → 16/bold UpdaterCard: - Cell title medium → semibold - Cell subtitle: 12/55 → 13/65/medium - Иконка ячеек 36→40px - Progress download title medium → semibold + 18px процент Card SectionHeader: - 12/medium/45 → 13/semibold/60 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -69,7 +69,7 @@ export default function Dashboard(): JSX.Element {
|
||||
{/* Hero — iOS Large Title */}
|
||||
<div className="flex flex-col sm:flex-row sm:items-end sm:justify-between gap-4 mb-8">
|
||||
<div className="min-w-0">
|
||||
<div className="text-[13px] text-text/45 font-medium capitalize">
|
||||
<div className="text-[14px] text-text/65 font-semibold capitalize">
|
||||
{today}
|
||||
</div>
|
||||
<h1 className="font-serif text-[32px] sm:text-[36px] leading-[1.05] tracking-tight mt-1 font-medium">
|
||||
@@ -139,19 +139,19 @@ export default function Dashboard(): JSX.Element {
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
className="mb-6 rounded-2xl bg-warning/12 p-4 flex items-center gap-3"
|
||||
>
|
||||
<div className="w-9 h-9 rounded-xl bg-warning/15 text-warning grid place-items-center">
|
||||
<Pause size={16} strokeWidth={2.5} />
|
||||
<div className="w-10 h-10 rounded-xl bg-warning/18 text-warning grid place-items-center shrink-0">
|
||||
<Pause size={18} strokeWidth={2.5} />
|
||||
</div>
|
||||
<div className="flex-1 min-w-0">
|
||||
<div className="text-[14px] font-semibold">
|
||||
<div className="text-[16px] font-semibold leading-tight">
|
||||
Напоминания на паузе
|
||||
</div>
|
||||
<div className="text-[12px] text-text/55 mt-0.5">
|
||||
<div className="text-[14px] text-text/70 mt-1">
|
||||
Возобнови, чтобы продолжить отсчёт
|
||||
</div>
|
||||
</div>
|
||||
<Button variant="filled" size="sm" onClick={togglePause}>
|
||||
<Play size={13} strokeWidth={2.5} /> Старт
|
||||
<Play size={14} strokeWidth={2.5} /> Старт
|
||||
</Button>
|
||||
</motion.div>
|
||||
)}
|
||||
@@ -225,19 +225,21 @@ function HeroStat({
|
||||
<div className="flex items-center gap-2 mb-3">
|
||||
<div
|
||||
className={[
|
||||
'w-6 h-6 rounded-md grid place-items-center text-white',
|
||||
'w-7 h-7 rounded-lg grid place-items-center text-white',
|
||||
toneBg
|
||||
].join(' ')}
|
||||
>
|
||||
{icon}
|
||||
</div>
|
||||
<div className="text-[12px] text-text/55 font-medium">{label}</div>
|
||||
<div className="text-[14px] text-text/75 font-semibold">{label}</div>
|
||||
</div>
|
||||
<div className="font-display text-[26px] font-semibold tracking-tight leading-none">
|
||||
<div className="font-display text-[28px] font-bold tracking-tight leading-none">
|
||||
{value}
|
||||
</div>
|
||||
{subvalue && (
|
||||
<div className="text-[12px] text-text/45 mt-1.5">{subvalue}</div>
|
||||
<div className="text-[13px] text-text/60 mt-2 font-medium">
|
||||
{subvalue}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user