🚧 Add files

This commit is contained in:
2025-03-31 23:46:53 +02:00
parent 8c9b6c1d95
commit f73cfdd637
5 changed files with 155 additions and 15 deletions

View File

@@ -11,6 +11,9 @@
D49528BF2C296E8D009F6F54 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49528BE2C296E8D009F6F54 /* ContentView.swift */; }; D49528BF2C296E8D009F6F54 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49528BE2C296E8D009F6F54 /* ContentView.swift */; };
D49528C12C296E8F009F6F54 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D49528C02C296E8F009F6F54 /* Assets.xcassets */; }; D49528C12C296E8F009F6F54 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D49528C02C296E8F009F6F54 /* Assets.xcassets */; };
D49528C52C296E8F009F6F54 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D49528C42C296E8F009F6F54 /* Preview Assets.xcassets */; }; D49528C52C296E8F009F6F54 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D49528C42C296E8F009F6F54 /* Preview Assets.xcassets */; };
D49528CC2C297352009F6F54 /* Booking.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49528CB2C297352009F6F54 /* Booking.swift */; };
D49528CE2C297429009F6F54 /* Profile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49528CD2C297429009F6F54 /* Profile.swift */; };
D49528D12C2976BB009F6F54 /* Home.swift in Sources */ = {isa = PBXBuildFile; fileRef = D49528D02C2976BB009F6F54 /* Home.swift */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@@ -20,6 +23,9 @@
D49528C02C296E8F009F6F54 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; D49528C02C296E8F009F6F54 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
D49528C22C296E8F009F6F54 /* Wallet.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Wallet.entitlements; sourceTree = "<group>"; }; D49528C22C296E8F009F6F54 /* Wallet.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Wallet.entitlements; sourceTree = "<group>"; };
D49528C42C296E8F009F6F54 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; }; D49528C42C296E8F009F6F54 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
D49528CB2C297352009F6F54 /* Booking.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Booking.swift; sourceTree = "<group>"; };
D49528CD2C297429009F6F54 /* Profile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Profile.swift; sourceTree = "<group>"; };
D49528D02C2976BB009F6F54 /* Home.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Home.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -52,6 +58,7 @@
D49528BB2C296E8D009F6F54 /* Wallet */ = { D49528BB2C296E8D009F6F54 /* Wallet */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
D49528CF2C29761E009F6F54 /* Views */,
D49528BC2C296E8D009F6F54 /* WalletApp.swift */, D49528BC2C296E8D009F6F54 /* WalletApp.swift */,
D49528BE2C296E8D009F6F54 /* ContentView.swift */, D49528BE2C296E8D009F6F54 /* ContentView.swift */,
D49528C02C296E8F009F6F54 /* Assets.xcassets */, D49528C02C296E8F009F6F54 /* Assets.xcassets */,
@@ -69,6 +76,16 @@
path = "Preview Content"; path = "Preview Content";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
D49528CF2C29761E009F6F54 /* Views */ = {
isa = PBXGroup;
children = (
D49528CB2C297352009F6F54 /* Booking.swift */,
D49528CD2C297429009F6F54 /* Profile.swift */,
D49528D02C2976BB009F6F54 /* Home.swift */,
);
path = Views;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
@@ -140,6 +157,9 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
D49528BF2C296E8D009F6F54 /* ContentView.swift in Sources */, D49528BF2C296E8D009F6F54 /* ContentView.swift in Sources */,
D49528CE2C297429009F6F54 /* Profile.swift in Sources */,
D49528D12C2976BB009F6F54 /* Home.swift in Sources */,
D49528CC2C297352009F6F54 /* Booking.swift in Sources */,
D49528BD2C296E8D009F6F54 /* WalletApp.swift in Sources */, D49528BD2C296E8D009F6F54 /* WalletApp.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;

View File

@@ -1,24 +1,31 @@
//
// ContentView.swift
// Wallet
//
// Created by Keyvan Atashfaraz on 24.06.24.
//
import SwiftUI import SwiftUI
struct ContentView: View { struct ContentView: View {
var body: some View { var body: some View {
VStack { TabView {
Image(systemName: "globe") HomeView()
.imageScale(.large) .tabItem {
.foregroundStyle(.tint) Image(systemName: "house.fill")
Text("Hello, world!") Text("Home")
}
BookingView()
.tabItem {
Image(systemName: "creditcard.fill")
Text("Bookings")
}
ProfileView()
.tabItem {
Image(systemName: "person.fill")
Text("Profile")
}
} }
.padding()
} }
} }
#Preview { struct ContentView_Previews: PreviewProvider {
ContentView() static var previews: some View {
ContentView()
}
} }

View File

@@ -0,0 +1,70 @@
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()
}
}

27
Wallet/Views/Home.swift Normal file
View File

@@ -0,0 +1,27 @@
import SwiftUI
struct HomeView: View {
var body: some View {
NavigationView {
VStack {
Text("Hello, World!")
.padding()
NavigationLink(destination: SecondView()) {
Text("Go to Second View")
.foregroundColor(.blue)
.padding()
.background(Color.gray.opacity(0.2))
.cornerRadius(8)
}
}
.navigationTitle("Home")
}
}
}
struct SecondView: View {
var body: some View {
Text("This is the second view")
.navigationTitle("Second View")
}
}

View File

@@ -0,0 +1,16 @@
//
// Profile.swift
// Wallet
//
// Created by Keyvan Atashfaraz on 24.06.24.
//
import SwiftUI
struct ProfileView: View {
var body: some View {
Text("Profile View")
.navigationTitle("Profile")
}
}