Dumb Show Title Bug Fix (#175)
Some checks are pending
Build and Release / Build IPA (push) Waiting to run
Build and Release / Build Mac Catalyst (push) Waiting to run

This commit is contained in:
realdoomsboygaming 2025-06-11 14:02:21 -07:00 committed by GitHub
parent 117639514e
commit 8249d0a0f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -285,9 +285,6 @@ struct MediaInfoView: View {
@ViewBuilder @ViewBuilder
private var headerSection: some View { private var headerSection: some View {
VStack(alignment: .leading, spacing: 8) { VStack(alignment: .leading, spacing: 8) {
Spacer()
// Airdate section
if !airdate.isEmpty && airdate != "N/A" && airdate != "No Data" { if !airdate.isEmpty && airdate != "N/A" && airdate != "No Data" {
HStack(spacing: 4) { HStack(spacing: 4) {
Image(systemName: "calendar") Image(systemName: "calendar")
@ -299,7 +296,6 @@ struct MediaInfoView: View {
} }
} }
// Title with copy gesture
Text(title) Text(title)
.font(.system(size: 28, weight: .bold)) .font(.system(size: 28, weight: .bold))
.foregroundColor(.primary) .foregroundColor(.primary)
@ -308,15 +304,12 @@ struct MediaInfoView: View {
copyTitleToClipboard() copyTitleToClipboard()
} }
// Synopsis with expand/collapse
if !synopsis.isEmpty { if !synopsis.isEmpty {
synopsisSection synopsisSection
} }
// Main action buttons
playAndBookmarkSection playAndBookmarkSection
// Single episode special handling
if episodeLinks.count == 1 { if episodeLinks.count == 1 {
singleEpisodeSection singleEpisodeSection
} }
@ -347,7 +340,6 @@ struct MediaInfoView: View {
@ViewBuilder @ViewBuilder
private var playAndBookmarkSection: some View { private var playAndBookmarkSection: some View {
HStack(spacing: 12) { HStack(spacing: 12) {
// Play/Continue button
Button(action: { playFirstUnwatchedEpisode() }) { Button(action: { playFirstUnwatchedEpisode() }) {
HStack(spacing: 8) { HStack(spacing: 8) {
Image(systemName: "play.fill") Image(systemName: "play.fill")
@ -366,7 +358,6 @@ struct MediaInfoView: View {
} }
.disabled(isFetchingEpisode) .disabled(isFetchingEpisode)
// Bookmark button
Button(action: { toggleBookmark() }) { Button(action: { toggleBookmark() }) {
Image(systemName: isBookmarked ? "bookmark.fill" : "bookmark") Image(systemName: isBookmarked ? "bookmark.fill" : "bookmark")
.resizable() .resizable()
@ -384,7 +375,6 @@ struct MediaInfoView: View {
private var singleEpisodeSection: some View { private var singleEpisodeSection: some View {
VStack(spacing: 12) { VStack(spacing: 12) {
HStack(spacing: 12) { HStack(spacing: 12) {
// Mark watched button
Button(action: { toggleSingleEpisodeWatchStatus() }) { Button(action: { toggleSingleEpisodeWatchStatus() }) {
HStack(spacing: 4) { HStack(spacing: 4) {
Image(systemName: singleEpisodeWatchIcon) Image(systemName: singleEpisodeWatchIcon)
@ -400,7 +390,6 @@ struct MediaInfoView: View {
.gradientOutline() .gradientOutline()
} }
// Download button
Button(action: { downloadSingleEpisode() }) { Button(action: { downloadSingleEpisode() }) {
HStack(spacing: 4) { HStack(spacing: 4) {
Image(systemName: "arrow.down.circle") Image(systemName: "arrow.down.circle")
@ -419,7 +408,6 @@ struct MediaInfoView: View {
menuButton menuButton
} }
// Information text for single episodes
VStack(spacing: 4) { VStack(spacing: 4) {
Text("Why am I not seeing any episodes?") Text("Why am I not seeing any episodes?")
.font(.caption) .font(.caption)
@ -666,7 +654,6 @@ struct MediaInfoView: View {
@ViewBuilder @ViewBuilder
private var menuContent: some View { private var menuContent: some View {
Group { Group {
// Current match info
if let id = itemID ?? customAniListID { if let id = itemID ?? customAniListID {
let labelText = (matchedTitle?.isEmpty == false ? matchedTitle! : "\(id)") let labelText = (matchedTitle?.isEmpty == false ? matchedTitle! : "\(id)")
Text("Matched with: \(labelText)") Text("Matched with: \(labelText)")
@ -677,33 +664,28 @@ struct MediaInfoView: View {
Divider() Divider()
// Reset AniList ID
if let _ = customAniListID { if let _ = customAniListID {
Button(action: { resetAniListID() }) { Button(action: { resetAniListID() }) {
Label("Reset AniList ID", systemImage: "arrow.clockwise") Label("Reset AniList ID", systemImage: "arrow.clockwise")
} }
} }
// Open in AniList
if let id = itemID ?? customAniListID { if let id = itemID ?? customAniListID {
Button(action: { openAniListPage(id: id) }) { Button(action: { openAniListPage(id: id) }) {
Label("Open in AniList", systemImage: "link") Label("Open in AniList", systemImage: "link")
} }
} }
// Match with AniList
if UserDefaults.standard.string(forKey: "metadataProviders") ?? "TMDB" == "AniList" { if UserDefaults.standard.string(forKey: "metadataProviders") ?? "TMDB" == "AniList" {
Button(action: { isMatchingPresented = true }) { Button(action: { isMatchingPresented = true }) {
Label("Match with AniList", systemImage: "magnifyingglass") Label("Match with AniList", systemImage: "magnifyingglass")
} }
} }
// Poster options
posterMenuOptions posterMenuOptions
Divider() Divider()
// Debug info
Button(action: { logDebugInfo() }) { Button(action: { logDebugInfo() }) {
Label("Log Debug Info", systemImage: "terminal") Label("Log Debug Info", systemImage: "terminal")
} }