aboutsummaryrefslogtreecommitdiff
path: root/Sources/NorgUI/Views/Blocks/QuoteView.swift
blob: 0347d786cae2cf571da324fb36d59c65450c03bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import NorgKit
import SwiftUI

struct QuoteView: View {
  @Environment(\.norgTheme) private var theme

  let status: TaskStatus?
  let content: [InlineSpan]
  let line: Int
  let onSetStatus: (Int, TaskStatus) -> Void

  var body: some View {
    HStack(alignment: .top, spacing: 8) {
      RoundedRectangle(cornerRadius: 1.5)
        .fill(theme.quoteBarColor)
        .frame(width: 3)
      if let status {
        BlockTaskRow(
          status: status, content: content, font: theme.body, line: line, onSetStatus: onSetStatus
        )
      } else {
        Text(AttributedString(norg: content, theme: theme))
          .foregroundStyle(theme.quoteColor)
          .italic()
      }
    }
    .fixedSize(horizontal: false, vertical: true)
  }
}