Skip to content

Seseri 4.0 — "Sinyal" redesign#4

Merged
IACBI merged 9 commits into
mainfrom
redesign/seseri-2.0
Jul 12, 2026
Merged

Seseri 4.0 — "Sinyal" redesign#4
IACBI merged 9 commits into
mainfrom
redesign/seseri-2.0

Conversation

@IACBI

@IACBI IACBI commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Özet

Arayüzün sıfırdan yeniden tasarımı: yeni "Sinyal" görsel kimliği + tam bilgi mimarisi.

Kimlik

  • Sıcak kömür yüzeyler, kehribar "radyo kadranı" aksanı; Bricolage Grotesque / Schibsted Grotesk / Spline Sans Mono
  • Yeni marka: beş çubuklu "sinyal" işareti (S monogramı emekli) — favicon/PWA ikonları yeniden üretildi; nazik marka animasyonları (reduced-motion'da statik)
  • 4 tema korunur; Karanlık/OLED metin rampaları okunabilirlik için yeniden ayarlandı; 7 yeni aksan (eski kayıtlar otomatik eşlenir)

Bilgi mimarisi

  • Alt sekme çubuğu (mobil) / kenar çubuğu (masaüstü): Ana Sayfa / Ara / Kütüphane / Ayarlar
  • Devam-et rayı, Kütüphane (Abonelikler+İndirilenler), tam ekran Şimdi Çalıyor, Kuyruk sayfası
  • Mini dock artık gerçek transport: sarma/oynat ortada, uyku+hız sağda, dokunarak sarılabilir ilerleme çizgisi
  • Gerçek SVG bayraklı dil menüsü (Ana Sayfa + Ayarlar)
  • Yeni ?view= rotaları; eski ?podcast/?rss/?yt derin linkleri aynen çalışır

Teknik

  • UI: headless playback-controller + görünüm modülleri; stiller token tabanlı katmanlara bölündü; runtime katmanı (player/feeds/storage/worker/sw) değişmedi
  • YouTube görselleri i.ytimg.com CDN'inden; embed fallback'te arka planda ses kurtarma (kilit ekranı çalması)
  • i18n: 8 dile ~19 yeni anahtar; a11y korunur (RTL, reduced-motion, klavye, odak yönetimi)

Doğrulama

  • npm run verify yeşil: lint + tsc + 121 istemci + 26 worker testi + build
  • Smoke: p3-offline 9/9, p5-mini 7/7, p8-ytsearch 3/3
  • Ekran görüntüleri (store + referans) son UI ile yeniden üretildi; sürüm 4.0.0 (web + Tauri kabuk)

Not: merge, GitHub Pages üzerinden canlı siteyi günceller.

IACBI added 9 commits July 12, 2026 03:58
- New token system: warm charcoal surfaces, amber dial-glow accent,
  Bricolage Grotesque / Schibsted Grotesk / Spline Sans Mono
- Split styles: tokens/themes/base/layout/controls/overlays + per-view files
  (components.css retired); main.ts imports the styles/index.css barrel
- New app frame: bottom tab bar (mobile) / left sidebar (desktop),
  view registry (ui/views.ts), nav controller, per-view mount sections
- Router: ?view=search|library|queue|settings alongside legacy feed params;
  additive router tests (29 total)
- Playback-controller interface frozen (WP-D fills the implementation)
- i18n: 18 new keys across all 8 languages
- theme.ts: Sinyal THEME_VALUES, new 7-accent set, legacy accent remap;
  tokens.css parity kept (theme.test.ts green)
- index.html fonts + theme-color, manifest colors + search shortcut
- Legacy screens (player/search/settings/queue-panel) removed — reference
  copies live at git ed59840
- WP-D: playback-controller real implementation (behavior-preserving port of
  legacy player.ts: SWR feed loading, offline-blob/direct/YT-embed source
  selection, queue+autoNext, progress persistence, keyboard shortcuts) +
  podcast detail view (header, status strip, sort/filter, episode list)
- WP-E: Now Playing sheet (frequency-line hero scrubber, transport, sleep/
  speed/queue), mini-player glass dock with animated signal line, waveform
  visual evolution (API + a11y contract unchanged)
- WP-A: Home (brand header, continue-listening rail from cached data,
  subscriptions grid) + read-only continue-listening aggregator
- WP-B: Search (progressive dual-source port, direct-input fast path)
- WP-C: Library (subscriptions/downloads tabs, storage summary)
- WP-F: Queue view (panel port) + Settings view (dialog->page port, dynamic
  accent swatches via ACCENT_SWATCHES/normalizeAccent)

Gate: eslint + tsc + 116 tests + vite build all green
…ers, np stage collapse

- i18n: lib_delete_download added to all 8 languages; library trash button
  now uses it for title/aria
- Home: artless subscriptions/continue rows render a placeholder tile
  instead of a broken-image glyph
- Now Playing: artless feeds collapse the artwork stage (yt-mode still
  shows the video frame)

Visual QA: 18 screenshots across mobile/desktop, dark/light/oled, TR/AR-RTL
…ated

- Smoke scripts updated to the Sinyal IA (p3-offline 9/9, p5-mini 7/7,
  p8-ytsearch 3/3 pass; live/p4 pre-existing env limitations documented)
- New unit test: continue-listening aggregator (5 tests; total 121 client
  + 26 worker)
- Version 4.0.0; CHANGELOG entry; README EN/TR new IA; STORE.md version
  drift fixed; TESTPLAN + playback regression matrix
- Store screenshots: narrow shots now render the real mobile layout
  (360px @3x = 1080x1920) with a seeded lived-in home; manifest labels
  updated; stale docs/screens-v2 replaced by docs/screens-v4
…and motion, YT artwork fix

- Dark 'Kor' / OLED 'Gece' themes retuned: text2 ~10:1, text3 ~5.7-6.4:1 on
  bg; nav labels promoted to the secondary text tier (tokens.css + theme.ts
  in lockstep, parity test green); theme-color/manifest follow the new bg
- New brand mark: five-bar 'sinyal' crest replaces the S monogram — in-app
  breathing mark (.sig-mark), regenerated favicon + PWA/launcher/monochrome
  icons (icons.cjs redrawn; userSpaceOnUse gradient for zero-width lines)
- 'Seseri' wordmark: soft signal sheen sweep (.wm), static under
  prefers-reduced-motion
- YouTube artwork served from i.ytimg.com (deterministic from video id)
  instead of flaky Piped/Invidious proxies (search rows + resolver
  episodes); search artwork falls back to a placeholder tile on error
- CHANGELOG/STORE notes; store + reference screenshots regenerated
…inline mini transport

- New ui/flags.ts (hand-drawn 24x16 SVG flags for all 8 locales — Windows
  renders no emoji flags) + ui/lang-menu.ts (accessible custom listbox:
  aria-haspopup/expanded, roving arrows, Home/End, Esc, light dismiss)
- Language menu now also lives on the Home header (compact flag+code pill);
  Settings' s_lang <select> replaced by the same component
- Mini player is a real transport bar: skip back/fwd + play inline, prev/
  next + speed selector on >=640/760px, tap/drag-to-seek progress hairline
  (role=slider, keyboard arrows); expand chevron / title area opens the
  Now Playing sheet (initMiniPlayer now takes the playback controller)
- smoke-p5 updated to the expand button (7/7 pass); CHANGELOG + README
…mbed->audio rescue

- Mini dock (>=640px): grid 1fr/auto/1fr — title start, transport (prev/
  skip/play/skip/next) centred, sleep timer + speed + expand grouped at the
  end; sleep select synced both ways with the Now Playing sheet's control
- Playback: while the YouTube iframe fallback plays, retry audio resolution
  in the background (8s/30s/60s/120s/180s) and hot-swap to <audio> at the
  embed's position, preserving play state — lock-screen/background playback
  and Media Session controls come back without interrupting the listener
- smoke p5 7/7; CHANGELOG
- STORE.md test-count checklist -> 121 client + 26 worker
- TESTPLAN: mini transport + embed->audio rescue behaviors
- Tauri shell version 3.1.0 -> 4.0.0 (installer artifact name)
- Store + reference screenshots regenerated with the final UI
  (lang pill on home, centred mini transport)
@IACBI
IACBI merged commit 123f6dc into main Jul 12, 2026
2 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 059ba55d15

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/ui/playback-controller.ts
Comment thread src/ui/router.ts
Comment thread src/ui/views/now-playing.ts
Comment thread src/styles/signal-line.css
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant