diff --git a/AutoCat2.xcodeproj/project.pbxproj b/AutoCat2.xcodeproj/project.pbxproj index 9f87424..56a00b1 100644 --- a/AutoCat2.xcodeproj/project.pbxproj +++ b/AutoCat2.xcodeproj/project.pbxproj @@ -103,6 +103,7 @@ 7A9FD41A2857AF8D0057ECFA /* DifferenceKit in Frameworks */ = {isa = PBXBuildFile; productRef = 7A9FD4192857AF8D0057ECFA /* DifferenceKit */; }; 7ABAB2E427FDF7BC00553691 /* check_success.json in Resources */ = {isa = PBXBuildFile; fileRef = 7ABAB2E327FDF7BC00553691 /* check_success.json */; }; 7ABAB2E627FDF83100553691 /* GenericMethodMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ABAB2E527FDF83100553691 /* GenericMethodMock.swift */; }; + 7AE1943E299C3038009D22DA /* VehiclesListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AE1943D299C3038009D22DA /* VehiclesListViewModel.swift */; }; 7AE32D6427F05F89004EF6E0 /* VehicleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AE32D6327F05F89004EF6E0 /* VehicleCell.swift */; }; 7AE32D6627F063A1004EF6E0 /* UIEdgeInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AE32D6527F063A1004EF6E0 /* UIEdgeInsets.swift */; }; 7AE32D6927F06536004EF6E0 /* CoreDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AE32D6827F06536004EF6E0 /* CoreDataSource.swift */; }; @@ -310,6 +311,7 @@ 7A9FD40F2857AF5A0057ECFA /* AutoCat2Mac.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AutoCat2Mac.entitlements; sourceTree = ""; }; 7ABAB2E327FDF7BC00553691 /* check_success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = check_success.json; sourceTree = ""; }; 7ABAB2E527FDF83100553691 /* GenericMethodMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericMethodMock.swift; sourceTree = ""; }; + 7AE1943D299C3038009D22DA /* VehiclesListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehiclesListViewModel.swift; sourceTree = ""; }; 7AE32D6327F05F89004EF6E0 /* VehicleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehicleCell.swift; sourceTree = ""; }; 7AE32D6527F063A1004EF6E0 /* UIEdgeInsets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIEdgeInsets.swift; sourceTree = ""; }; 7AE32D6827F06536004EF6E0 /* CoreDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataSource.swift; sourceTree = ""; }; @@ -481,6 +483,7 @@ isa = PBXGroup; children = ( 7A163BF028BBE9ED0005A0A4 /* VehiclesListView.swift */, + 7AE1943D299C3038009D22DA /* VehiclesListViewModel.swift */, ); path = VehiclesList; sourceTree = ""; @@ -1187,6 +1190,7 @@ files = ( 7A4951D3288D5E2800C644B6 /* AuthVM.swift in Sources */, 7A39D07D299904B700A6F6FC /* SidebarView.swift in Sources */, + 7AE1943E299C3038009D22DA /* VehiclesListViewModel.swift in Sources */, 7A054FDA28C4C24B0002C386 /* CenterTextLayer.swift in Sources */, 7A163BF128BBE9ED0005A0A4 /* VehiclesListView.swift in Sources */, 7A054FD928C4BE560002C386 /* PlateView.swift in Sources */, diff --git a/AutoCat2SUI/Screens/VehiclesList/VehiclesListViewModel.swift b/AutoCat2SUI/Screens/VehiclesList/VehiclesListViewModel.swift new file mode 100644 index 0000000..1a07cce --- /dev/null +++ b/AutoCat2SUI/Screens/VehiclesList/VehiclesListViewModel.swift @@ -0,0 +1,29 @@ +// +// VehiclesListViewModel.swift +// AutoCat2SUI +// +// Created by Selim Mustafaev on 15.02.2023. +// + +import SwiftUI +import AutoCatCore + +class VehiclesListViewModel: ObservableObject { + + @Published var vehicles: [Vehicle] = [] + + let filter: Filter + + init(filter: Filter) { + + self.filter = filter + loadVehicles() + } + + func loadVehicles() { + switch filter.dataSource { + case .local: + + } + } +}