Ferrite-backup/Ferrite/Views/CommonViews/ListRowViews.swift
kingbri e063b91f3f Ferrite: Format and cleanup
Also add swipe to delete support in source lists

Signed-off-by: kingbri <bdashore3@proton.me>
2022-11-19 11:58:02 -05:00

75 lines
1.5 KiB
Swift

//
// ListRowViews.swift
// Ferrite
//
// Created by Brian Dashore on 7/26/22.
//
// List row button, text, and link boilerplate
//
import SwiftUI
struct ListRowLinkView: View {
let text: String
let link: String
var body: some View {
HStack {
Link(text, destination: URL(string: link)!)
.foregroundColor(.primary)
Spacer()
Image(systemName: "arrow.up.forward.app.fill")
.foregroundColor(.gray)
}
}
}
struct ListRowButtonView: View {
let text: String
let systemImage: String?
let action: () -> Void
init(_ text: String, systemImage: String? = nil, action: @escaping () -> Void) {
self.text = text
self.systemImage = systemImage
self.action = action
}
var body: some View {
HStack {
Button(text) {
action()
}
Spacer()
if let imageName = systemImage {
Image(systemName: imageName)
.foregroundColor(.gray)
}
}
}
}
struct ListRowTextView: View {
let leftText: String
var rightText: String?
var rightSymbol: String?
var body: some View {
HStack {
Text(leftText)
Spacer()
if let rightText {
Text(rightText)
} else {
Image(systemName: rightSymbol!)
.foregroundColor(.gray)
}
}
}
}