diff options
| author | Dustin Mierau <dustin@mierau.me> | 2024-01-08 15:18:00 -0800 |
|---|---|---|
| committer | Dustin Mierau <dustin@mierau.me> | 2024-01-08 15:18:00 -0800 |
| commit | f87ae3b315e20ac31426782d7f40f8977a36e5b9 (patch) | |
| tree | 7caa3fd1d798be23a7c27239ccc01ecb902160d0 /Hotline/macOS | |
| parent | e9bae0328801d5a056f33beb0f764c6d35e518a2 (diff) | |
Add Markdown display for news articles to support rich text, images, links, tables, etc.
Diffstat (limited to 'Hotline/macOS')
| -rw-r--r-- | Hotline/macOS/NewsView.swift | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/Hotline/macOS/NewsView.swift b/Hotline/macOS/NewsView.swift index 45bae68..daeb45b 100644 --- a/Hotline/macOS/NewsView.swift +++ b/Hotline/macOS/NewsView.swift @@ -1,5 +1,5 @@ import SwiftUI -import UniformTypeIdentifiers +import MarkdownUI struct NewsItemView: View { @Environment(Hotline.self) private var model: Hotline @@ -24,7 +24,7 @@ struct NewsItemView: View { }() var body: some View { - HStack { + HStack(alignment: .center, spacing: 6) { if news.type == .bundle || news.type == .category { Button { news.expanded.toggle() @@ -40,15 +40,14 @@ struct NewsItemView: View { .padding(.leading, 4) } else if news.type == .article { -// HStack(alignment: .center) { -// Text(Image(systemName: "quote.opening")) -// .font(.system(size: 12)) -// .opacity(0.5) -// .frame(alignment: .centerFirstTextBaseline) - -// Image(systemName: "quote.opening") -// } -// .frame(width: 14) + if news.parentID != nil { + Image(systemName: "arrowshape.turn.up.left.fill") + .resizable() + .renderingMode(.template) + .scaledToFit() + .frame(width: 10) + .foregroundStyle(.secondary) + } } Text(news.name) .fontWeight((news.type == .bundle || news.type == .category) ? .bold : .regular) @@ -203,7 +202,8 @@ struct NewsView: View { Divider() if let newsText = self.articleText { - Text(newsText) + Markdown(newsText) +// Text(newsText) .textSelection(.enabled) .lineSpacing(4) .padding(.top, 16) |