aboutsummaryrefslogtreecommitdiff
path: root/Hotline/macOS
diff options
context:
space:
mode:
authorDustin Mierau <dustin@mierau.me>2024-01-08 15:18:00 -0800
committerDustin Mierau <dustin@mierau.me>2024-01-08 15:18:00 -0800
commitf87ae3b315e20ac31426782d7f40f8977a36e5b9 (patch)
tree7caa3fd1d798be23a7c27239ccc01ecb902160d0 /Hotline/macOS
parente9bae0328801d5a056f33beb0f764c6d35e518a2 (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.swift24
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)