← All repositories

listless

A simple list app for Apple platforms

git clone https://code.inqk.net/listless.git


ListlessiOS/Views/DraftRowView.swift (1514B)

1import SwiftUI
2
3struct DraftRowView: View {
4    let accentColor: Color
5    let isSelected: Bool
6    let draftID: UUID
7    @Binding var title: String
8    var onEditingChanged: (Bool, Bool) -> Void
9    var returnKeyType: UIReturnKeyType
10    var accessibilityIdentifier: String
11    var focusedField: FocusState<FocusField?>.Binding
12
13    var body: some View {
14        HStack(alignment: .center, spacing: ItemRowMetrics.contentSpacing) {
15            Image(systemName: "circle")
16                .frame(width: 22, height: 22)
17                .foregroundStyle(Color.secondary)
18                .font(.system(size: 17))
19
20            TappableTextField(
21                text: $title,
22                isCompleted: false,
23                isDragging: false,
24                onEditingChanged: onEditingChanged,
25                returnKeyType: returnKeyType,
26                uiAccessibilityIdentifier: accessibilityIdentifier
27            )
28            .focused(focusedField, equals: .item(draftID))
29            .frame(maxWidth: .infinity, alignment: .leading)
30        }
31        .padding(.vertical, ItemRowMetrics.contentVerticalPadding)
32        .padding(.trailing, ItemRowMetrics.contentHorizontalPadding)
33        .padding(.leading, ItemRowMetrics.activeLeadingPadding)
34        .frame(maxWidth: .infinity, alignment: .leading)
35        .contentShape(Rectangle())
36        .background {
37            Color.itemCard.overlay(accentColor.opacity(0.15))
38        }
39        .itemCard(accentColor: accentColor, isSelected: isSelected)
40    }
41}