diff --git a/Sora/Views/MediaInfoView/EpisodeCell/EpisodeCell.swift b/Sora/Views/MediaInfoView/EpisodeCell/EpisodeCell.swift index 80029e2..908acc7 100644 --- a/Sora/Views/MediaInfoView/EpisodeCell/EpisodeCell.swift +++ b/Sora/Views/MediaInfoView/EpisodeCell/EpisodeCell.swift @@ -74,6 +74,7 @@ struct EpisodeCell: View { CircularProgressBar(progress: currentProgress) .frame(width: 40, height: 40) } + .contentShape(Rectangle()) .contextMenu { if currentProgress <= 0.9 { Button(action: markAsWatched) { @@ -88,7 +89,10 @@ struct EpisodeCell: View { } } .onAppear { - fetchEpisodeDetails() + if UserDefaults.standard.object(forKey: "fetchEpisodeMetadata") == nil || + UserDefaults.standard.bool(forKey: "fetchEpisodeMetadata") { + fetchEpisodeDetails() + } updateProgress() } .onTapGesture { diff --git a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewGeneral.swift b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewGeneral.swift index 6a6dfd2..dede7b6 100644 --- a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewGeneral.swift +++ b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewGeneral.swift @@ -10,6 +10,7 @@ import SwiftUI struct SettingsViewGeneral: View { @AppStorage("episodeChunkSize") private var episodeChunkSize: Int = 100 @AppStorage("refreshModulesOnLaunch") private var refreshModulesOnLaunch: Bool = false + @AppStorage("fetchEpisodeMetadata") private var fetchEpisodeMetadata: Bool = true @EnvironmentObject var settings: Settings var body: some View { @@ -27,7 +28,7 @@ struct SettingsViewGeneral: View { } } - Section(header: Text("Media View"), footer: Text("The episode range controls how many episodes appear on each page. Episodes are grouped into sets (like 1-25, 26-50, and so on), allowing you to navigate through them more easily.")) { + Section(header: Text("Media View"), footer: Text("The episode range controls how many episodes appear on each page. Episodes are grouped into sets (like 1-25, 26-50, and so on), allowing you to navigate through them more easily.\n\nFor episode metadata it is refering to the episode thumbnail and title, since sometimes it can contain spoilers.")) { HStack { Text("Episodes Range") Spacer() @@ -48,10 +49,13 @@ struct SettingsViewGeneral: View { Text("\(episodeChunkSize)") } } + Toggle("Fetch Episode metadata", isOn: $fetchEpisodeMetadata) + .tint(.accentColor) } Section(header: Text("Modules"), footer: Text("Note that the modules will be replaced only if there is a different version string inside the JSON file.")) { Toggle("Refresh Modules on Launch", isOn: $refreshModulesOnLaunch) + .tint(.accentColor) } } .navigationTitle("General") diff --git a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLoggerFilter.swift b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLoggerFilter.swift index d9fe15f..2250607 100644 --- a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLoggerFilter.swift +++ b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLoggerFilter.swift @@ -78,6 +78,7 @@ struct SettingsViewLoggerFilter: View { ForEach($viewModel.filters) { $filter in VStack(alignment: .leading, spacing: 0) { Toggle(filter.type, isOn: $filter.isEnabled) + .tint(.accentColor) } } }