Implemented the ListHeader component in the app target.

This commit is contained in:
Javier Cicchelli 2024-10-06 11:12:16 +02:00
parent 62b5696378
commit a12354d613

View File

@ -0,0 +1,77 @@
//
// ListHeader.swift
// Piper ~ App
//
// Created by Javier Cicchelli on 06/10/2024.
// Copyright © 2024 Röck+Cöde. All rights reserved.
//
import SwiftUI
struct ListHeader: View {
// MARK: Properties
let title: LocalizedStringKey
let button: LocalizedStringKey
let showButton: Bool
let onAction: () -> Void
// MARK: Body
var body: some View {
HStack {
Text(title)
.font(.headline)
.foregroundStyle(.primary)
if showButton {
Spacer()
Button(
button,
action: onAction
)
.buttonStyle(.borderless)
}
}
.padding(.vertical)
}
}
// MARK: - Previews
#Preview("List Section component with title") {
List {
Section {
EmptyView()
} header: {
ListHeader(
title: "Some title goes here...",
button: "Some button goes here...",
showButton: false
) {
// ...
}
}
}
.frame(width: 400, height: 100)
}
#Preview("List Section component with title and button") {
List {
Section {
EmptyView()
} header: {
ListHeader(
title: "Some title goes here...",
button: "Some button goes here...",
showButton: true
) {
// ...
}
}
}
.frame(width: 400, height: 100)
}