summaryrefslogtreecommitdiff
path: root/Hutch/Views/Settings
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-03-18 19:52:01 -0500
committerChristian Cleberg <[email protected]>2026-03-18 19:52:01 -0500
commit01ce5ee73feb8bda35749a186c0efcd3d6d7a060 (patch)
tree983397238e0024dce1dba9c583e20639d6dbd779 /Hutch/Views/Settings
parent59bf57bc90c5c9c009443ee4444c5e5253047dbe (diff)
downloadhutch-01ce5ee73feb8bda35749a186c0efcd3d6d7a060.tar.gz
hutch-01ce5ee73feb8bda35749a186c0efcd3d6d7a060.tar.bz2
hutch-01ce5ee73feb8bda35749a186c0efcd3d6d7a060.zip
use native markdown rendering for settings bio
Diffstat (limited to 'Hutch/Views/Settings')
-rw-r--r--Hutch/Views/Settings/SettingsView.swift33
1 files changed, 26 insertions, 7 deletions
diff --git a/Hutch/Views/Settings/SettingsView.swift b/Hutch/Views/Settings/SettingsView.swift
index 802e12d..9b7d41f 100644
--- a/Hutch/Views/Settings/SettingsView.swift
+++ b/Hutch/Views/Settings/SettingsView.swift
@@ -1,6 +1,10 @@
import PhotosUI
import SwiftUI
+private let settingsBioMarkdownOptions = AttributedString.MarkdownParsingOptions(
+ interpretedSyntax: .inlineOnlyPreservingWhitespace
+)
+
struct SettingsView: View {
@Environment(AppState.self) private var appState
@Environment(\.colorScheme) private var colorScheme
@@ -163,13 +167,7 @@ struct SettingsView: View {
Text("Bio")
.font(.caption)
.foregroundStyle(.secondary)
- RenderedMarkupContentView(
- content: .markdown(bio),
- readmePath: nil,
- colorScheme: colorScheme,
- ownerCanonicalName: "",
- repositoryName: ""
- )
+ SettingsBioView(markdown: bio)
}
}
@@ -424,6 +422,27 @@ struct SettingsView: View {
}
}
+private struct SettingsBioView: View {
+ let markdown: String
+
+ var body: some View {
+ Text(settingsBioAttributedString(markdown))
+ .frame(maxWidth: .infinity, alignment: .leading)
+ .tint(.accentColor)
+ .textSelection(.enabled)
+ }
+}
+
+func settingsBioAttributedString(_ markdown: String) -> AttributedString {
+ guard let attributed = try? AttributedString(
+ markdown: markdown,
+ options: settingsBioMarkdownOptions
+ ) else {
+ return AttributedString(markdown)
+ }
+ return attributed
+}
+
// MARK: - Edit Profile Sheet
private struct EditProfileSheet: View {