mirror of
https://github.com/yattee/yattee.git
synced 2026-10-24 21:52:51 +00:00
Add unified page-based details panel on existing layouts
Phase 1 of the player panels redesign: - New PanelSettings model (pages, regions, layout mode, default visibility) stored as an optional field on PlayerControlsLayout with an effectivePanelSettings accessor; lenient Codable so future page types and settings payloads never corrupt saved presets. - New Views/Player/Panels content engine: PlayerPanelContentView renders a page bar plus the selected page (info, comments, related, chapters, queue, tracks), with runtime hiding of empty pages. - PortraitDetailsPanel and FloatingDetailsPanel now host the shared content instead of their duplicated info bodies; drag machinery, pills, and fades are untouched. - Comments list extracted into CommentsListContent shared by the overlay and the comments page; comments pill routes to the comments page (expanding the portrait panel) when the page is enabled, and falls back to the overlay when it is not. - Tracks page embeds QualitySelectorView via a new isEmbedded mode. - Deleted the unused video info bodies in ExpandedPlayerSheet+VideoInfo and the dead PlayerInfoTab model.
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
//
|
||||
// PlayerInfoTab.swift
|
||||
// Yattee
|
||||
//
|
||||
// Player info tab definitions.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
enum PlayerInfoTab: String, CaseIterable {
|
||||
case description
|
||||
case comments
|
||||
|
||||
var title: String {
|
||||
switch self {
|
||||
case .description: return String(localized: "player.description")
|
||||
case .comments: return String(localized: "player.comments")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user