style: soften start screen typography and spacing

This commit is contained in:
2026-10-18 23:39:31 +02:00
parent 67b38394d3
commit 2d3cc6e6b4
2 changed files with 9 additions and 7 deletions
+2
View File
@@ -37,6 +37,8 @@ Open one or more local files with **⌘O**, drag them onto the video, or use Fin
The start screen uses a fixed 640 × 400-point two-pane window: Terebi's identity and version on the left; **Open…**, **Open URL…**, and the six most recently played local files or YouTube videos on the right. Opening media restores normal resizing; closing media returns to the fixed start size. Shortcut hints follow your configured bindings. **Open URL…** reveals a focused inline YouTube field. When the most recent item has saved progress, it appears once as a **Resume** row with its saved timestamp. Recent titles and ordering survive relaunches; failed opens are not added. Resolved streams are excluded because reopening them requires a fresh external handoff. The action pane scrolls, and drag-and-drop remains available. The start screen uses a fixed 640 × 400-point two-pane window: Terebi's identity and version on the left; **Open…**, **Open URL…**, and the six most recently played local files or YouTube videos on the right. Opening media restores normal resizing; closing media returns to the fixed start size. Shortcut hints follow your configured bindings. **Open URL…** reveals a focused inline YouTube field. When the most recent item has saved progress, it appears once as a **Resume** row with its saved timestamp. Recent titles and ordering survive relaunches; failed opens are not added. Resolved streams are excluded because reopening them requires a fresh external handoff. The action pane scrolls, and drag-and-drop remains available.
Start-screen actions use 14-point text and begin 64 points below the top edge. Open actions have no idle fill; their background appears on hover or press.
| Action | Default shortcut | | Action | Default shortcut |
| --- | --- | | --- | --- |
| Play / pause | Space or K | | Play / pause | Space or K |
+7 -7
View File
@@ -2146,11 +2146,11 @@ private struct PlayerContent: View {
.font(.system(size: sidebarWidth < 160 ? 48 : 72, weight: .light)) .font(.system(size: sidebarWidth < 160 ? 48 : 72, weight: .light))
.foregroundStyle(Color(SunsetPalette.accent)) .foregroundStyle(Color(SunsetPalette.accent))
.accessibilityHidden(true) .accessibilityHidden(true)
.padding(.top, max(48, size.height * 0.16)) .padding(.top, max(48, size.height * 0.16) + 20)
VStack(spacing: 6) { VStack(spacing: 6) {
Text("Terebi").font(.system(size: 23, weight: .semibold)) Text("Terebi").font(.system(size: 20, weight: .semibold))
if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String { if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String {
Text(version).font(.system(size: 17)).foregroundStyle(.secondary) Text(version).font(.system(size: 14)).foregroundStyle(.secondary)
} }
} }
.padding(.top, min(80, size.height * 0.14)) .padding(.top, min(80, size.height * 0.14))
@@ -2173,7 +2173,7 @@ private struct PlayerContent: View {
.foregroundStyle(.secondary) .foregroundStyle(.secondary)
} }
} }
.buttonStyle(StartScreenButtonStyle(prominent: true)) .buttonStyle(StartScreenButtonStyle())
.accessibilityLabel("Open File…") .accessibilityLabel("Open File…")
Button(action: toggleYouTubeInput) { Button(action: toggleYouTubeInput) {
HStack { HStack {
@@ -2214,16 +2214,16 @@ private struct PlayerContent: View {
} }
if model.recentMedia.isEmpty { if model.recentMedia.isEmpty {
Text("Drop a media file or YouTube link here") Text("Drop a media file or YouTube link here")
.font(.system(size: 12)) .font(.system(size: 11))
.foregroundStyle(.secondary) .foregroundStyle(.secondary)
.padding(.horizontal, 14) .padding(.horizontal, 14)
.padding(.top, 20) .padding(.top, 20)
} }
} }
.font(.system(size: 17, weight: .medium)) .font(.system(size: 14, weight: .medium))
.disabled(!model.canOpen) .disabled(!model.canOpen)
.padding(.horizontal, size.width < 600 ? 14 : 30) .padding(.horizontal, size.width < 600 ? 14 : 30)
.padding(.top, 44) .padding(.top, 64)
.padding(.bottom, 24) .padding(.bottom, 24)
} }
.frame(maxWidth: .infinity, maxHeight: .infinity) .frame(maxWidth: .infinity, maxHeight: .infinity)