Files
Wallet/Wallet/Views/Booking.swift
2025-03-31 23:46:53 +02:00

71 lines
3.1 KiB
Swift

import SwiftUI
public struct Booking: Identifiable {
public let id = UUID()
var sender_iban: String
var receiver_iban: String
var amount: Float
}
struct BookingView: View {
@State public var bookings: [Booking] = [
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78),
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78),
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78),
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78),
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78),
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78),
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78),
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78),
Booking(sender_iban: "My IBAN", receiver_iban: "Another IBAN", amount: 10.76),
Booking(sender_iban: "Another IBAN", receiver_iban: "My IBAN", amount: -3.78)
]
var body: some View {
NavigationView {
List {
ForEach(bookings) { booking in
HStack {
VStack(alignment: .leading, spacing: 8) {
HStack {
Image(systemName: "arrow.left")
Text(booking.sender_iban)
}
HStack {
Image(systemName: "arrow.right")
Text(booking.receiver_iban)
}
Text("\(booking.amount, specifier: "%.2f")")
}
.frame(maxWidth: .infinity, alignment: .leading)
.padding(5)
.background(Color.gray.opacity(0.15))
.cornerRadius(10)
.padding(5)
}
.frame(maxWidth: .infinity)
.padding(.vertical, 4)
}
.listRowInsets(EdgeInsets())
.listRowSeparator(.hidden)
}
.listStyle(PlainListStyle())
.navigationTitle("Bookings") // Set navigation title
}
}
}
struct BookingsView_Previews: PreviewProvider {
static var previews: some View {
BookingView()
}
}