From 512613d350a7d8c9d83df14911ed74366f5b48d8 Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Sat, 23 Oct 2021 13:51:02 +0200 Subject: [PATCH] Minor naming improvements --- Model/Applications/InvidiousAPI.swift | 6 +- Model/Applications/PipedAPI.swift | 62 ++++----- Model/Playlist.swift | 2 +- Pearvidious.xcodeproj/project.pbxproj | 120 ++++++++++-------- ...wModifier.swift => RedrawOnModifier.swift} | 4 +- ...ccountFormView.swift => AccountForm.swift} | 6 +- ...ew.swift => AccountValidationStatus.swift} | 2 +- ...tingsView.swift => AccountsSettings.swift} | 4 +- ...tanceFormView.swift => InstanceForm.swift} | 6 +- ...ingsView.swift => InstancesSettings.swift} | 8 +- ...tingsView.swift => PlaybackSettings.swift} | 2 +- Shared/Settings/ServicesSettings.swift | 20 +++ Shared/Settings/SettingsView.swift | 8 +- ...ingsView.swift => InstancesSettings.swift} | 8 +- 14 files changed, 143 insertions(+), 115 deletions(-) rename Shared/Modifiers/{RedrawOnViewModifier.swift => RedrawOnModifier.swift} (75%) rename Shared/Settings/{AccountFormView.swift => AccountForm.swift} (94%) rename Shared/Settings/{ValidationStatusView.swift => AccountValidationStatus.swift} (97%) rename Shared/Settings/{AccountsSettingsView.swift => AccountsSettings.swift} (96%) rename Shared/Settings/{InstanceFormView.swift => InstanceForm.swift} (94%) rename Shared/Settings/{InstancesSettingsView.swift => InstancesSettings.swift} (90%) rename Shared/Settings/{PlaybackSettingsView.swift => PlaybackSettings.swift} (94%) create mode 100644 Shared/Settings/ServicesSettings.swift rename macOS/Settings/{InstancesSettingsView.swift => InstancesSettings.swift} (95%) diff --git a/Model/Applications/InvidiousAPI.swift b/Model/Applications/InvidiousAPI.swift index c168e22a..da61c588 100644 --- a/Model/Applications/InvidiousAPI.swift +++ b/Model/Applications/InvidiousAPI.swift @@ -97,7 +97,7 @@ final class InvidiousAPI: Service, ObservableObject, VideosAPI { } else if type == "playlist" { return ContentItem(playlist: InvidiousAPI.extractChannelPlaylist(from: $0)) } - return ContentItem(video: InvidiousAPI.extractVideo($0)) + return ContentItem(video: InvidiousAPI.extractVideo(from: $0)) } } @@ -147,7 +147,7 @@ final class InvidiousAPI: Service, ObservableObject, VideosAPI { } configureTransformer(pathPattern("videos/*"), requestMethods: [.get]) { (content: Entity) -> Video in - InvidiousAPI.extractVideo(content.json) + InvidiousAPI.extractVideo(from: content.json) } } @@ -276,7 +276,7 @@ final class InvidiousAPI: Service, ObservableObject, VideosAPI { return AVURLAsset(url: url) } - static func extractVideo(_ json: JSON) -> Video { + static func extractVideo(from json: JSON) -> Video { let indexID: String? var id: Video.ID var publishedAt: Date? diff --git a/Model/Applications/PipedAPI.swift b/Model/Applications/PipedAPI.swift index 4f7514e6..d1a7ae14 100644 --- a/Model/Applications/PipedAPI.swift +++ b/Model/Applications/PipedAPI.swift @@ -32,7 +32,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { } configureTransformer(pathPattern("channel/*")) { (content: Entity) -> Channel? in - PipedAPI.extractChannel(content.json) + PipedAPI.extractChannel(from: content.json) } configureTransformer(pathPattern("playlists/*")) { (content: Entity) -> ChannelPlaylist? in @@ -40,15 +40,15 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { } configureTransformer(pathPattern("streams/*")) { (content: Entity) -> Video? in - PipedAPI.extractVideo(content.json) + PipedAPI.extractVideo(from: content.json) } configureTransformer(pathPattern("trending")) { (content: Entity) -> [Video] in - PipedAPI.extractVideos(content.json) + PipedAPI.extractVideos(from: content.json) } configureTransformer(pathPattern("search")) { (content: Entity) -> [ContentItem] in - PipedAPI.extractContentItems(content.json.dictionaryValue["items"]!) + PipedAPI.extractContentItems(from: content.json.dictionaryValue["items"]!) } configureTransformer(pathPattern("suggestions")) { (content: Entity) -> [String] in @@ -101,7 +101,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { "**\(path)" } - private static func extractContentItem(_ content: JSON) -> ContentItem? { + private static func extractContentItem(from content: JSON) -> ContentItem? { let details = content.dictionaryValue let url: String! = details["url"]?.string @@ -121,7 +121,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { switch contentType { case .video: - if let video = PipedAPI.extractVideo(content) { + if let video = PipedAPI.extractVideo(from: content) { return ContentItem(video: video) } @@ -131,7 +131,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { } case .channel: - if let channel = PipedAPI.extractChannel(content) { + if let channel = PipedAPI.extractChannel(from: content) { return ContentItem(channel: channel) } } @@ -139,11 +139,11 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { return nil } - private static func extractContentItems(_ content: JSON) -> [ContentItem] { - content.arrayValue.compactMap { PipedAPI.extractContentItem($0) } + private static func extractContentItems(from content: JSON) -> [ContentItem] { + content.arrayValue.compactMap { PipedAPI.extractContentItem(from: $0) } } - private static func extractChannel(_ content: JSON) -> Channel? { + private static func extractChannel(from content: JSON) -> Channel? { let attributes = content.dictionaryValue guard let id = attributes["id"]?.stringValue ?? (attributes["url"] ?? attributes["uploaderUrl"])?.stringValue.components(separatedBy: "/").last @@ -155,7 +155,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { var videos = [Video]() if let relatedStreams = attributes["relatedStreams"] { - videos = PipedAPI.extractVideos(relatedStreams) + videos = PipedAPI.extractVideos(from: relatedStreams) } return Channel( @@ -173,13 +173,13 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { let thumbnailURL = details["thumbnail"]?.url ?? details["thumbnailUrl"]?.url var videos = [Video]() if let relatedStreams = details["relatedStreams"] { - videos = PipedAPI.extractVideos(relatedStreams) + videos = PipedAPI.extractVideos(from: relatedStreams) } return ChannelPlaylist( id: id, title: details["name"]!.stringValue, thumbnailURL: thumbnailURL, - channel: extractChannel(json)!, + channel: extractChannel(from: json)!, videos: videos, videosCount: details["videos"]?.int ) @@ -189,7 +189,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { json.arrayValue.compactMap(PipedAPI.extractChannelPlaylist) } - private static func extractVideo(_ content: JSON) -> Video? { + private static func extractVideo(from content: JSON) -> Video? { let details = content.dictionaryValue let url = details["url"]?.string @@ -202,7 +202,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { let channelId = details["uploaderUrl"]!.stringValue.components(separatedBy: "/").last! let thumbnails: [Thumbnail] = Thumbnail.Quality.allCases.compactMap { - if let url = PipedAPI.buildThumbnailURL(content, quality: $0) { + if let url = PipedAPI.buildThumbnailURL(from: content, quality: $0) { return Thumbnail(url: url, quality: $0) } @@ -212,32 +212,32 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { let author = details["uploaderName"]?.stringValue ?? details["uploader"]!.stringValue return Video( - videoID: PipedAPI.extractID(content), + videoID: PipedAPI.extractID(from: content), title: details["title"]!.stringValue, author: author, length: details["duration"]!.doubleValue, published: details["uploadedDate"]?.stringValue ?? details["uploadDate"]!.stringValue, views: details["views"]!.intValue, - description: PipedAPI.extractDescription(content), + description: PipedAPI.extractDescription(from: content), channel: Channel(id: channelId, name: author), thumbnails: thumbnails, likes: details["likes"]?.int, dislikes: details["dislikes"]?.int, - streams: extractStreams(content) + streams: extractStreams(from: content) ) } - private static func extractID(_ content: JSON) -> Video.ID { + private static func extractID(from content: JSON) -> Video.ID { content.dictionaryValue["url"]?.stringValue.components(separatedBy: "?v=").last ?? - extractThumbnailURL(content)!.relativeString.components(separatedBy: "/")[4] + extractThumbnailURL(from: content)!.relativeString.components(separatedBy: "/")[4] } - private static func extractThumbnailURL(_ content: JSON) -> URL? { + private static func extractThumbnailURL(from content: JSON) -> URL? { content.dictionaryValue["thumbnail"]?.url! ?? content.dictionaryValue["thumbnailUrl"]!.url! } - private static func buildThumbnailURL(_ content: JSON, quality: Thumbnail.Quality) -> URL? { - let thumbnailURL = extractThumbnailURL(content) + private static func buildThumbnailURL(from content: JSON, quality: Thumbnail.Quality) -> URL? { + let thumbnailURL = extractThumbnailURL(from: content) guard !thumbnailURL.isNil else { return nil } @@ -249,7 +249,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { )! } - private static func extractDescription(_ content: JSON) -> String? { + private static func extractDescription(from content: JSON) -> String? { guard var description = content.dictionaryValue["description"]?.string else { return nil } @@ -271,22 +271,22 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { return description } - private static func extractVideos(_ content: JSON) -> [Video] { - content.arrayValue.compactMap(extractVideo(_:)) + private static func extractVideos(from content: JSON) -> [Video] { + content.arrayValue.compactMap(extractVideo(from:)) } - private static func extractStreams(_ content: JSON) -> [Stream] { + private static func extractStreams(from content: JSON) -> [Stream] { var streams = [Stream]() if let hlsURL = content.dictionaryValue["hls"]?.url { streams.append(Stream(hlsURL: hlsURL)) } - guard let audioStream = PipedAPI.compatibleAudioStreams(content).first else { + guard let audioStream = PipedAPI.compatibleAudioStreams(from: content).first else { return streams } - let videoStreams = PipedAPI.compatibleVideoStream(content) + let videoStreams = PipedAPI.compatibleVideoStream(from: content) videoStreams.forEach { videoStream in let audioAsset = AVURLAsset(url: audioStream.dictionaryValue["url"]!.url!) @@ -309,7 +309,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { return streams } - private static func compatibleAudioStreams(_ content: JSON) -> [JSON] { + private static func compatibleAudioStreams(from content: JSON) -> [JSON] { content .dictionaryValue["audioStreams"]? .arrayValue @@ -319,7 +319,7 @@ final class PipedAPI: Service, ObservableObject, VideosAPI { } ?? [] } - private static func compatibleVideoStream(_ content: JSON) -> [JSON] { + private static func compatibleVideoStream(from content: JSON) -> [JSON] { content .dictionaryValue["videoStreams"]? .arrayValue diff --git a/Model/Playlist.swift b/Model/Playlist.swift index 67bde765..8f57ec09 100644 --- a/Model/Playlist.swift +++ b/Model/Playlist.swift @@ -34,7 +34,7 @@ struct Playlist: Identifiable, Equatable, Hashable { title = json["title"].stringValue visibility = json["isListed"].boolValue ? .public : .private updated = json["updated"].doubleValue - videos = json["videos"].arrayValue.map { InvidiousAPI.extractVideo($0) } + videos = json["videos"].arrayValue.map { InvidiousAPI.extractVideo(from: $0) } } static func == (lhs: Playlist, rhs: Playlist) -> Bool { diff --git a/Pearvidious.xcodeproj/project.pbxproj b/Pearvidious.xcodeproj/project.pbxproj index 5757269c..5543d610 100644 --- a/Pearvidious.xcodeproj/project.pbxproj +++ b/Pearvidious.xcodeproj/project.pbxproj @@ -96,22 +96,25 @@ 3748186E26A769D60084E870 /* DetailBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3748186D26A769D60084E870 /* DetailBadge.swift */; }; 3748186F26A769D60084E870 /* DetailBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3748186D26A769D60084E870 /* DetailBadge.swift */; }; 3748187026A769D60084E870 /* DetailBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3748186D26A769D60084E870 /* DetailBadge.swift */; }; - 37484C1926FC837400287258 /* PlaybackSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1826FC837400287258 /* PlaybackSettingsView.swift */; }; - 37484C1A26FC837400287258 /* PlaybackSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1826FC837400287258 /* PlaybackSettingsView.swift */; }; - 37484C1B26FC837400287258 /* PlaybackSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1826FC837400287258 /* PlaybackSettingsView.swift */; }; - 37484C1D26FC83A400287258 /* InstancesSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1C26FC83A400287258 /* InstancesSettingsView.swift */; }; - 37484C1F26FC83A400287258 /* InstancesSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1C26FC83A400287258 /* InstancesSettingsView.swift */; }; - 37484C2526FC83E000287258 /* InstanceFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2426FC83E000287258 /* InstanceFormView.swift */; }; - 37484C2626FC83E000287258 /* InstanceFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2426FC83E000287258 /* InstanceFormView.swift */; }; - 37484C2726FC83E000287258 /* InstanceFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2426FC83E000287258 /* InstanceFormView.swift */; }; - 37484C2926FC83FF00287258 /* AccountFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2826FC83FF00287258 /* AccountFormView.swift */; }; - 37484C2A26FC83FF00287258 /* AccountFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2826FC83FF00287258 /* AccountFormView.swift */; }; - 37484C2B26FC83FF00287258 /* AccountFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2826FC83FF00287258 /* AccountFormView.swift */; }; - 37484C2D26FC844700287258 /* AccountsSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2C26FC844700287258 /* AccountsSettingsView.swift */; }; - 37484C2F26FC844700287258 /* AccountsSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2C26FC844700287258 /* AccountsSettingsView.swift */; }; + 37484C1926FC837400287258 /* PlaybackSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1826FC837400287258 /* PlaybackSettings.swift */; }; + 37484C1A26FC837400287258 /* PlaybackSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1826FC837400287258 /* PlaybackSettings.swift */; }; + 37484C1B26FC837400287258 /* PlaybackSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1826FC837400287258 /* PlaybackSettings.swift */; }; + 37484C1D26FC83A400287258 /* InstancesSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1C26FC83A400287258 /* InstancesSettings.swift */; }; + 37484C1F26FC83A400287258 /* InstancesSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C1C26FC83A400287258 /* InstancesSettings.swift */; }; + 37484C2526FC83E000287258 /* InstanceForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2426FC83E000287258 /* InstanceForm.swift */; }; + 37484C2626FC83E000287258 /* InstanceForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2426FC83E000287258 /* InstanceForm.swift */; }; + 37484C2726FC83E000287258 /* InstanceForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2426FC83E000287258 /* InstanceForm.swift */; }; + 37484C2926FC83FF00287258 /* AccountForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2826FC83FF00287258 /* AccountForm.swift */; }; + 37484C2A26FC83FF00287258 /* AccountForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2826FC83FF00287258 /* AccountForm.swift */; }; + 37484C2B26FC83FF00287258 /* AccountForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2826FC83FF00287258 /* AccountForm.swift */; }; + 37484C2D26FC844700287258 /* AccountsSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2C26FC844700287258 /* AccountsSettings.swift */; }; + 37484C2F26FC844700287258 /* AccountsSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C2C26FC844700287258 /* AccountsSettings.swift */; }; 37484C3126FCB8F900287258 /* AccountValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C3026FCB8F900287258 /* AccountValidator.swift */; }; 37484C3226FCB8F900287258 /* AccountValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C3026FCB8F900287258 /* AccountValidator.swift */; }; 37484C3326FCB8F900287258 /* AccountValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37484C3026FCB8F900287258 /* AccountValidator.swift */; }; + 374C053527242D9F009BDDBE /* ServicesSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 374C053427242D9F009BDDBE /* ServicesSettings.swift */; }; + 374C053627242D9F009BDDBE /* ServicesSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 374C053427242D9F009BDDBE /* ServicesSettings.swift */; }; + 374C053727242D9F009BDDBE /* ServicesSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 374C053427242D9F009BDDBE /* ServicesSettings.swift */; }; 375168D62700FAFF008F96A6 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 375168D52700FAFF008F96A6 /* Debounce.swift */; }; 375168D72700FDB8008F96A6 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 375168D52700FAFF008F96A6 /* Debounce.swift */; }; 375168D82700FDB9008F96A6 /* Debounce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 375168D52700FAFF008F96A6 /* Debounce.swift */; }; @@ -152,9 +155,9 @@ 376CD21626FBE18D001E1AC1 /* Instance+Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376CD21526FBE18D001E1AC1 /* Instance+Fixtures.swift */; }; 376CD21726FBE18D001E1AC1 /* Instance+Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376CD21526FBE18D001E1AC1 /* Instance+Fixtures.swift */; }; 376CD21826FBE18D001E1AC1 /* Instance+Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376CD21526FBE18D001E1AC1 /* Instance+Fixtures.swift */; }; - 37732FF02703A26300F04329 /* ValidationStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37732FEF2703A26300F04329 /* ValidationStatusView.swift */; }; - 37732FF12703A26300F04329 /* ValidationStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37732FEF2703A26300F04329 /* ValidationStatusView.swift */; }; - 37732FF22703A26300F04329 /* ValidationStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37732FEF2703A26300F04329 /* ValidationStatusView.swift */; }; + 37732FF02703A26300F04329 /* AccountValidationStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37732FEF2703A26300F04329 /* AccountValidationStatus.swift */; }; + 37732FF12703A26300F04329 /* AccountValidationStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37732FEF2703A26300F04329 /* AccountValidationStatus.swift */; }; + 37732FF22703A26300F04329 /* AccountValidationStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37732FEF2703A26300F04329 /* AccountValidationStatus.swift */; }; 37732FF42703D32400F04329 /* Sidebar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37732FF32703D32400F04329 /* Sidebar.swift */; }; 37732FF52703D32400F04329 /* Sidebar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37732FF32703D32400F04329 /* Sidebar.swift */; }; 377A20A92693C9A2002842B8 /* TypedContentAccessors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 377A20A82693C9A2002842B8 /* TypedContentAccessors.swift */; }; @@ -349,9 +352,9 @@ 37F4AE7226828F0900BD60EA /* VerticalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F4AE7126828F0900BD60EA /* VerticalCells.swift */; }; 37F4AE7326828F0900BD60EA /* VerticalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F4AE7126828F0900BD60EA /* VerticalCells.swift */; }; 37F4AE7426828F0900BD60EA /* VerticalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F4AE7126828F0900BD60EA /* VerticalCells.swift */; }; - 37F64FE426FE70A60081B69E /* RedrawOnViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F64FE326FE70A60081B69E /* RedrawOnViewModifier.swift */; }; - 37F64FE526FE70A60081B69E /* RedrawOnViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F64FE326FE70A60081B69E /* RedrawOnViewModifier.swift */; }; - 37F64FE626FE70A60081B69E /* RedrawOnViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F64FE326FE70A60081B69E /* RedrawOnViewModifier.swift */; }; + 37F64FE426FE70A60081B69E /* RedrawOnModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F64FE326FE70A60081B69E /* RedrawOnModifier.swift */; }; + 37F64FE526FE70A60081B69E /* RedrawOnModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F64FE326FE70A60081B69E /* RedrawOnModifier.swift */; }; + 37F64FE626FE70A60081B69E /* RedrawOnModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F64FE326FE70A60081B69E /* RedrawOnModifier.swift */; }; 37FB28412721B22200A57617 /* ContentItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB28402721B22200A57617 /* ContentItem.swift */; }; 37FB28422721B22200A57617 /* ContentItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB28402721B22200A57617 /* ContentItem.swift */; }; 37FB28432721B22200A57617 /* ContentItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB28402721B22200A57617 /* ContentItem.swift */; }; @@ -367,7 +370,7 @@ 37FB285E272225E800A57617 /* ContentItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB285D272225E800A57617 /* ContentItemView.swift */; }; 37FB285F272225E800A57617 /* ContentItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB285D272225E800A57617 /* ContentItemView.swift */; }; 37FB2860272225E800A57617 /* ContentItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FB285D272225E800A57617 /* ContentItemView.swift */; }; - 37FD43DC270470B70073EE42 /* InstancesSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FD43DB270470B70073EE42 /* InstancesSettingsView.swift */; }; + 37FD43DC270470B70073EE42 /* InstancesSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FD43DB270470B70073EE42 /* InstancesSettings.swift */; }; 37FD43E32704847C0073EE42 /* View+Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FD43E22704847C0073EE42 /* View+Fixtures.swift */; }; 37FD43E42704847C0073EE42 /* View+Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FD43E22704847C0073EE42 /* View+Fixtures.swift */; }; 37FD43E52704847C0073EE42 /* View+Fixtures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FD43E22704847C0073EE42 /* View+Fixtures.swift */; }; @@ -429,12 +432,13 @@ 3748186526A7627F0084E870 /* Video+Fixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Video+Fixtures.swift"; sourceTree = ""; }; 3748186926A764FB0084E870 /* Thumbnail+Fixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Thumbnail+Fixtures.swift"; sourceTree = ""; }; 3748186D26A769D60084E870 /* DetailBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailBadge.swift; sourceTree = ""; }; - 37484C1826FC837400287258 /* PlaybackSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaybackSettingsView.swift; sourceTree = ""; }; - 37484C1C26FC83A400287258 /* InstancesSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstancesSettingsView.swift; sourceTree = ""; }; - 37484C2426FC83E000287258 /* InstanceFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstanceFormView.swift; sourceTree = ""; }; - 37484C2826FC83FF00287258 /* AccountFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountFormView.swift; sourceTree = ""; }; - 37484C2C26FC844700287258 /* AccountsSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsSettingsView.swift; sourceTree = ""; }; + 37484C1826FC837400287258 /* PlaybackSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaybackSettings.swift; sourceTree = ""; }; + 37484C1C26FC83A400287258 /* InstancesSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstancesSettings.swift; sourceTree = ""; }; + 37484C2426FC83E000287258 /* InstanceForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstanceForm.swift; sourceTree = ""; }; + 37484C2826FC83FF00287258 /* AccountForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountForm.swift; sourceTree = ""; }; + 37484C2C26FC844700287258 /* AccountsSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsSettings.swift; sourceTree = ""; }; 37484C3026FCB8F900287258 /* AccountValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountValidator.swift; sourceTree = ""; }; + 374C053427242D9F009BDDBE /* ServicesSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServicesSettings.swift; sourceTree = ""; }; 375168D52700FAFF008F96A6 /* Debounce.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debounce.swift; sourceTree = ""; }; 375DFB5726F9DA010013F468 /* InstancesModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstancesModel.swift; sourceTree = ""; }; 3761ABFC26F0F8DE00AA496F /* EnvironmentValues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EnvironmentValues.swift; sourceTree = ""; }; @@ -448,7 +452,7 @@ 376A33E32720CB35000C1D6B /* Account.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Account.swift; sourceTree = ""; }; 376B2E0626F920D600B1D64D /* SignInRequiredView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignInRequiredView.swift; sourceTree = ""; }; 376CD21526FBE18D001E1AC1 /* Instance+Fixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Instance+Fixtures.swift"; sourceTree = ""; }; - 37732FEF2703A26300F04329 /* ValidationStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValidationStatusView.swift; sourceTree = ""; }; + 37732FEF2703A26300F04329 /* AccountValidationStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountValidationStatus.swift; sourceTree = ""; }; 37732FF32703D32400F04329 /* Sidebar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sidebar.swift; sourceTree = ""; }; 377A20A82693C9A2002842B8 /* TypedContentAccessors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypedContentAccessors.swift; sourceTree = ""; }; 3788AC2626F6840700F6BAA9 /* WatchNowSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchNowSection.swift; sourceTree = ""; }; @@ -528,10 +532,10 @@ 37EAD86E267B9ED100D9E01B /* Segment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Segment.swift; sourceTree = ""; }; 37F49BA226CAA59B00304AC0 /* Playlist+Fixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Playlist+Fixtures.swift"; sourceTree = ""; }; 37F4AE7126828F0900BD60EA /* VerticalCells.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerticalCells.swift; sourceTree = ""; }; - 37F64FE326FE70A60081B69E /* RedrawOnViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RedrawOnViewModifier.swift; sourceTree = ""; }; + 37F64FE326FE70A60081B69E /* RedrawOnModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RedrawOnModifier.swift; sourceTree = ""; }; 37FB28402721B22200A57617 /* ContentItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentItem.swift; sourceTree = ""; }; 37FB285D272225E800A57617 /* ContentItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentItemView.swift; sourceTree = ""; }; - 37FD43DB270470B70073EE42 /* InstancesSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstancesSettingsView.swift; sourceTree = ""; }; + 37FD43DB270470B70073EE42 /* InstancesSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstancesSettings.swift; sourceTree = ""; }; 37FD43E22704847C0073EE42 /* View+Fixtures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Fixtures.swift"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -751,13 +755,14 @@ 37484C1726FC836500287258 /* Settings */ = { isa = PBXGroup; children = ( - 37484C2826FC83FF00287258 /* AccountFormView.swift */, - 37484C2C26FC844700287258 /* AccountsSettingsView.swift */, - 37484C2426FC83E000287258 /* InstanceFormView.swift */, - 37484C1C26FC83A400287258 /* InstancesSettingsView.swift */, - 37484C1826FC837400287258 /* PlaybackSettingsView.swift */, + 37484C2826FC83FF00287258 /* AccountForm.swift */, + 37484C2C26FC844700287258 /* AccountsSettings.swift */, + 37732FEF2703A26300F04329 /* AccountValidationStatus.swift */, + 37484C2426FC83E000287258 /* InstanceForm.swift */, + 37484C1C26FC83A400287258 /* InstancesSettings.swift */, + 37484C1826FC837400287258 /* PlaybackSettings.swift */, + 374C053427242D9F009BDDBE /* ServicesSettings.swift */, 37B044B626F7AB9000E1419D /* SettingsView.swift */, - 37732FEF2703A26300F04329 /* ValidationStatusView.swift */, ); path = Settings; sourceTree = ""; @@ -765,7 +770,7 @@ 3761AC0526F0F96100AA496F /* Modifiers */ = { isa = PBXGroup; children = ( - 37F64FE326FE70A60081B69E /* RedrawOnViewModifier.swift */, + 37F64FE326FE70A60081B69E /* RedrawOnModifier.swift */, 3761AC0E26F0F9A600AA496F /* UnsubscribeAlertModifier.swift */, ); path = Modifiers; @@ -976,7 +981,7 @@ 37FD43E1270472060073EE42 /* Settings */ = { isa = PBXGroup; children = ( - 37FD43DB270470B70073EE42 /* InstancesSettingsView.swift */, + 37FD43DB270470B70073EE42 /* InstancesSettings.swift */, ); path = Settings; sourceTree = ""; @@ -1401,9 +1406,9 @@ 37BE0BD626A1D4A90092E2DB /* PlayerViewController.swift in Sources */, 37BA793F26DB8F97002A0235 /* ChannelVideosView.swift in Sources */, 37C194C726F6A9C8005D3B96 /* RecentsModel.swift in Sources */, - 37484C1926FC837400287258 /* PlaybackSettingsView.swift in Sources */, + 37484C1926FC837400287258 /* PlaybackSettings.swift in Sources */, 3711403F26B206A6005B3555 /* SearchModel.swift in Sources */, - 37F64FE426FE70A60081B69E /* RedrawOnViewModifier.swift in Sources */, + 37F64FE426FE70A60081B69E /* RedrawOnModifier.swift in Sources */, 376A33E02720CAD6000C1D6B /* VideosApp.swift in Sources */, 37B81AF926D2C9A700675966 /* VideoPlayerSizeModifier.swift in Sources */, 37DD87C7271C9CFE0027CBF9 /* PlayerStreams.swift in Sources */, @@ -1431,6 +1436,7 @@ 377FC7E3267A084A00A6BBAF /* VideoCell.swift in Sources */, 37C3A251272366440087A57A /* ChannelPlaylistView.swift in Sources */, 37E2EEAB270656EC00170416 /* PlayerControlsView.swift in Sources */, + 374C053527242D9F009BDDBE /* ServicesSettings.swift in Sources */, 376A33E42720CB35000C1D6B /* Account.swift in Sources */, 37BA794326DBA973002A0235 /* PlaylistsModel.swift in Sources */, 37AAF29026740715007FC770 /* Channel.swift in Sources */, @@ -1442,7 +1448,7 @@ 37C3A24527235DA70087A57A /* ChannelPlaylist.swift in Sources */, 37FB28412721B22200A57617 /* ContentItem.swift in Sources */, 37C3A24D272360470087A57A /* ChannelPlaylist+Fixtures.swift in Sources */, - 37484C2D26FC844700287258 /* AccountsSettingsView.swift in Sources */, + 37484C2D26FC844700287258 /* AccountsSettings.swift in Sources */, 377A20A92693C9A2002842B8 /* TypedContentAccessors.swift in Sources */, 37484C3126FCB8F900287258 /* AccountValidator.swift in Sources */, 37319F0527103F94004ECCD0 /* PlayerQueue.swift in Sources */, @@ -1457,7 +1463,7 @@ 37F49BA326CAA59B00304AC0 /* Playlist+Fixtures.swift in Sources */, 37A9965A26D6F8CA006E3224 /* HorizontalCells.swift in Sources */, 37D526DE2720AC4400ED2F5E /* VideosAPI.swift in Sources */, - 37484C2526FC83E000287258 /* InstanceFormView.swift in Sources */, + 37484C2526FC83E000287258 /* InstanceForm.swift in Sources */, 37B767DB2677C3CA0098BAA8 /* PlayerModel.swift in Sources */, 3788AC2726F6840700F6BAA9 /* WatchNowSection.swift in Sources */, 375DFB5826F9DA010013F468 /* InstancesModel.swift in Sources */, @@ -1472,7 +1478,7 @@ 37D526E32720B4BE00ED2F5E /* View+SwipeGesture.swift in Sources */, 37732FF42703D32400F04329 /* Sidebar.swift in Sources */, 37D4B19726717E1500C925CA /* Video.swift in Sources */, - 37484C2926FC83FF00287258 /* AccountFormView.swift in Sources */, + 37484C2926FC83FF00287258 /* AccountForm.swift in Sources */, 37E70927271CDDAE00D34DDE /* OpenSettingsButton.swift in Sources */, 371F2F1A269B43D300E4A7AB /* NavigationModel.swift in Sources */, 37BE0BCF26A0E2D50092E2DB /* VideoPlayerView.swift in Sources */, @@ -1481,13 +1487,13 @@ 37CC3F50270D010D00608308 /* VideoBanner.swift in Sources */, 378E50FB26FE8B9F00F49626 /* Instance.swift in Sources */, 37E70923271CD43000D34DDE /* WelcomeScreen.swift in Sources */, - 37484C1D26FC83A400287258 /* InstancesSettingsView.swift in Sources */, + 37484C1D26FC83A400287258 /* InstancesSettings.swift in Sources */, 37BD07BB2698AB60003EBB87 /* AppSidebarNavigation.swift in Sources */, 37D4B0E42671614900C925CA /* PearvidiousApp.swift in Sources */, 37C3A241272359900087A57A /* Double+Format.swift in Sources */, 37FB285E272225E800A57617 /* ContentItemView.swift in Sources */, 3797758B2689345500DD52A8 /* Store.swift in Sources */, - 37732FF02703A26300F04329 /* ValidationStatusView.swift in Sources */, + 37732FF02703A26300F04329 /* AccountValidationStatus.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1501,6 +1507,7 @@ 37C3A24627235DA70087A57A /* ChannelPlaylist.swift in Sources */, 3788AC2C26F6842D00F6BAA9 /* WatchNowSectionBody.swift in Sources */, 37CEE4BE2677B670005A1EFE /* SingleAssetStream.swift in Sources */, + 374C053627242D9F009BDDBE /* ServicesSettings.swift in Sources */, 37BA794826DC2E56002A0235 /* AppSidebarSubscriptions.swift in Sources */, 37E70928271CDDAE00D34DDE /* OpenSettingsButton.swift in Sources */, 37EAD86C267B9C5600D9E01B /* SponsorBlockAPI.swift in Sources */, @@ -1515,17 +1522,17 @@ 375DFB5926F9DA010013F468 /* InstancesModel.swift in Sources */, 3705B183267B4E4900704544 /* TrendingCategory.swift in Sources */, 37FB285F272225E800A57617 /* ContentItemView.swift in Sources */, - 37FD43DC270470B70073EE42 /* InstancesSettingsView.swift in Sources */, + 37FD43DC270470B70073EE42 /* InstancesSettings.swift in Sources */, 376B2E0826F920D600B1D64D /* SignInRequiredView.swift in Sources */, 37CC3F4D270CFE1700608308 /* PlayerQueueView.swift in Sources */, 37B81B0026D2CA3700675966 /* VideoDetails.swift in Sources */, - 37484C1A26FC837400287258 /* PlaybackSettingsView.swift in Sources */, + 37484C1A26FC837400287258 /* PlaybackSettings.swift in Sources */, 37BD07C32698AD4F003EBB87 /* ContentView.swift in Sources */, 37484C3226FCB8F900287258 /* AccountValidator.swift in Sources */, 37F49BA426CAA59B00304AC0 /* Playlist+Fixtures.swift in Sources */, 37EAD870267B9ED100D9E01B /* Segment.swift in Sources */, 3788AC2826F6840700F6BAA9 /* WatchNowSection.swift in Sources */, - 37F64FE526FE70A60081B69E /* RedrawOnViewModifier.swift in Sources */, + 37F64FE526FE70A60081B69E /* RedrawOnModifier.swift in Sources */, 37BA793C26DB8EE4002A0235 /* PlaylistVideosView.swift in Sources */, 378E510026FE8EEE00F49626 /* AccountsMenuView.swift in Sources */, 37141670267A8ACC006CA35D /* TrendingView.swift in Sources */, @@ -1546,7 +1553,7 @@ 37C3A242272359900087A57A /* Double+Format.swift in Sources */, 37DD87C8271C9CFE0027CBF9 /* PlayerStreams.swift in Sources */, 376578922685490700D4EA09 /* PlaylistsView.swift in Sources */, - 37484C2626FC83E000287258 /* InstanceFormView.swift in Sources */, + 37484C2626FC83E000287258 /* InstanceForm.swift in Sources */, 37D526E42720B4BE00ED2F5E /* View+SwipeGesture.swift in Sources */, 377FC7E4267A084E00A6BBAF /* SearchView.swift in Sources */, 37B81AFA26D2C9A700675966 /* VideoPlayerSizeModifier.swift in Sources */, @@ -1572,7 +1579,7 @@ 37141674267A8E10006CA35D /* Country.swift in Sources */, 37FD43E42704847C0073EE42 /* View+Fixtures.swift in Sources */, 37AAF2A126741C97007FC770 /* SubscriptionsView.swift in Sources */, - 37732FF12703A26300F04329 /* ValidationStatusView.swift in Sources */, + 37732FF12703A26300F04329 /* AccountValidationStatus.swift in Sources */, 37BA794C26DC30EC002A0235 /* AppSidebarPlaylists.swift in Sources */, 37CC3F46270CE30600608308 /* PlayerQueueItem.swift in Sources */, 3700155C271B0D4D0049C794 /* PipedAPI.swift in Sources */, @@ -1583,7 +1590,7 @@ 37BD07C12698AD3B003EBB87 /* TrendingCountry.swift in Sources */, 37BA794026DB8F97002A0235 /* ChannelVideosView.swift in Sources */, 3711404026B206A6005B3555 /* SearchModel.swift in Sources */, - 37484C2A26FC83FF00287258 /* AccountFormView.swift in Sources */, + 37484C2A26FC83FF00287258 /* AccountForm.swift in Sources */, 37BE0BD026A0E2D50092E2DB /* VideoPlayerView.swift in Sources */, 373CFAEC26975CBF003CB2C6 /* PlaylistFormView.swift in Sources */, 37977584268922F600DD52A8 /* InvidiousAPI.swift in Sources */, @@ -1650,7 +1657,7 @@ 37C3A243272359900087A57A /* Double+Format.swift in Sources */, 37AAF29226740715007FC770 /* Channel.swift in Sources */, 37EAD86D267B9C5600D9E01B /* SponsorBlockAPI.swift in Sources */, - 37732FF22703A26300F04329 /* ValidationStatusView.swift in Sources */, + 37732FF22703A26300F04329 /* AccountValidationStatus.swift in Sources */, 37666BAA27023AF000F869E5 /* AccountSelectionView.swift in Sources */, 3765788B2685471400D4EA09 /* Playlist.swift in Sources */, 376A33E22720CAD6000C1D6B /* VideosApp.swift in Sources */, @@ -1670,7 +1677,7 @@ 37001565271B1F250049C794 /* AccountsModel.swift in Sources */, 37E70929271CDDAE00D34DDE /* OpenSettingsButton.swift in Sources */, 376A33E62720CB35000C1D6B /* Account.swift in Sources */, - 37484C1F26FC83A400287258 /* InstancesSettingsView.swift in Sources */, + 37484C1F26FC83A400287258 /* InstancesSettings.swift in Sources */, 37C7A1D7267BFD9D0010EAD6 /* SponsorBlockSegment.swift in Sources */, 376578932685490700D4EA09 /* PlaylistsView.swift in Sources */, 37CC3F47270CE30600608308 /* PlayerQueueItem.swift in Sources */, @@ -1688,9 +1695,10 @@ 37BE0BD726A1D4A90092E2DB /* PlayerViewController.swift in Sources */, 37484C3326FCB8F900287258 /* AccountValidator.swift in Sources */, 37CEE4C32677B697005A1EFE /* Stream.swift in Sources */, - 37F64FE626FE70A60081B69E /* RedrawOnViewModifier.swift in Sources */, - 37484C2B26FC83FF00287258 /* AccountFormView.swift in Sources */, + 37F64FE626FE70A60081B69E /* RedrawOnModifier.swift in Sources */, + 37484C2B26FC83FF00287258 /* AccountForm.swift in Sources */, 37FB2860272225E800A57617 /* ContentItemView.swift in Sources */, + 374C053727242D9F009BDDBE /* ServicesSettings.swift in Sources */, 37BA793D26DB8EE4002A0235 /* PlaylistVideosView.swift in Sources */, 3711404126B206A6005B3555 /* SearchModel.swift in Sources */, 37FD43F02704A9C00073EE42 /* RecentsModel.swift in Sources */, @@ -1701,7 +1709,7 @@ 37FD43E52704847C0073EE42 /* View+Fixtures.swift in Sources */, 37141675267A8E10006CA35D /* Country.swift in Sources */, 37152EEC26EFEB95004FB96D /* LazyView.swift in Sources */, - 37484C2726FC83E000287258 /* InstanceFormView.swift in Sources */, + 37484C2726FC83E000287258 /* InstanceForm.swift in Sources */, 37F49BA826CB0FCE00304AC0 /* PlaylistFormView.swift in Sources */, 37D4B19926717E1500C925CA /* Video.swift in Sources */, 378E50FD26FE8B9F00F49626 /* Instance.swift in Sources */, @@ -1711,11 +1719,11 @@ 37C3A24F272360470087A57A /* ChannelPlaylist+Fixtures.swift in Sources */, 37FB28432721B22200A57617 /* ContentItem.swift in Sources */, 37AAF2A226741C97007FC770 /* SubscriptionsView.swift in Sources */, - 37484C1B26FC837400287258 /* PlaybackSettingsView.swift in Sources */, + 37484C1B26FC837400287258 /* PlaybackSettings.swift in Sources */, 372915E82687E3B900F5A35B /* Defaults.swift in Sources */, 37BAB54C269B39FD00E75ED1 /* TVNavigationView.swift in Sources */, 3797758D2689345500DD52A8 /* Store.swift in Sources */, - 37484C2F26FC844700287258 /* AccountsSettingsView.swift in Sources */, + 37484C2F26FC844700287258 /* AccountsSettings.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Shared/Modifiers/RedrawOnViewModifier.swift b/Shared/Modifiers/RedrawOnModifier.swift similarity index 75% rename from Shared/Modifiers/RedrawOnViewModifier.swift rename to Shared/Modifiers/RedrawOnModifier.swift index 0e6ee171..65b79cdb 100644 --- a/Shared/Modifiers/RedrawOnViewModifier.swift +++ b/Shared/Modifiers/RedrawOnModifier.swift @@ -1,6 +1,6 @@ import SwiftUI -struct RedrawOnViewModifier: ViewModifier { +struct RedrawOnModifier: ViewModifier { @State private var changeFlag: Bool init(changeFlag: Bool) { @@ -14,6 +14,6 @@ struct RedrawOnViewModifier: ViewModifier { extension View { func redrawOn(change flag: Bool) -> some View { - modifier(RedrawOnViewModifier(changeFlag: flag)) + modifier(RedrawOnModifier(changeFlag: flag)) } } diff --git a/Shared/Settings/AccountFormView.swift b/Shared/Settings/AccountForm.swift similarity index 94% rename from Shared/Settings/AccountFormView.swift rename to Shared/Settings/AccountForm.swift index 01a39c9c..44a8be40 100644 --- a/Shared/Settings/AccountFormView.swift +++ b/Shared/Settings/AccountForm.swift @@ -1,7 +1,7 @@ import Defaults import SwiftUI -struct AccountFormView: View { +struct AccountForm: View { let instance: Instance var selectedAccount: Binding? @@ -83,7 +83,7 @@ struct AccountFormView: View { var footer: some View { HStack { - ValidationStatusView(isValid: $isValid, isValidated: $isValidated, isValidating: $isValidating, error: .constant(nil)) + AccountValidationStatus(isValid: $isValid, isValidated: $isValidated, isValidating: $isValidating, error: .constant(nil)) Spacer() @@ -145,6 +145,6 @@ struct AccountFormView: View { struct AccountFormView_Previews: PreviewProvider { static var previews: some View { - AccountFormView(instance: Instance.fixture) + AccountForm(instance: Instance.fixture) } } diff --git a/Shared/Settings/ValidationStatusView.swift b/Shared/Settings/AccountValidationStatus.swift similarity index 97% rename from Shared/Settings/ValidationStatusView.swift rename to Shared/Settings/AccountValidationStatus.swift index 22d68023..a0c86091 100644 --- a/Shared/Settings/ValidationStatusView.swift +++ b/Shared/Settings/AccountValidationStatus.swift @@ -1,7 +1,7 @@ import Foundation import SwiftUI -struct ValidationStatusView: View { +struct AccountValidationStatus: View { @Binding var isValid: Bool @Binding var isValidated: Bool @Binding var isValidating: Bool diff --git a/Shared/Settings/AccountsSettingsView.swift b/Shared/Settings/AccountsSettings.swift similarity index 96% rename from Shared/Settings/AccountsSettingsView.swift rename to Shared/Settings/AccountsSettings.swift index 97a8e86d..ad54e6cb 100644 --- a/Shared/Settings/AccountsSettingsView.swift +++ b/Shared/Settings/AccountsSettings.swift @@ -1,6 +1,6 @@ import SwiftUI -struct AccountsSettingsView: View { +struct AccountsSettings: View { let instanceID: Instance.ID? @State private var accountsChanged = false @@ -50,7 +50,7 @@ struct AccountsSettingsView: View { } } .sheet(isPresented: $presentingAccountForm, onDismiss: { accountsChanged.toggle() }) { - AccountFormView(instance: instance) + AccountForm(instance: instance) } #if os(iOS) .listStyle(.insetGrouped) diff --git a/Shared/Settings/InstanceFormView.swift b/Shared/Settings/InstanceForm.swift similarity index 94% rename from Shared/Settings/InstanceFormView.swift rename to Shared/Settings/InstanceForm.swift index 253269b9..6a4d9c4d 100644 --- a/Shared/Settings/InstanceFormView.swift +++ b/Shared/Settings/InstanceForm.swift @@ -1,6 +1,6 @@ import SwiftUI -struct InstanceFormView: View { +struct InstanceForm: View { @Binding var savedInstanceID: Instance.ID? @State private var name = "" @@ -94,7 +94,7 @@ struct InstanceFormView: View { private var footer: some View { HStack(alignment: .center) { - ValidationStatusView(isValid: $isValid, isValidated: $isValidated, isValidating: $isValidating, error: $validationError) + AccountValidationStatus(isValid: $isValid, isValidated: $isValidated, isValidating: $isValidating, error: $validationError) Spacer() @@ -154,6 +154,6 @@ struct InstanceFormView: View { struct InstanceFormView_Previews: PreviewProvider { static var previews: some View { - InstanceFormView(savedInstanceID: .constant(nil)) + InstanceForm(savedInstanceID: .constant(nil)) } } diff --git a/Shared/Settings/InstancesSettingsView.swift b/Shared/Settings/InstancesSettings.swift similarity index 90% rename from Shared/Settings/InstancesSettingsView.swift rename to Shared/Settings/InstancesSettings.swift index 31f587db..114eca5f 100644 --- a/Shared/Settings/InstancesSettingsView.swift +++ b/Shared/Settings/InstancesSettings.swift @@ -1,7 +1,7 @@ import Defaults import SwiftUI -struct InstancesSettingsView: View { +struct InstancesSettings: View { @Default(.instances) private var instances @EnvironmentObject private var accounts @@ -21,7 +21,7 @@ struct InstancesSettingsView: View { ForEach(instances) { instance in Group { NavigationLink(instance.longDescription) { - AccountsSettingsView(instanceID: instance.id) + AccountsSettings(instanceID: instance.id) } } #if os(iOS) @@ -43,7 +43,7 @@ struct InstancesSettingsView: View { #endif } .sheet(isPresented: $presentingInstanceForm) { - InstanceFormView(savedInstanceID: $savedFormInstanceID) + InstanceForm(savedInstanceID: $savedFormInstanceID) } } @@ -66,7 +66,7 @@ struct InstancesSettingsView: View { struct InstancesSettingsView_Previews: PreviewProvider { static var previews: some View { VStack { - InstancesSettingsView() + InstancesSettings() } .frame(width: 400, height: 270) .environmentObject(InstancesModel()) diff --git a/Shared/Settings/PlaybackSettingsView.swift b/Shared/Settings/PlaybackSettings.swift similarity index 94% rename from Shared/Settings/PlaybackSettingsView.swift rename to Shared/Settings/PlaybackSettings.swift index bf9b6b0d..d1b15da6 100644 --- a/Shared/Settings/PlaybackSettingsView.swift +++ b/Shared/Settings/PlaybackSettings.swift @@ -1,7 +1,7 @@ import Defaults import SwiftUI -struct PlaybackSettingsView: View { +struct PlaybackSettings: View { @Default(.quality) private var quality var body: some View { diff --git a/Shared/Settings/ServicesSettings.swift b/Shared/Settings/ServicesSettings.swift new file mode 100644 index 00000000..660c7c78 --- /dev/null +++ b/Shared/Settings/ServicesSettings.swift @@ -0,0 +1,20 @@ +// +// ServicesSettings.swift +// Pearvidious +// +// Created by Arkadiusz Fal on 23/10/2021. +// + +import SwiftUI + +struct ServicesSettings: View { + var body: some View { + Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + } +} + +struct ServicesSettings_Previews: PreviewProvider { + static var previews: some View { + ServicesSettings() + } +} diff --git a/Shared/Settings/SettingsView.swift b/Shared/Settings/SettingsView.swift index 63907df3..ce88c873 100644 --- a/Shared/Settings/SettingsView.swift +++ b/Shared/Settings/SettingsView.swift @@ -17,7 +17,7 @@ struct SettingsView: View { #if os(macOS) TabView { Form { - InstancesSettingsView() + InstancesSettings() } .tabItem { Label("Instances", systemImage: "server.rack") @@ -25,7 +25,7 @@ struct SettingsView: View { .tag(Tabs.instances) Form { - PlaybackSettingsView() + PlaybackSettings() } .tabItem { Label("Playback", systemImage: "play.rectangle.on.rectangle.fill") @@ -40,8 +40,8 @@ struct SettingsView: View { #if os(tvOS) AccountSelectionView() #endif - InstancesSettingsView() - PlaybackSettingsView() + InstancesSettings() + PlaybackSettings() } .navigationTitle("Settings") .toolbar { diff --git a/macOS/Settings/InstancesSettingsView.swift b/macOS/Settings/InstancesSettings.swift similarity index 95% rename from macOS/Settings/InstancesSettingsView.swift rename to macOS/Settings/InstancesSettings.swift index 7de89800..86979466 100644 --- a/macOS/Settings/InstancesSettingsView.swift +++ b/macOS/Settings/InstancesSettings.swift @@ -1,7 +1,7 @@ import Defaults import SwiftUI -struct InstancesSettingsView: View { +struct InstancesSettings: View { @State private var selectedInstanceID: Instance.ID? @State private var selectedAccount: Account? @@ -116,10 +116,10 @@ struct InstancesSettingsView: View { selectedInstanceID = instances.first?.id } .sheet(isPresented: $presentingAccountForm) { - AccountFormView(instance: selectedInstance, selectedAccount: $selectedAccount) + AccountForm(instance: selectedInstance, selectedAccount: $selectedAccount) } .sheet(isPresented: $presentingInstanceForm, onDismiss: setSelectedInstanceToFormInstance) { - InstanceFormView(savedInstanceID: $savedFormInstanceID) + InstanceForm(savedInstanceID: $savedFormInstanceID) } } @@ -146,7 +146,7 @@ struct InstancesSettingsView: View { struct InstancesSettingsView_Previews: PreviewProvider { static var previews: some View { VStack { - InstancesSettingsView() + InstancesSettings() } .frame(width: 400, height: 270) .injectFixtureEnvironmentObjects()