Update view updated + Warning view + Localized
This commit is contained in:
parent
4608d0b1a5
commit
89a28dc146
|
@ -91,6 +91,7 @@
|
|||
B9C20D3D2B9229EC004DC9B3 /* Emoji.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB94872B2E223E00D81C07 /* Emoji.swift */; };
|
||||
B9C20D562B922DAC004DC9B3 /* KeychainSwift in Frameworks */ = {isa = PBXBuildFile; productRef = B9C20D552B922DAC004DC9B3 /* KeychainSwift */; };
|
||||
B9C20D612B949AD7004DC9B3 /* Redeclarations.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C20D602B949AD7004DC9B3 /* Redeclarations.swift */; };
|
||||
B9C7F46C2C387D3B009C36DC /* WarningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C7F46B2C387D3B009C36DC /* WarningView.swift */; };
|
||||
B9CC45B82B40A2D6001E4FA5 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CC45B72B40A2D6001E4FA5 /* AboutView.swift */; };
|
||||
B9CFC43B2B4F08C9004CFCB7 /* LaunchStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B9CFC43A2B4F08C9004CFCB7 /* LaunchStoryboard.storyboard */; };
|
||||
B9D365612B79A1BE004C1255 /* MailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9D365602B79A1BE004C1255 /* MailView.swift */; };
|
||||
|
@ -256,6 +257,7 @@
|
|||
B9C20D582B923CDD004DC9B3 /* ThreadedWidgetsExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ThreadedWidgetsExtension.entitlements; sourceTree = "<group>"; };
|
||||
B9C20D592B923D53004DC9B3 /* Threaded.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Threaded.entitlements; sourceTree = "<group>"; };
|
||||
B9C20D602B949AD7004DC9B3 /* Redeclarations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Redeclarations.swift; sourceTree = "<group>"; };
|
||||
B9C7F46B2C387D3B009C36DC /* WarningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WarningView.swift; sourceTree = "<group>"; };
|
||||
B9CC45B72B40A2D6001E4FA5 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
|
||||
B9CC45B92B40AA1E001E4FA5 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||
B9CFC43A2B4F08C9004CFCB7 /* LaunchStoryboard.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchStoryboard.storyboard; sourceTree = "<group>"; };
|
||||
|
@ -556,6 +558,7 @@
|
|||
B9DC69282B78D9A500E625B9 /* SearchResultView.swift */,
|
||||
B9B469DA2B9B2EDB00AD5585 /* ComingSoonView.swift */,
|
||||
B9D365602B79A1BE004C1255 /* MailView.swift */,
|
||||
B9C7F46B2C387D3B009C36DC /* WarningView.swift */,
|
||||
);
|
||||
path = Components;
|
||||
sourceTree = "<group>";
|
||||
|
@ -896,6 +899,7 @@
|
|||
B999DE5E2B76F9D100509868 /* Message.swift in Sources */,
|
||||
B915C4422B6F908C00042DDB /* ProfileView.swift in Sources */,
|
||||
B9FB94702B2DF3CD00D81C07 /* Navigator.swift in Sources */,
|
||||
B9C7F46C2C387D3B009C36DC /* WarningView.swift in Sources */,
|
||||
B9EBE8562B47256900FB594D /* PostAttachment.swift in Sources */,
|
||||
B9EBE8582B474FD600FB594D /* AppDelegate.swift in Sources */,
|
||||
B93B677C2B433A6E000892E9 /* PostingView.swift in Sources */,
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
//Made by Lumaa
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct WarningView: View {
|
||||
var description: LocalizedStringResource
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading) {
|
||||
HStack {
|
||||
Image(systemName: "exclamationmark.triangle.fill")
|
||||
.symbolRenderingMode(.multicolor)
|
||||
|
||||
Text("warning.title")
|
||||
.font(.title2.bold())
|
||||
.lineLimit(1)
|
||||
}
|
||||
|
||||
Text(description)
|
||||
.multilineTextAlignment(.leading)
|
||||
}
|
||||
.padding(.vertical, 5.0)
|
||||
}
|
||||
}
|
|
@ -9,7 +9,8 @@
|
|||
"value" : "@%@"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shouldTranslate" : false
|
||||
},
|
||||
"#%@" : {
|
||||
"localizations" : {
|
||||
|
@ -19,7 +20,8 @@
|
|||
"value" : "#%@"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shouldTranslate" : false
|
||||
},
|
||||
"%@" : {
|
||||
"localizations" : {
|
||||
|
@ -29,7 +31,8 @@
|
|||
"value" : "%@"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shouldTranslate" : false
|
||||
},
|
||||
"%lld" : {
|
||||
"localizations" : {
|
||||
|
@ -39,7 +42,8 @@
|
|||
"value" : "%lld"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shouldTranslate" : false
|
||||
},
|
||||
"about" : {
|
||||
"localizations" : {
|
||||
|
@ -94,13 +98,29 @@
|
|||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Threaded uses third-party open-source libraries and code:\n- [IceCubesApp](https://github.com/dimillian/IceCubesApp)\n- [SwiftSoup](https://github.com/scinfu/SwiftSoup)\n- [Nuke](https://github.com/kean/Nuke)\n- [EmojiText](https://github.com/divadretlaw/EmojiText)\n- [KeychainSwift](https://github.com/evgenyneu/keychain-swift)"
|
||||
"value" : "Threaded uses third-party open-source libraries and code:\n- [IceCubesApp](https://github.com/dimillian/IceCubesApp)\n- [SwiftSoup](https://github.com/scinfu/SwiftSoup)\n- [Nuke](https://github.com/kean/Nuke)\n- [EmojiText](https://github.com/divadretlaw/EmojiText)\n- [KeychainSwift](https://github.com/evgenyneu/keychain-swift)\n\nSpecial thanks to:\n- [@damon@social.wedistribute.org](https://social.wedistribute.org/@damon)\n- Beezus\n- Beta testers on TestFlight"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Threaded uses third-party open-source libraries and code:\n- [IceCubesApp](https://github.com/dimillian/IceCubesApp)\n- [SwiftSoup](https://github.com/scinfu/SwiftSoup)\n- [Nuke](https://github.com/kean/Nuke)\n- [EmojiText](https://github.com/divadretlaw/EmojiText)\n- [KeychainSwift](https://github.com/evgenyneu/keychain-swift)"
|
||||
"value" : "Threaded uses third-party open-source libraries and code:\n- A derivative of [ProboscisKit](https://github.com/lumaa-dev/ProboscisKit)\n- [IceCubesApp](https://github.com/dimillian/IceCubesApp)\n- [SwiftSoup](https://github.com/scinfu/SwiftSoup)\n- [Nuke](https://github.com/kean/Nuke)\n- [EmojiText](https://github.com/divadretlaw/EmojiText)\n- [KeychainSwift](https://github.com/evgenyneu/keychain-swift)\n- [RevenueCat](https://www.revenuecat.com)"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"about.lumaa" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Learn more about Lumaa"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "En savoir plus sur Lumaa"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -797,6 +817,22 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"beta.feature" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "This feature is currently unstable, use it with caution."
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Cette fonctionnalité est actuellement instable, utilisez là avec précaution."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"coming-soon" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
|
@ -2586,7 +2622,7 @@
|
|||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "needs_review",
|
||||
"state" : "translated",
|
||||
"value" : "Pour 19.99€ par ans, renouvellement automatique"
|
||||
}
|
||||
}
|
||||
|
@ -3839,6 +3875,22 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"warning.title" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Warning!"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Attention !"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
|
|
|
@ -10,6 +10,7 @@ struct AboutView: View {
|
|||
var body: some View {
|
||||
List {
|
||||
Section(footer: Text("about.version-\(AppInfo.appVersion)")) {
|
||||
Section {
|
||||
NavigationLink {
|
||||
aboutApp
|
||||
} label: {
|
||||
|
@ -17,6 +18,14 @@ struct AboutView: View {
|
|||
}
|
||||
.listRowThreaded()
|
||||
|
||||
Button {
|
||||
UIApplication.shared.open(URL(string: "https://lumaa.fr/?utm_source=ThreadedApp")!)
|
||||
} label: {
|
||||
Text("about.lumaa")
|
||||
}
|
||||
.listRowThreaded()
|
||||
}
|
||||
|
||||
Toggle("setting.experimental.activate", isOn: $userPreferences.showExperimental)
|
||||
.listRowThreaded()
|
||||
.tint(Color(uiColor: UIColor.label))
|
||||
|
|
|
@ -20,6 +20,12 @@ struct FilterView: View {
|
|||
|
||||
var body: some View {
|
||||
List {
|
||||
Section {
|
||||
WarningView(description: "beta.feature")
|
||||
.listRowInsets(.none)
|
||||
}
|
||||
.listRowBackground(Color.yellow.opacity(0.25))
|
||||
|
||||
Toggle(isOn: $allowFilter.animation(.spring)) {
|
||||
Text("settings.content-filter.allow")
|
||||
}
|
||||
|
|
|
@ -99,12 +99,12 @@ struct SettingsView: View {
|
|||
}
|
||||
.listRowThreaded()
|
||||
|
||||
Button {
|
||||
navigator.navigate(to: .appearence)
|
||||
} label: {
|
||||
Label("setting.appearence", systemImage: "rectangle.3.group")
|
||||
}
|
||||
.listRowThreaded()
|
||||
// Button {
|
||||
// navigator.navigate(to: .appearence)
|
||||
// } label: {
|
||||
// Label("setting.appearence", systemImage: "rectangle.3.group")
|
||||
// }
|
||||
// .listRowThreaded()
|
||||
|
||||
Button {
|
||||
if loggedAccounts.count <= 1 {
|
||||
|
|
|
@ -36,12 +36,12 @@ struct UpdateView: View {
|
|||
}
|
||||
|
||||
var features: some View {
|
||||
VStack(spacing: 40) {
|
||||
newFeature(systemImage: "network", title: "Timeline Selector", text: "By tapping on the Threaded logo, you'll be able to select a timeine.")
|
||||
VStack(spacing: 60) {
|
||||
newFeature(systemImage: "line.3.horizontal.decrease.circle", title: "Content Filter", text: "Keep words out of your feeds in the app's settings, Privacy, then Content Filter")
|
||||
|
||||
newFeature(systemImage: "info.circle", title: "\"About Threaded\" redesign", text: "This informational view has been majorly changed!")
|
||||
newFeature(systemImage: "paperplane", title: "Smarter posting!", text: "You can crosspost your posts in other apps like X, Ice Cubes, and others.")
|
||||
|
||||
newFeature(systemImage: "number", title: "Read hashtags", text: "You can now view posts using a specific hashtag in the Discovery page.")
|
||||
newFeature(systemImage: "plus.app", title: "App Store", text: "Coming soon, in your closest Home Screen page's App Store...")
|
||||
}
|
||||
.frame(height: 500)
|
||||
}
|
||||
|
|
|
@ -133,7 +133,7 @@ struct TimelineView: View {
|
|||
loadingStatuses = false
|
||||
}
|
||||
} label: {
|
||||
Image(systemName: self.timelineModel.filtering ? "line.3.horizontal.decrease.circle.fill" :"line.3.horizontal.decrease.circle")
|
||||
Image(systemName: self.timelineModel.filtering ? "line.3.horizontal.decrease.circle.fill" : "line.3.horizontal.decrease.circle")
|
||||
.symbolEffect(.pulse.wholeSymbol, isActive: self.timelineModel.filtering)
|
||||
}
|
||||
.tint(Color(uiColor: UIColor.label))
|
||||
|
|
Loading…
Reference in New Issue