├── .DS_Store ├── OrderUp ├── .DS_Store ├── Assets.xcassets │ ├── Contents.json │ ├── cart.imageset │ │ ├── cart.png │ │ └── Contents.json │ ├── fries.imageset │ │ ├── fries.png │ │ └── Contents.json │ ├── pear.imageset │ │ ├── pear.png │ │ └── Contents.json │ ├── pizza.imageset │ │ ├── pizza.png │ │ └── Contents.json │ ├── user.imageset │ │ ├── user.png │ │ └── Contents.json │ ├── banana.imageset │ │ ├── banana.png │ │ └── Contents.json │ ├── carrot.imageset │ │ ├── carrot.png │ │ └── Contents.json │ ├── gammon.imageset │ │ ├── gammon.png │ │ └── Contents.json │ ├── pepper.imageset │ │ ├── pepper.png │ │ └── Contents.json │ ├── salmon.imageset │ │ ├── salmon.png │ │ └── Contents.json │ ├── shrimp.imageset │ │ ├── shrimp.png │ │ └── Contents.json │ ├── tomato.imageset │ │ ├── tomato.png │ │ └── Contents.json │ ├── turkey.imageset │ │ ├── turkey.png │ │ └── Contents.json │ ├── noodles.imageset │ │ ├── noodles.png │ │ └── Contents.json │ ├── beetroot.imageset │ │ ├── beetroot.png │ │ └── Contents.json │ ├── mushroom.imageset │ │ ├── mushroom.png │ │ └── Contents.json │ ├── sandwich.imageset │ │ ├── sandwich.png │ │ └── Contents.json │ ├── appetizer.imageset │ │ ├── appetizers.png │ │ └── Contents.json │ ├── asparagus.imageset │ │ ├── asparagus.png │ │ └── Contents.json │ ├── AccentColor.colorset │ │ └── Contents.json │ └── AppIcon.appiconset │ │ └── Contents.json ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json ├── Model │ ├── CartItem.swift │ ├── ShopCategory.swift │ └── ShopItem.swift ├── OrderUpApp.swift ├── Views │ ├── ItemHeader.swift │ ├── ShopColumn.swift │ ├── Cart.swift │ ├── HomeView.swift │ └── ShopRow.swift └── Services │ └── DataService.swift └── OrderUp.xcodeproj ├── project.xcworkspace ├── contents.xcworkspacedata ├── xcuserdata │ ├── hasan.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ └── josuecruz.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── xcuserdata ├── hasan.xcuserdatad │ └── xcschemes │ │ └── xcschememanagement.plist └── josuecruz.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist └── project.pbxproj /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/.DS_Store -------------------------------------------------------------------------------- /OrderUp/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/.DS_Store -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /OrderUp/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/cart.imageset/cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/cart.imageset/cart.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/fries.imageset/fries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/fries.imageset/fries.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/pear.imageset/pear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/pear.imageset/pear.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/pizza.imageset/pizza.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/pizza.imageset/pizza.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/user.imageset/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/user.imageset/user.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/banana.imageset/banana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/banana.imageset/banana.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/carrot.imageset/carrot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/carrot.imageset/carrot.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/gammon.imageset/gammon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/gammon.imageset/gammon.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/pepper.imageset/pepper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/pepper.imageset/pepper.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/salmon.imageset/salmon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/salmon.imageset/salmon.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/shrimp.imageset/shrimp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/shrimp.imageset/shrimp.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/tomato.imageset/tomato.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/tomato.imageset/tomato.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/turkey.imageset/turkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/turkey.imageset/turkey.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/noodles.imageset/noodles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/noodles.imageset/noodles.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/beetroot.imageset/beetroot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/beetroot.imageset/beetroot.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/mushroom.imageset/mushroom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/mushroom.imageset/mushroom.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/sandwich.imageset/sandwich.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/sandwich.imageset/sandwich.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/appetizer.imageset/appetizers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/appetizer.imageset/appetizers.png -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/asparagus.imageset/asparagus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp/Assets.xcassets/asparagus.imageset/asparagus.png -------------------------------------------------------------------------------- /OrderUp.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /OrderUp/Model/CartItem.swift: -------------------------------------------------------------------------------- 1 | // 2 | // cartItems.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/6/22. 6 | // 7 | 8 | import Foundation 9 | 10 | class CartItem: ObservableObject { 11 | @Published var item = 0 12 | } 13 | -------------------------------------------------------------------------------- /OrderUp.xcodeproj/project.xcworkspace/xcuserdata/hasan.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp.xcodeproj/project.xcworkspace/xcuserdata/hasan.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /OrderUp.xcodeproj/project.xcworkspace/xcuserdata/josuecruz.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mhasancse15/OrderUpSwiftUI/HEAD/OrderUp.xcodeproj/project.xcworkspace/xcuserdata/josuecruz.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /OrderUp/Model/ShopCategory.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShopCategory.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/5/22. 6 | // 7 | 8 | import Foundation 9 | 10 | struct ShopCategory: Identifiable { 11 | var imageName: String 12 | var name: String 13 | var id: Int 14 | } 15 | -------------------------------------------------------------------------------- /OrderUp/OrderUpApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // OrderUpApp.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/3/22. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct OrderUpApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | HomeView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /OrderUp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /OrderUp/Model/ShopItem.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShopItem.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/5/22. 6 | // 7 | 8 | import Foundation 9 | 10 | struct ShopItem: Identifiable { 11 | var imageName: String 12 | var name: String 13 | var detail: String 14 | var price: Double 15 | var category: String 16 | var id: Int 17 | } 18 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/banana.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "banana.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/carrot.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "carrot.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/cart.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "cart.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/fries.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "fries.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/gammon.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "gammon.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/pear.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "pear.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/pepper.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "pepper.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/pizza.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "pizza.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/salmon.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "salmon.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/shrimp.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "shrimp.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/tomato.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "tomato.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/turkey.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "turkey.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/user.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "user.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/beetroot.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "beetroot.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/mushroom.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "mushroom.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/noodles.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "noodles.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/sandwich.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "sandwich.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/appetizer.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "appetizers.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/asparagus.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "asparagus.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OrderUp.xcodeproj/xcuserdata/hasan.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | OrderUp.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /OrderUp.xcodeproj/xcuserdata/josuecruz.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | OrderUp.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /OrderUp/Views/ItemHeader.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ItemHeader.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/5/22. 6 | // 7 | 8 | import SwiftUI 9 | 10 | //MARK: Item Header 11 | struct ItemHeader: View { 12 | var body: some View { 13 | HStack { 14 | Text("Menu") 15 | 16 | .fontWeight(.bold) 17 | .padding() 18 | .frame(minWidth: 100) 19 | .offset(x: -155) 20 | .font(.system(size: 18)) 21 | .foregroundColor(.gray) 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /OrderUp/Views/ShopColumn.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShopColumn.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/5/22. 6 | // 7 | 8 | import SwiftUI 9 | 10 | //MARK: Store Categories 11 | struct shopColumn: View { 12 | var shopCategory: ShopCategory 13 | var body: some View { 14 | 15 | VStack { 16 | Image(shopCategory.imageName) 17 | .resizable() 18 | .aspectRatio(1, contentMode: .fit) 19 | .frame(maxWidth: 200) 20 | .frame(maxHeight: 150) 21 | Text(shopCategory.name) 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /OrderUp/Views/Cart.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Cart.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/5/22. 6 | // 7 | 8 | import SwiftUI 9 | 10 | //MARK: Cart View 11 | struct Cart: View { 12 | var cartItems: Int 13 | var body: some View { 14 | ZStack { 15 | Image("cart") 16 | .resizable() 17 | .aspectRatio(1, contentMode: .fit) 18 | .frame(maxWidth: 40) 19 | .offset(x: -10, y: 5) 20 | ZStack { 21 | Circle() 22 | .fill(Color.red) 23 | .frame(maxWidth: 25) 24 | Text("\(cartItems)") 25 | .fontWeight(.bold) 26 | .foregroundColor(Color.white) 27 | } 28 | .offset(x: 5, y: 10) 29 | .opacity(cartItems > 0 ? 1.0 : 0) 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /OrderUp/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "scale" : "1x", 46 | "size" : "20x20" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "scale" : "2x", 51 | "size" : "20x20" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "scale" : "1x", 56 | "size" : "29x29" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "scale" : "2x", 61 | "size" : "29x29" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "scale" : "1x", 66 | "size" : "40x40" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "scale" : "2x", 71 | "size" : "40x40" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "scale" : "1x", 76 | "size" : "76x76" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "scale" : "2x", 81 | "size" : "76x76" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "scale" : "2x", 86 | "size" : "83.5x83.5" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "scale" : "1x", 91 | "size" : "1024x1024" 92 | } 93 | ], 94 | "info" : { 95 | "author" : "xcode", 96 | "version" : 1 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /OrderUp/Services/DataService.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DataService.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/5/22. 6 | // 7 | 8 | import Foundation 9 | 10 | class DataService { 11 | static let shared = DataService() 12 | 13 | public let categories = [ 14 | ShopCategory(imageName: "appetizer", name: "Appetizers", id: 1), 15 | ShopCategory(imageName: "turkey", name: "Meats", id: 2), 16 | ShopCategory(imageName: "banana", name: "Fruits", id: 3), 17 | ShopCategory(imageName: "asparagus", name: "Veggies", id: 4) 18 | ] 19 | 20 | public let items = [ 21 | ShopItem(imageName: "pizza", name: "Pizza", detail: "Delicious Dish", price: 7.99, category: "Appetizers", id: 1), 22 | ShopItem(imageName: "sandwich", name: "Sandwich", detail: "Delicious Dish", price: 5.99, category: "Appetizers", id: 2), 23 | ShopItem(imageName: "noodles", name: "Noodles", detail: "Delicious Dish", price: 9.99, category: "Appetizers", id: 3), 24 | ShopItem(imageName: "fries", name: "Fries", detail: "Delicious Dish", price: 3.99, category: "Appetizers", id: 4), 25 | 26 | ShopItem(imageName: "turkey", name: "Turkey", detail: "Delicious Meat", price: 13.99, category: "Meats", id: 5), 27 | ShopItem(imageName: "gammon", name: "Gammon", detail: "Delicious Meat", price: 15.99, category: "Meats", id: 6), 28 | ShopItem(imageName: "salmon", name: "Salmon", detail: "Delicious Fish", price: 17.99, category: "Meats", id: 7), 29 | ShopItem(imageName: "shrimp", name: "Shrimps", detail: "Delicious Shrimps", price: 11.99, category: "Meats", id: 8), 30 | 31 | ShopItem(imageName: "banana", name: "Banana", detail: "Delicious Fruit", price: 1.99, category: "Fruits", id: 9), 32 | ShopItem(imageName: "pear", name: "Pear", detail: "Delicious Fruit", price: 1.99, category: "Fruits", id: 10), 33 | ShopItem(imageName: "tomato", name: "Tomato", detail: "Delicious Fruit", price: 1.99, category: "Fruits", id: 11), 34 | ShopItem(imageName: "pepper", name: "Pepper", detail: "Delicious Fruit", price: 1.99, category: "Fruits", id: 12), 35 | 36 | ShopItem(imageName: "asparagus", name: "Asparagus", detail: "Healthy Vegetable", price: 3.99, category: "Veggies", id: 13), 37 | ShopItem(imageName: "carrot", name: "Carrot", detail: "Healthy Vegetable", price: 3.99, category: "Veggies", id: 14), 38 | ShopItem(imageName: "beetroot", name: "Beetroot", detail: "Healthy Vegetable", price: 3.99, category: "Veggies", id: 15), 39 | ShopItem(imageName: "mushroom", name: "Mushroom", detail: "Healthy Vegetable", price: 3.99, category: "Veggies", id: 16) 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /OrderUp/Views/HomeView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ContentView.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/3/22. 6 | // 7 | 8 | import SwiftUI 9 | 10 | //MARK: Home View 11 | struct HomeView: View { 12 | var availableCategories: [ShopCategory] = DataService.shared.categories 13 | @State private var availableItems: [ShopItem] = DataService.shared.items 14 | @StateObject var cart = CartItem() 15 | 16 | var body: some View { 17 | 18 | NavigationView { 19 | 20 | VStack { 21 | Text("Categories") 22 | .fontWeight(.bold) 23 | .padding() 24 | .frame(minWidth: 100) 25 | .offset(x: -135) 26 | .font(.system(size: 18)) 27 | .foregroundColor(.gray) 28 | 29 | ScrollView(.horizontal) { 30 | LazyHStack { 31 | ForEach (availableCategories) { category in 32 | shopColumn(shopCategory: category) 33 | .onTapGesture { 34 | availableItems = categoryTapped(category: category.name) 35 | 36 | } 37 | } 38 | } 39 | } 40 | .offset(y: -10) 41 | 42 | Section(header: ItemHeader()){} 43 | 44 | List (availableItems) { item in 45 | 46 | shopRow(cart: cart, shopItem: item) 47 | 48 | } 49 | 50 | .navigationTitle("OrderUp") 51 | .navigationBarItems(trailing: Cart(cartItems: cart.item)) 52 | 53 | .navigationBarItems(leading: 54 | Button(action: { 55 | // Perform any logic upon tapping user icon 56 | }) { 57 | Image("user") 58 | .resizable() 59 | .aspectRatio(1, contentMode: .fit) 60 | .frame(minHeight: 50) 61 | .offset(x: -30) 62 | }) 63 | 64 | .listStyle(.plain) 65 | } 66 | } 67 | } 68 | 69 | private func categoryTapped(category: String) -> [ShopItem] { 70 | let items = DataService.shared.items.filter({$0.category == "\(category)"}) 71 | return items 72 | } 73 | 74 | } 75 | 76 | //MARK: Previews 77 | struct HomeView_Previews: PreviewProvider { 78 | static var previews: some View { 79 | HomeView() 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /OrderUp/Views/ShopRow.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShopRow.swift 3 | // OrderUp 4 | // 5 | // Created by Hasan on 8/5/22. 6 | // 7 | 8 | import SwiftUI 9 | 10 | //MARK: Store Items 11 | struct shopRow: View { 12 | @State private var quantity: Int = 0 13 | @ObservedObject var cart: CartItem 14 | 15 | var shopItem: ShopItem 16 | var body: some View { 17 | 18 | HStack { 19 | Image(shopItem.imageName) 20 | .resizable() 21 | .aspectRatio(1, contentMode: .fit) 22 | .frame(maxWidth: 100) 23 | .frame(maxHeight: 75) 24 | 25 | VStack { 26 | Text(shopItem.name) 27 | .font(.system(size: 18)) 28 | .fontWeight(.semibold) 29 | .multilineTextAlignment(.leading) 30 | .padding(.leading, -75.0) 31 | Spacer() 32 | 33 | if quantity != 0 { 34 | Text("\(quantity)") 35 | .offset(x: -50) 36 | Spacer() 37 | } 38 | 39 | Text(shopItem.detail) 40 | .padding(.leading, -45.0) 41 | .foregroundColor(.gray) 42 | Spacer() 43 | 44 | HStack { 45 | Text("$\(String(format: "%.2f", shopItem.price))") 46 | .foregroundColor(.red) 47 | 48 | if quantity == 0 { 49 | Button(action: { 50 | quantity = 1 51 | cart.item += 1 52 | 53 | }) { 54 | Text("Add to Cart") 55 | .font(.system(size: 13)) 56 | .fontWeight(.bold) 57 | .frame(width: 90, height: 30) 58 | .background(Color.red) 59 | .foregroundColor(.white) 60 | .cornerRadius(10) 61 | .offset(x: 90) 62 | } 63 | } else { 64 | Stepper("", onIncrement: { 65 | quantity += 1 66 | cart.item += 1 67 | 68 | }, onDecrement: { 69 | quantity -= 1 70 | cart.item -= 1 71 | 72 | }) 73 | .labelsHidden() 74 | .offset(x: 100) 75 | } 76 | } 77 | } 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /OrderUp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 55; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 339A86F7289B5E7D009B83D6 /* OrderUpApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A86F6289B5E7D009B83D6 /* OrderUpApp.swift */; }; 11 | 339A86F9289B5E7D009B83D6 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A86F8289B5E7D009B83D6 /* HomeView.swift */; }; 12 | 339A86FB289B5E7F009B83D6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 339A86FA289B5E7F009B83D6 /* Assets.xcassets */; }; 13 | 339A86FE289B5E7F009B83D6 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 339A86FD289B5E7F009B83D6 /* Preview Assets.xcassets */; }; 14 | 339A8707289DE306009B83D6 /* ShopRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A8706289DE305009B83D6 /* ShopRow.swift */; }; 15 | 339A8709289DE33E009B83D6 /* ItemHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A8708289DE33E009B83D6 /* ItemHeader.swift */; }; 16 | 339A870B289DE363009B83D6 /* ShopColumn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A870A289DE363009B83D6 /* ShopColumn.swift */; }; 17 | 339A870D289DE3D9009B83D6 /* ShopCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A870C289DE3D9009B83D6 /* ShopCategory.swift */; }; 18 | 339A870F289DE3E5009B83D6 /* ShopItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A870E289DE3E5009B83D6 /* ShopItem.swift */; }; 19 | 339A8711289DE436009B83D6 /* Cart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A8710289DE436009B83D6 /* Cart.swift */; }; 20 | 339A8714289DEE09009B83D6 /* DataService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A8713289DEE09009B83D6 /* DataService.swift */; }; 21 | 339A8716289E3138009B83D6 /* CartItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 339A8715289E3138009B83D6 /* CartItem.swift */; }; 22 | /* End PBXBuildFile section */ 23 | 24 | /* Begin PBXFileReference section */ 25 | 339A86F3289B5E7D009B83D6 /* OrderUp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OrderUp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 26 | 339A86F6289B5E7D009B83D6 /* OrderUpApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderUpApp.swift; sourceTree = ""; }; 27 | 339A86F8289B5E7D009B83D6 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = ""; }; 28 | 339A86FA289B5E7F009B83D6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 29 | 339A86FD289B5E7F009B83D6 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 30 | 339A8706289DE305009B83D6 /* ShopRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopRow.swift; sourceTree = ""; }; 31 | 339A8708289DE33E009B83D6 /* ItemHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemHeader.swift; sourceTree = ""; }; 32 | 339A870A289DE363009B83D6 /* ShopColumn.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopColumn.swift; sourceTree = ""; }; 33 | 339A870C289DE3D9009B83D6 /* ShopCategory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopCategory.swift; sourceTree = ""; }; 34 | 339A870E289DE3E5009B83D6 /* ShopItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopItem.swift; sourceTree = ""; }; 35 | 339A8710289DE436009B83D6 /* Cart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cart.swift; sourceTree = ""; }; 36 | 339A8713289DEE09009B83D6 /* DataService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataService.swift; sourceTree = ""; }; 37 | 339A8715289E3138009B83D6 /* CartItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CartItem.swift; sourceTree = ""; }; 38 | /* End PBXFileReference section */ 39 | 40 | /* Begin PBXFrameworksBuildPhase section */ 41 | 339A86F0289B5E7D009B83D6 /* Frameworks */ = { 42 | isa = PBXFrameworksBuildPhase; 43 | buildActionMask = 2147483647; 44 | files = ( 45 | ); 46 | runOnlyForDeploymentPostprocessing = 0; 47 | }; 48 | /* End PBXFrameworksBuildPhase section */ 49 | 50 | /* Begin PBXGroup section */ 51 | 339A86EA289B5E7D009B83D6 = { 52 | isa = PBXGroup; 53 | children = ( 54 | 339A86F5289B5E7D009B83D6 /* OrderUp */, 55 | 339A86F4289B5E7D009B83D6 /* Products */, 56 | ); 57 | sourceTree = ""; 58 | }; 59 | 339A86F4289B5E7D009B83D6 /* Products */ = { 60 | isa = PBXGroup; 61 | children = ( 62 | 339A86F3289B5E7D009B83D6 /* OrderUp.app */, 63 | ); 64 | name = Products; 65 | sourceTree = ""; 66 | }; 67 | 339A86F5289B5E7D009B83D6 /* OrderUp */ = { 68 | isa = PBXGroup; 69 | children = ( 70 | 339A86F6289B5E7D009B83D6 /* OrderUpApp.swift */, 71 | 339A8705289C847E009B83D6 /* Model */, 72 | 339A8704289C846C009B83D6 /* Views */, 73 | 339A8712289DEDE3009B83D6 /* Services */, 74 | 339A86FA289B5E7F009B83D6 /* Assets.xcassets */, 75 | 339A86FC289B5E7F009B83D6 /* Preview Content */, 76 | ); 77 | path = OrderUp; 78 | sourceTree = ""; 79 | }; 80 | 339A86FC289B5E7F009B83D6 /* Preview Content */ = { 81 | isa = PBXGroup; 82 | children = ( 83 | 339A86FD289B5E7F009B83D6 /* Preview Assets.xcassets */, 84 | ); 85 | path = "Preview Content"; 86 | sourceTree = ""; 87 | }; 88 | 339A8704289C846C009B83D6 /* Views */ = { 89 | isa = PBXGroup; 90 | children = ( 91 | 339A86F8289B5E7D009B83D6 /* HomeView.swift */, 92 | 339A870A289DE363009B83D6 /* ShopColumn.swift */, 93 | 339A8706289DE305009B83D6 /* ShopRow.swift */, 94 | 339A8708289DE33E009B83D6 /* ItemHeader.swift */, 95 | 339A8710289DE436009B83D6 /* Cart.swift */, 96 | ); 97 | path = Views; 98 | sourceTree = ""; 99 | }; 100 | 339A8705289C847E009B83D6 /* Model */ = { 101 | isa = PBXGroup; 102 | children = ( 103 | 339A870C289DE3D9009B83D6 /* ShopCategory.swift */, 104 | 339A870E289DE3E5009B83D6 /* ShopItem.swift */, 105 | 339A8715289E3138009B83D6 /* CartItem.swift */, 106 | ); 107 | path = Model; 108 | sourceTree = ""; 109 | }; 110 | 339A8712289DEDE3009B83D6 /* Services */ = { 111 | isa = PBXGroup; 112 | children = ( 113 | 339A8713289DEE09009B83D6 /* DataService.swift */, 114 | ); 115 | path = Services; 116 | sourceTree = ""; 117 | }; 118 | /* End PBXGroup section */ 119 | 120 | /* Begin PBXNativeTarget section */ 121 | 339A86F2289B5E7D009B83D6 /* OrderUp */ = { 122 | isa = PBXNativeTarget; 123 | buildConfigurationList = 339A8701289B5E7F009B83D6 /* Build configuration list for PBXNativeTarget "OrderUp" */; 124 | buildPhases = ( 125 | 339A86EF289B5E7D009B83D6 /* Sources */, 126 | 339A86F0289B5E7D009B83D6 /* Frameworks */, 127 | 339A86F1289B5E7D009B83D6 /* Resources */, 128 | ); 129 | buildRules = ( 130 | ); 131 | dependencies = ( 132 | ); 133 | name = OrderUp; 134 | productName = OrderUp; 135 | productReference = 339A86F3289B5E7D009B83D6 /* OrderUp.app */; 136 | productType = "com.apple.product-type.application"; 137 | }; 138 | /* End PBXNativeTarget section */ 139 | 140 | /* Begin PBXProject section */ 141 | 339A86EB289B5E7D009B83D6 /* Project object */ = { 142 | isa = PBXProject; 143 | attributes = { 144 | BuildIndependentTargetsInParallel = 1; 145 | LastSwiftUpdateCheck = 1340; 146 | LastUpgradeCheck = 1340; 147 | TargetAttributes = { 148 | 339A86F2289B5E7D009B83D6 = { 149 | CreatedOnToolsVersion = 13.4.1; 150 | }; 151 | }; 152 | }; 153 | buildConfigurationList = 339A86EE289B5E7D009B83D6 /* Build configuration list for PBXProject "OrderUp" */; 154 | compatibilityVersion = "Xcode 13.0"; 155 | developmentRegion = en; 156 | hasScannedForEncodings = 0; 157 | knownRegions = ( 158 | en, 159 | Base, 160 | ); 161 | mainGroup = 339A86EA289B5E7D009B83D6; 162 | productRefGroup = 339A86F4289B5E7D009B83D6 /* Products */; 163 | projectDirPath = ""; 164 | projectRoot = ""; 165 | targets = ( 166 | 339A86F2289B5E7D009B83D6 /* OrderUp */, 167 | ); 168 | }; 169 | /* End PBXProject section */ 170 | 171 | /* Begin PBXResourcesBuildPhase section */ 172 | 339A86F1289B5E7D009B83D6 /* Resources */ = { 173 | isa = PBXResourcesBuildPhase; 174 | buildActionMask = 2147483647; 175 | files = ( 176 | 339A86FE289B5E7F009B83D6 /* Preview Assets.xcassets in Resources */, 177 | 339A86FB289B5E7F009B83D6 /* Assets.xcassets in Resources */, 178 | ); 179 | runOnlyForDeploymentPostprocessing = 0; 180 | }; 181 | /* End PBXResourcesBuildPhase section */ 182 | 183 | /* Begin PBXSourcesBuildPhase section */ 184 | 339A86EF289B5E7D009B83D6 /* Sources */ = { 185 | isa = PBXSourcesBuildPhase; 186 | buildActionMask = 2147483647; 187 | files = ( 188 | 339A8714289DEE09009B83D6 /* DataService.swift in Sources */, 189 | 339A86F9289B5E7D009B83D6 /* HomeView.swift in Sources */, 190 | 339A870D289DE3D9009B83D6 /* ShopCategory.swift in Sources */, 191 | 339A870F289DE3E5009B83D6 /* ShopItem.swift in Sources */, 192 | 339A86F7289B5E7D009B83D6 /* OrderUpApp.swift in Sources */, 193 | 339A870B289DE363009B83D6 /* ShopColumn.swift in Sources */, 194 | 339A8707289DE306009B83D6 /* ShopRow.swift in Sources */, 195 | 339A8709289DE33E009B83D6 /* ItemHeader.swift in Sources */, 196 | 339A8716289E3138009B83D6 /* CartItem.swift in Sources */, 197 | 339A8711289DE436009B83D6 /* Cart.swift in Sources */, 198 | ); 199 | runOnlyForDeploymentPostprocessing = 0; 200 | }; 201 | /* End PBXSourcesBuildPhase section */ 202 | 203 | /* Begin XCBuildConfiguration section */ 204 | 339A86FF289B5E7F009B83D6 /* Debug */ = { 205 | isa = XCBuildConfiguration; 206 | buildSettings = { 207 | ALWAYS_SEARCH_USER_PATHS = NO; 208 | CLANG_ANALYZER_NONNULL = YES; 209 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 210 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; 211 | CLANG_ENABLE_MODULES = YES; 212 | CLANG_ENABLE_OBJC_ARC = YES; 213 | CLANG_ENABLE_OBJC_WEAK = YES; 214 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 215 | CLANG_WARN_BOOL_CONVERSION = YES; 216 | CLANG_WARN_COMMA = YES; 217 | CLANG_WARN_CONSTANT_CONVERSION = YES; 218 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 219 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 220 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 221 | CLANG_WARN_EMPTY_BODY = YES; 222 | CLANG_WARN_ENUM_CONVERSION = YES; 223 | CLANG_WARN_INFINITE_RECURSION = YES; 224 | CLANG_WARN_INT_CONVERSION = YES; 225 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 226 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 227 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 228 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 229 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 230 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 231 | CLANG_WARN_STRICT_PROTOTYPES = YES; 232 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 233 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 234 | CLANG_WARN_UNREACHABLE_CODE = YES; 235 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 236 | COPY_PHASE_STRIP = NO; 237 | DEBUG_INFORMATION_FORMAT = dwarf; 238 | ENABLE_STRICT_OBJC_MSGSEND = YES; 239 | ENABLE_TESTABILITY = YES; 240 | GCC_C_LANGUAGE_STANDARD = gnu11; 241 | GCC_DYNAMIC_NO_PIC = NO; 242 | GCC_NO_COMMON_BLOCKS = YES; 243 | GCC_OPTIMIZATION_LEVEL = 0; 244 | GCC_PREPROCESSOR_DEFINITIONS = ( 245 | "DEBUG=1", 246 | "$(inherited)", 247 | ); 248 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 249 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 250 | GCC_WARN_UNDECLARED_SELECTOR = YES; 251 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 252 | GCC_WARN_UNUSED_FUNCTION = YES; 253 | GCC_WARN_UNUSED_VARIABLE = YES; 254 | IPHONEOS_DEPLOYMENT_TARGET = 15.5; 255 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 256 | MTL_FAST_MATH = YES; 257 | ONLY_ACTIVE_ARCH = YES; 258 | SDKROOT = iphoneos; 259 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 260 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 261 | }; 262 | name = Debug; 263 | }; 264 | 339A8700289B5E7F009B83D6 /* Release */ = { 265 | isa = XCBuildConfiguration; 266 | buildSettings = { 267 | ALWAYS_SEARCH_USER_PATHS = NO; 268 | CLANG_ANALYZER_NONNULL = YES; 269 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 270 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; 271 | CLANG_ENABLE_MODULES = YES; 272 | CLANG_ENABLE_OBJC_ARC = YES; 273 | CLANG_ENABLE_OBJC_WEAK = YES; 274 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 275 | CLANG_WARN_BOOL_CONVERSION = YES; 276 | CLANG_WARN_COMMA = YES; 277 | CLANG_WARN_CONSTANT_CONVERSION = YES; 278 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 279 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 280 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 281 | CLANG_WARN_EMPTY_BODY = YES; 282 | CLANG_WARN_ENUM_CONVERSION = YES; 283 | CLANG_WARN_INFINITE_RECURSION = YES; 284 | CLANG_WARN_INT_CONVERSION = YES; 285 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 286 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 287 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 288 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 289 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 290 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 291 | CLANG_WARN_STRICT_PROTOTYPES = YES; 292 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 293 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 294 | CLANG_WARN_UNREACHABLE_CODE = YES; 295 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 296 | COPY_PHASE_STRIP = NO; 297 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 298 | ENABLE_NS_ASSERTIONS = NO; 299 | ENABLE_STRICT_OBJC_MSGSEND = YES; 300 | GCC_C_LANGUAGE_STANDARD = gnu11; 301 | GCC_NO_COMMON_BLOCKS = YES; 302 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 303 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 304 | GCC_WARN_UNDECLARED_SELECTOR = YES; 305 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 306 | GCC_WARN_UNUSED_FUNCTION = YES; 307 | GCC_WARN_UNUSED_VARIABLE = YES; 308 | IPHONEOS_DEPLOYMENT_TARGET = 15.5; 309 | MTL_ENABLE_DEBUG_INFO = NO; 310 | MTL_FAST_MATH = YES; 311 | SDKROOT = iphoneos; 312 | SWIFT_COMPILATION_MODE = wholemodule; 313 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 314 | VALIDATE_PRODUCT = YES; 315 | }; 316 | name = Release; 317 | }; 318 | 339A8702289B5E7F009B83D6 /* Debug */ = { 319 | isa = XCBuildConfiguration; 320 | buildSettings = { 321 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 322 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 323 | CODE_SIGN_STYLE = Automatic; 324 | CURRENT_PROJECT_VERSION = 1; 325 | DEVELOPMENT_ASSET_PATHS = "\"OrderUp/Preview Content\""; 326 | DEVELOPMENT_TEAM = B33C68V2AN; 327 | ENABLE_PREVIEWS = YES; 328 | GENERATE_INFOPLIST_FILE = YES; 329 | INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; 330 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; 331 | INFOPLIST_KEY_UILaunchScreen_Generation = YES; 332 | INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; 333 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = UIInterfaceOrientationPortrait; 334 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = UIInterfaceOrientationPortrait; 335 | LD_RUNPATH_SEARCH_PATHS = ( 336 | "$(inherited)", 337 | "@executable_path/Frameworks", 338 | ); 339 | MARKETING_VERSION = 1.0; 340 | PRODUCT_BUNDLE_IDENTIFIER = josuegcp95.OrderUp; 341 | PRODUCT_NAME = "$(TARGET_NAME)"; 342 | SWIFT_EMIT_LOC_STRINGS = YES; 343 | SWIFT_VERSION = 5.0; 344 | TARGETED_DEVICE_FAMILY = 1; 345 | }; 346 | name = Debug; 347 | }; 348 | 339A8703289B5E7F009B83D6 /* Release */ = { 349 | isa = XCBuildConfiguration; 350 | buildSettings = { 351 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 352 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; 353 | CODE_SIGN_STYLE = Automatic; 354 | CURRENT_PROJECT_VERSION = 1; 355 | DEVELOPMENT_ASSET_PATHS = "\"OrderUp/Preview Content\""; 356 | DEVELOPMENT_TEAM = B33C68V2AN; 357 | ENABLE_PREVIEWS = YES; 358 | GENERATE_INFOPLIST_FILE = YES; 359 | INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; 360 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; 361 | INFOPLIST_KEY_UILaunchScreen_Generation = YES; 362 | INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; 363 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = UIInterfaceOrientationPortrait; 364 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = UIInterfaceOrientationPortrait; 365 | LD_RUNPATH_SEARCH_PATHS = ( 366 | "$(inherited)", 367 | "@executable_path/Frameworks", 368 | ); 369 | MARKETING_VERSION = 1.0; 370 | PRODUCT_BUNDLE_IDENTIFIER = josuegcp95.OrderUp; 371 | PRODUCT_NAME = "$(TARGET_NAME)"; 372 | SWIFT_EMIT_LOC_STRINGS = YES; 373 | SWIFT_VERSION = 5.0; 374 | TARGETED_DEVICE_FAMILY = 1; 375 | }; 376 | name = Release; 377 | }; 378 | /* End XCBuildConfiguration section */ 379 | 380 | /* Begin XCConfigurationList section */ 381 | 339A86EE289B5E7D009B83D6 /* Build configuration list for PBXProject "OrderUp" */ = { 382 | isa = XCConfigurationList; 383 | buildConfigurations = ( 384 | 339A86FF289B5E7F009B83D6 /* Debug */, 385 | 339A8700289B5E7F009B83D6 /* Release */, 386 | ); 387 | defaultConfigurationIsVisible = 0; 388 | defaultConfigurationName = Release; 389 | }; 390 | 339A8701289B5E7F009B83D6 /* Build configuration list for PBXNativeTarget "OrderUp" */ = { 391 | isa = XCConfigurationList; 392 | buildConfigurations = ( 393 | 339A8702289B5E7F009B83D6 /* Debug */, 394 | 339A8703289B5E7F009B83D6 /* Release */, 395 | ); 396 | defaultConfigurationIsVisible = 0; 397 | defaultConfigurationName = Release; 398 | }; 399 | /* End XCConfigurationList section */ 400 | }; 401 | rootObject = 339A86EB289B5E7D009B83D6 /* Project object */; 402 | } 403 | --------------------------------------------------------------------------------