style: soften start screen typography and spacing
This commit is contained in:
@@ -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 |
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user