cloud-dns-ios/dns/BlocklistRow.swift

42 lines
1.2 KiB
Swift
Raw Permalink Normal View History

2026-04-13 14:18:42 +01:00
import SwiftUI
struct BlocklistRow: View {
let option: BlocklistOption
let isSelected: Bool
var body: some View {
HStack(spacing: 16) {
ZStack {
RoundedRectangle(cornerRadius: 10)
.fill(isSelected ? Color.green.opacity(0.15) : Color.gray.opacity(0.1))
.frame(width: 44, height: 44)
Image(systemName: option.icon)
.font(.title3)
.foregroundStyle(isSelected ? .green : .secondary)
}
VStack(alignment: .leading, spacing: 4) {
Text(option.id + " " + (option.enabled ? "" : "(Coming Soon)"))
.font(.body)
.fontWeight(isSelected ? .semibold : .regular)
Text(option.description)
.font(.caption)
.foregroundStyle(.secondary)
.lineLimit(2)
}
Spacer()
if isSelected {
Image(systemName: "checkmark.circle.fill")
.foregroundStyle(.green)
.font(.title3)
.transition(.scale.combined(with: .opacity))
}
}
.padding(.vertical, 8)
}
}