changed my mind 😭

This commit is contained in:
Francesco 2025-06-03 20:08:57 +02:00
parent 42fb670abb
commit eb07f50d3d

View file

@ -62,8 +62,18 @@ fileprivate struct SettingsSection<Content: View>: View {
struct SettingsViewLogger: View {
@State private var logs: String = ""
@State private var isLoading: Bool = true
@State private var showFullLogs: Bool = false
@StateObject private var filterViewModel = LogFilterViewModel.shared
private let displayCharacterLimit = 50_000
var displayedLogs: String {
if showFullLogs || logs.count <= displayCharacterLimit {
return logs
}
return String(logs.suffix(displayCharacterLimit))
}
var body: some View {
ScrollView {
VStack(spacing: 24) {
@ -79,13 +89,26 @@ struct SettingsViewLogger: View {
.frame(maxWidth: .infinity, alignment: .center)
.padding(.vertical, 20)
} else {
Text(logs)
.font(.footnote)
.foregroundColor(.secondary)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.horizontal, 16)
.padding(.vertical, 12)
.textSelection(.enabled)
VStack(alignment: .leading, spacing: 8) {
Text(displayedLogs)
.font(.footnote)
.foregroundColor(.secondary)
.frame(maxWidth: .infinity, alignment: .leading)
.textSelection(.enabled)
if logs.count > displayCharacterLimit && !showFullLogs {
Button(action: {
showFullLogs = true
}) {
Text("Show More (\(logs.count - displayCharacterLimit) more characters)")
.font(.footnote)
.foregroundColor(.accentColor)
}
.padding(.top, 8)
}
}
.padding(.horizontal, 16)
.padding(.vertical, 12)
}
}
}
@ -139,6 +162,7 @@ struct SettingsViewLogger: View {
await Logger.shared.clearLogsAsync()
await MainActor.run {
self.logs = ""
self.showFullLogs = false
}
}
}