Commit Graph

18 Commits

Author SHA1 Message Date
Arkadiusz Fal
5b9cd8c521 Dismiss tvOS sidebar detail pages when sidebar selection changes
tvOS's sidebarAdaptable TabView leaves the previously-pushed detail view
visible after the user picks another sidebar item, until they manually
press Menu. Broadcast a notification on tab change so any pushed
TVSidebarDetailContainer dismisses itself, and reset each tab's
NavigationPath. Also drop a redundant inner NavigationStack in the tvOS
SettingsView so subpages register on the tab's outer stack.
2026-05-08 19:35:36 +02:00
Arkadiusz Fal
3b9144cd28 Fix macOS sidebar dynamic item switching 2026-04-23 23:19:39 +02:00
Arkadiusz Fal
cda983651e Restore Settings as sidebar item on macOS
Remove the gear toolbar button that opened Settings as a sheet in the
NavigationSplitView sidebar column, and drop the macOS guard hiding
.settings from SidebarMainItem so it can be added to the sidebar and
rendered in the detail column like other items. The dedicated Settings
window (Cmd+,) is unchanged.
2026-04-23 18:00:42 +02:00
Arkadiusz Fal
cee2793399 Use NavigationSplitView on macOS with persistent sidebar Settings button
Replaces the macOS TabView(.sidebarAdaptable) root with NavigationSplitView
so the Settings gear can live in the sidebar column's toolbar (next to the
sidebar toggle) instead of only appearing in HomeView's detail toolbar.
2026-04-19 14:01:06 +02:00
Arkadiusz Fal
f60a6e3eec Fix tvOS focus trap on empty Home after fresh install
Render a focusable empty state on tvOS Home when no sections have content,
with an "Open Sources" button that switches the sidebar selection. Without
a focusable view the tvOS focus engine had no target, leaving the sidebar
unreachable after the initial iCloud alert was dismissed.

Also wire the selectedSidebarItem onChange handler into the tvOS TabView,
which was missing and prevented programmatic sidebar selection.
2026-04-18 20:38:02 +02:00
Arkadiusz Fal
13ade8aad3 Add Continue Watching toggle to tab bar settings
Exposes ContinueWatchingView as an opt-in compact tab bar item,
hidden by default. Uses a short "Continue" label since the full
"Continue Watching" string does not fit as a tab bar title.
2026-04-18 20:38:02 +02:00
Arkadiusz Fal
c0184712a9 Add Continue Watching toggle to sidebar settings
Exposes ContinueWatchingView as an opt-in main sidebar item,
hidden by default.
2026-04-18 20:38:02 +02:00
Arkadiusz Fal
4c8a3ee5ba Push video info navigation from media source browser on tvOS
handlePendingNavigation guarded the .mediaSource append with
#if os(iOS) || os(macOS), so navigating to video info from a media
source on tvOS was silently dropped. The NavigationStack binding is
already unconditional, so the append is safe on all platforms.
2026-04-18 20:38:02 +02:00
Arkadiusz Fal
a660591e8d Add Playlists entry to sidebar main navigation
Adds a toggleable "Playlists" item that opens PlaylistsListView,
mirroring the Channels → ManageChannelsView pattern.
2026-04-18 20:38:01 +02:00
Arkadiusz Fal
a3275f4cd7 Fix tvOS sidebar media source showing empty screen 2026-04-18 20:38:01 +02:00
Arkadiusz Fal
68ab994798 Drop redundant navigation titles in tvOS Open URL and Remote Control
The sidebar decoration added by TVSidebarDetailContainer already shows
the screen title, so the navigation title would duplicate it on tvOS.
2026-04-18 20:38:01 +02:00
Arkadiusz Fal
b8390577cc Rename TVSettingsContainer to TVSidebarDetailContainer
The container is now used beyond settings (Open URL and Remote Control
tabs), so the name is broadened to reflect its general role as a
tvOS sidebar-decorated detail container.
2026-04-18 20:38:01 +02:00
Arkadiusz Fal
29e8d64c35 Use settings container layout for tvOS Open URL and Remote Control
Wrap OpenLinkView and RemoteControlContentView in TVSettingsContainer on
tvOS so they get the same left sidebar with large SF Symbol icon and
title as settings detail screens, for visual consistency.
2026-04-18 20:38:01 +02:00
Arkadiusz Fal
6a45ed7d0f Show video title and channel in tvOS sidebar Now Playing 2026-04-18 20:38:01 +02:00
Arkadiusz Fal
d422bf13e5 Add Open URL and Remote Control as sidebar items
After disabling home shortcuts on tvOS, Open URL and Remote Control had
no entry point. Add them as configurable sidebar main items. Remote
Control defaults to visible on tvOS; Open URL defaults to hidden on all
platforms.
2026-04-18 20:38:01 +02:00
Arkadiusz Fal
8cd3aca96c Generalize Yattee Server credentials manager to BasicAuthCredentialsManager
Renames YatteeServerCredentialsManager → BasicAuthCredentialsManager so the
same Keychain-backed username/password storage can be reused for any instance
type that sits behind a reverse proxy requiring HTTP Basic Auth. Adds a
one-time migration that moves existing items from the legacy
'com.yattee.yatteeserver' Keychain service to 'com.yattee.basicauth',
preserving the iCloud-sync attribute. No behavior change for end users.
2026-04-18 20:38:00 +02:00
Arkadiusz Fal
11a8c79e21 Refactor views 2026-04-18 20:37:25 +02:00
Arkadiusz Fal
100df744d9 Yattee v2 rewrite 2026-04-18 20:37:24 +02:00