diff --git a/Sora/Views/MediaInfoView/MediaInfoView.swift b/Sora/Views/MediaInfoView/MediaInfoView.swift index c043afc..c320948 100644 --- a/Sora/Views/MediaInfoView/MediaInfoView.swift +++ b/Sora/Views/MediaInfoView/MediaInfoView.swift @@ -171,7 +171,7 @@ struct MediaInfoView: View { EpisodeCell(episode: ep.href, episodeID: ep.number - 1, progress: progress, itemID: itemID ?? 0) .onTapGesture { fetchStream(href: ep.href) - showDrop(title: "Fetching Stream", subtitle: "", icon: UIImage(systemName: "arrow.triangle.2.circlepath")) + DropManager.shared.showDrop(title: "Fetching Stream", subtitle: "", duration: 1.0, icon: UIImage(systemName: "arrow.triangle.2.circlepath")) } } } @@ -186,7 +186,8 @@ struct MediaInfoView: View { } .onAppear { if !showedDrop { - showDrop(title: "Fetching Data", subtitle: "Please wait while fetching", icon: UIImage(systemName: "arrow.triangle.2.circlepath")) + DropManager.shared.showDrop(title: "Fetching Data", subtitle: "Please wait while fetching", duration: 1.0, icon: UIImage(systemName: "arrow.triangle.2.circlepath")) + showedDrop = true } fetchDetails() fetchItemID(byTitle: title) { result in @@ -200,13 +201,6 @@ struct MediaInfoView: View { } } - private func showDrop(title: String, subtitle: String, icon: UIImage?) { - let duration = 1.0 - - DropManager.shared.showDrop(title: title, subtitle: subtitle, duration: duration, icon: icon) - showedDrop = true - } - func fetchDetails() { DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { Task { @@ -264,7 +258,7 @@ struct MediaInfoView: View { } } catch { Logger.shared.log("Error loading module: \(error)", type: "Error") - self.showDrop(title: "Stream not Found", subtitle: "", icon: UIImage(systemName: "xmark")) + DropManager.shared.showDrop(title: "Stream not Found", subtitle: "", duration: 1.0, icon: UIImage(systemName: "xmark")) self.isLoading = false } } diff --git a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLogger.swift b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLogger.swift index 3648e4c..0d5c9c5 100644 --- a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLogger.swift +++ b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLogger.swift @@ -32,6 +32,7 @@ struct SettingsViewLogger: View { Menu { Button(action: { UIPasteboard.general.string = logs + DropManager.shared.showDrop(title: "Copied to Clipboard", subtitle: "", duration: 1.0, icon: UIImage(systemName: "doc.on.clipboard.fill")) }) { Label("Copy to Clipboard", systemImage: "doc.on.doc") } diff --git a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLoggerFilter.swift b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLoggerFilter.swift index 1a5df61..d2cba7e 100644 --- a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLoggerFilter.swift +++ b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewLoggerFilter.swift @@ -76,16 +76,8 @@ struct SettingsViewLoggerFilter: View { List { ForEach($viewModel.filters) { $filter in VStack(alignment: .leading, spacing: 0) { - HStack { - Toggle(filter.type, isOn: $filter.isEnabled) - Spacer() - } - - Text(filter.description) - .font(.subheadline) - .foregroundColor(.secondary) + Toggle(filter.type, isOn: $filter.isEnabled) } - .padding(.vertical, 5) } } .navigationTitle("Log Filters") diff --git a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewModule.swift b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewModule.swift index a0de259..cb5f067 100644 --- a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewModule.swift +++ b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewModule.swift @@ -60,27 +60,30 @@ struct SettingsViewModule: View { .contextMenu { Button(action: { UIPasteboard.general.string = module.metadataUrl + DropManager.shared.showDrop(title: "Copied to Clipboard", subtitle: "", duration: 1.0, icon: UIImage(systemName: "doc.on.clipboard.fill")) }) { Label("Copy URL", systemImage: "doc.on.doc") } Button(role: .destructive) { - if selectedModuleId == module.id.uuidString { - selectedModuleId = nil + if selectedModuleId != module.id.uuidString { + moduleManager.deleteModule(module) + DropManager.shared.showDrop(title: "Module Removed", subtitle: "", duration: 1.0, icon: UIImage(systemName: "trash")) } - moduleManager.deleteModule(module) } label: { Label("Delete", systemImage: "trash") } + .disabled(selectedModuleId == module.id.uuidString) } .swipeActions { Button(role: .destructive) { - if selectedModuleId == module.id.uuidString { - selectedModuleId = nil + if selectedModuleId != module.id.uuidString { + moduleManager.deleteModule(module) + DropManager.shared.showDrop(title: "Module Removed", subtitle: "", duration: 1.0, icon: UIImage(systemName: "trash")) } - moduleManager.deleteModule(module) } label: { Label("Delete", systemImage: "trash") } + .disabled(selectedModuleId == module.id.uuidString) } } }