mirror of
https://github.com/cranci1/Sora.git
synced 2026-01-11 20:10:24 +00:00
changed my mind 😭
This commit is contained in:
parent
42fb670abb
commit
eb07f50d3d
1 changed files with 31 additions and 7 deletions
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue