Link TODOs to issues
This commit is contained in:
parent
bef1d36aa4
commit
f602655568
|
@ -30,6 +30,7 @@ import PassepartoutKit
|
|||
import UtilsLibrary
|
||||
|
||||
extension AppData {
|
||||
// TODO: #656, make non-static
|
||||
public static func cdProfileRepository(
|
||||
registry: Registry,
|
||||
coder: ProfileCoder,
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
import Foundation
|
||||
import PassepartoutKit
|
||||
|
||||
// TODO: #656, make non-static
|
||||
public struct AppUI {
|
||||
private init() {
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ extension ProfileEditor {
|
|||
ModuleType
|
||||
.allCases
|
||||
.filter {
|
||||
// TODO: hide manual OpenVPN/WireGuard until editable
|
||||
// TODO: #657, hide manual OpenVPN/WireGuard until editable
|
||||
$0 != .openVPN && $0 != .wireGuard
|
||||
}
|
||||
.filter {
|
||||
|
|
|
@ -28,6 +28,8 @@ import Foundation
|
|||
import PassepartoutKit
|
||||
|
||||
extension Issue {
|
||||
|
||||
// TODO: #656, make non-static
|
||||
static func with(versionString: String, purchasedProducts: Set<AppProduct>, tunnel: Tunnel) async -> Self {
|
||||
let appLog = CommonLibrary.currentLog(parameters: Constants.shared.log)
|
||||
.joined(separator: "\n")
|
||||
|
|
|
@ -81,7 +81,7 @@ struct Issue: Identifiable {
|
|||
.replacingOccurrences(of: "$appLine", with: appLine ?? "unknown")
|
||||
.replacingOccurrences(of: "$osLine", with: osLine)
|
||||
.replacingOccurrences(of: "$deviceLine", with: deviceLine ?? "unknown")
|
||||
// TODO: replace with provider later
|
||||
// TODO: #614, replace with provider later
|
||||
.replacingOccurrences(of: "$providerName", with: "none")
|
||||
.replacingOccurrences(of: "$providerLastUpdate", with: "unknown")
|
||||
.replacingOccurrences(of: "$purchasedProducts", with: purchasedProducts.map(\.rawValue).description)
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
import SwiftUI
|
||||
|
||||
// TODO: donations
|
||||
// TODO: #585, donations
|
||||
|
||||
struct DonateView: View {
|
||||
var body: some View {
|
||||
|
|
|
@ -32,7 +32,7 @@ extension AboutView {
|
|||
var listView: some View {
|
||||
List {
|
||||
Section {
|
||||
// TODO: donations
|
||||
// TODO: #585, donations
|
||||
// donateLink
|
||||
linksLink
|
||||
creditsLink
|
||||
|
|
|
@ -32,7 +32,7 @@ extension AboutView {
|
|||
var listView: some View {
|
||||
List(selection: $navigationRoute) {
|
||||
Section {
|
||||
// TODO: donations
|
||||
// TODO: #585, donations
|
||||
// donateLink
|
||||
linksLink
|
||||
creditsLink
|
||||
|
|
|
@ -29,18 +29,22 @@ import SwiftUI
|
|||
import UtilsLibrary
|
||||
|
||||
extension DebugLogView {
|
||||
|
||||
// TODO: #656, make non-static
|
||||
static func withApp(parameters: Constants.Log) -> DebugLogView {
|
||||
DebugLogView {
|
||||
CommonLibrary.currentLog(parameters: parameters)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: #656, make non-static
|
||||
static func withTunnel(_ tunnel: Tunnel, parameters: Constants.Log) -> DebugLogView {
|
||||
DebugLogView {
|
||||
await tunnel.currentLog(parameters: parameters)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: #656, make non-static
|
||||
static func withURL(_ url: URL) -> DebugLogView {
|
||||
DebugLogView {
|
||||
do {
|
||||
|
@ -99,7 +103,7 @@ private extension DebugLogView {
|
|||
.disabled(currentLines.isEmpty)
|
||||
}
|
||||
|
||||
// TODO: share as temporary URL (could enable email)
|
||||
// TODO: #658, share as temporary URL (could enable email)
|
||||
// var shareButton: some View {
|
||||
// ShareLink(item: content)
|
||||
// }
|
||||
|
|
|
@ -321,7 +321,7 @@ private extension OpenVPNView {
|
|||
|
||||
private extension OpenVPNView {
|
||||
func importConfiguration(from url: URL) {
|
||||
// TODO: import draft from external URL
|
||||
// TODO: #657, import draft from external URL
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -137,7 +137,7 @@ private extension WireGuardView {
|
|||
|
||||
private extension WireGuardView {
|
||||
func importConfiguration(from url: URL) {
|
||||
// TODO: import draft from external URL
|
||||
// TODO: #657, import draft from external URL
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -35,11 +35,11 @@ struct PaywallView: View {
|
|||
|
||||
let feature: AppFeature
|
||||
|
||||
// TODO: #424, implement payments
|
||||
// TODO: #585, implement payments
|
||||
var body: some View {
|
||||
Text(String(describing: feature))
|
||||
.toolbar(content: toolbarContent)
|
||||
.navigationTitle("Purchase")
|
||||
.navigationTitle(Strings.Global.purchase)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -348,7 +348,7 @@ struct ThemeCopiableText: View {
|
|||
} label: {
|
||||
ThemeImage(.copy)
|
||||
}
|
||||
// TODO: #584 menu, necessary to avoid cell selection
|
||||
// TODO: #584, necessary to avoid cell selection
|
||||
.buttonStyle(.borderless)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -123,7 +123,7 @@ private extension InstalledProfileView {
|
|||
ThemeImage(.tunnelToggle)
|
||||
.scaleEffect(1.5, anchor: .trailing)
|
||||
}
|
||||
// TODO: #584 menu, necessary to avoid cell selection
|
||||
// TODO: #584, necessary to avoid cell selection
|
||||
.buttonStyle(.plain)
|
||||
.opacity(installedOpacity)
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ struct ProfileInfoButton: View {
|
|||
} label: {
|
||||
ThemeImage(.info)
|
||||
}
|
||||
// TODO: #584 menu, necessary to avoid cell selection
|
||||
// TODO: #584, necessary to avoid cell selection
|
||||
.buttonStyle(.borderless)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
import Foundation
|
||||
import PassepartoutKit
|
||||
|
||||
// TODO: #656, make non-static
|
||||
public struct CommonLibrary {
|
||||
private init() {
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
import Foundation
|
||||
import PassepartoutKit
|
||||
|
||||
// TODO: #656, make non-static
|
||||
extension BundleConfiguration {
|
||||
public enum BundleKey: String {
|
||||
case appStoreId
|
||||
|
|
|
@ -41,7 +41,7 @@ public struct LongContentView: View {
|
|||
Image(systemName: copySystemImage ?? "doc.on.doc")
|
||||
}
|
||||
}
|
||||
// TODO: layout, add padding an inset, let content extend beyond safe areas
|
||||
// TODO: #659, add padding as inset, let content extend beyond safe areas
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue