├── .gitignore ├── Episode 1 ├── final │ └── BookShelf │ │ ├── BookShelf.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── BookShelf │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── 100.png │ │ │ ├── 1024.png │ │ │ ├── 114.png │ │ │ ├── 120.png │ │ │ ├── 128.png │ │ │ ├── 144.png │ │ │ ├── 152.png │ │ │ ├── 16.png │ │ │ ├── 167.png │ │ │ ├── 172.png │ │ │ ├── 180.png │ │ │ ├── 196.png │ │ │ ├── 20.png │ │ │ ├── 216.png │ │ │ ├── 256.png │ │ │ ├── 29.png │ │ │ ├── 32.png │ │ │ ├── 40.png │ │ │ ├── 48.png │ │ │ ├── 50.png │ │ │ ├── 512.png │ │ │ ├── 55.png │ │ │ ├── 57.png │ │ │ ├── 58.png │ │ │ ├── 60.png │ │ │ ├── 64.png │ │ │ ├── 72.png │ │ │ ├── 76.png │ │ │ ├── 80.png │ │ │ ├── 87.png │ │ │ ├── 88.png │ │ │ └── Contents.json │ │ ├── Changer │ │ │ ├── 9781916265202-L.imageset │ │ │ │ ├── 9781916265202-L.jpeg │ │ │ │ └── Contents.json │ │ │ ├── 9781916265202-M.imageset │ │ │ │ ├── 9781916265202-M.jpeg │ │ │ │ └── Contents.json │ │ │ ├── 9781916265202-S.imageset │ │ │ │ ├── 9781916265202-S.jpeg │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── Hitchhiker │ │ │ ├── 9780671461492-L.imageset │ │ │ │ ├── 9780671461492-L.jpeg │ │ │ │ └── Contents.json │ │ │ ├── 9780671461492-M.imageset │ │ │ │ ├── 9780671461492-M.jpeg │ │ │ │ └── Contents.json │ │ │ ├── 9780671461492-S.imageset │ │ │ │ ├── 9780671461492-S.jpeg │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── SwiftUIAbsoluteBeginner │ │ │ ├── 9781484255155-L.imageset │ │ │ │ ├── 9781484255155-L.jpeg │ │ │ │ └── Contents.json │ │ │ ├── 9781484255155-M.imageset │ │ │ │ ├── 9781484255155-M.jpeg │ │ │ │ └── Contents.json │ │ │ ├── 9781484255155-S.imageset │ │ │ │ ├── 9781484255155-S.jpeg │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ └── Why we sleep │ │ │ ├── 9780141983769-L.imageset │ │ │ ├── 9780141983769-L.jpeg │ │ │ └── Contents.json │ │ │ ├── 9780141983769-M.imageset │ │ │ ├── 9780141983769-M.jpeg │ │ │ └── Contents.json │ │ │ ├── 9780141983769-S.imageset │ │ │ ├── 9780141983769-S.jpeg │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── BookRowView.swift │ │ ├── BookShelfApp.swift │ │ ├── BooksListScreen.swift │ │ ├── BooksListView.swift │ │ ├── Info.plist │ │ ├── Model │ │ └── Book.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ └── Utils │ │ └── ISBN.swift └── starter │ └── BookShelf │ ├── BookShelf.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── BookShelf │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── 100.png │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 16.png │ │ ├── 167.png │ │ ├── 172.png │ │ ├── 180.png │ │ ├── 196.png │ │ ├── 20.png │ │ ├── 216.png │ │ ├── 256.png │ │ ├── 29.png │ │ ├── 32.png │ │ ├── 40.png │ │ ├── 48.png │ │ ├── 50.png │ │ ├── 512.png │ │ ├── 55.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 76.png │ │ ├── 80.png │ │ ├── 87.png │ │ ├── 88.png │ │ └── Contents.json │ ├── Changer │ │ ├── 9781916265202-L.imageset │ │ │ ├── 9781916265202-L.jpeg │ │ │ └── Contents.json │ │ ├── 9781916265202-M.imageset │ │ │ ├── 9781916265202-M.jpeg │ │ │ └── Contents.json │ │ ├── 9781916265202-S.imageset │ │ │ ├── 9781916265202-S.jpeg │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Contents.json │ ├── Hitchhiker │ │ ├── 9780671461492-L.imageset │ │ │ ├── 9780671461492-L.jpeg │ │ │ └── Contents.json │ │ ├── 9780671461492-M.imageset │ │ │ ├── 9780671461492-M.jpeg │ │ │ └── Contents.json │ │ ├── 9780671461492-S.imageset │ │ │ ├── 9780671461492-S.jpeg │ │ │ └── Contents.json │ │ └── Contents.json │ ├── SwiftUIAbsoluteBeginner │ │ ├── 9781484255155-L.imageset │ │ │ ├── 9781484255155-L.jpeg │ │ │ └── Contents.json │ │ ├── 9781484255155-M.imageset │ │ │ ├── 9781484255155-M.jpeg │ │ │ └── Contents.json │ │ ├── 9781484255155-S.imageset │ │ │ ├── 9781484255155-S.jpeg │ │ │ └── Contents.json │ │ └── Contents.json │ └── Why we sleep │ │ ├── 9780141983769-L.imageset │ │ ├── 9780141983769-L.jpeg │ │ └── Contents.json │ │ ├── 9780141983769-M.imageset │ │ ├── 9780141983769-M.jpeg │ │ └── Contents.json │ │ ├── 9780141983769-S.imageset │ │ ├── 9780141983769-S.jpeg │ │ └── Contents.json │ │ └── Contents.json │ ├── BookShelfApp.swift │ ├── BooksListScreen.swift │ ├── BooksListView.swift │ ├── Info.plist │ ├── Model │ └── Book.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── Utils │ └── ISBN.swift ├── Episode 2 ├── final │ └── ShipItToMe │ │ ├── ShipItToMe.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── ShipItToMe │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── 100.png │ │ │ ├── 1024.png │ │ │ ├── 114.png │ │ │ ├── 120.png │ │ │ ├── 128.png │ │ │ ├── 144.png │ │ │ ├── 152.png │ │ │ ├── 16.png │ │ │ ├── 167.png │ │ │ ├── 172.png │ │ │ ├── 180.png │ │ │ ├── 196.png │ │ │ ├── 20.png │ │ │ ├── 216.png │ │ │ ├── 256.png │ │ │ ├── 29.png │ │ │ ├── 32.png │ │ │ ├── 40.png │ │ │ ├── 48.png │ │ │ ├── 50.png │ │ │ ├── 512.png │ │ │ ├── 55.png │ │ │ ├── 57.png │ │ │ ├── 58.png │ │ │ ├── 60.png │ │ │ ├── 64.png │ │ │ ├── 72.png │ │ │ ├── 76.png │ │ │ ├── 80.png │ │ │ ├── 87.png │ │ │ ├── 88.png │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── ShipItToMeApp.swift │ │ └── ShippingForm.swift └── starter │ └── ShipItToMe │ ├── ShipItToMe.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── ShipItToMe │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── 100.png │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 16.png │ │ ├── 167.png │ │ ├── 172.png │ │ ├── 180.png │ │ ├── 196.png │ │ ├── 20.png │ │ ├── 216.png │ │ ├── 256.png │ │ ├── 29.png │ │ ├── 32.png │ │ ├── 40.png │ │ ├── 48.png │ │ ├── 50.png │ │ ├── 512.png │ │ ├── 55.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 76.png │ │ ├── 80.png │ │ ├── 87.png │ │ ├── 88.png │ │ └── Contents.json │ └── Contents.json │ ├── Info.plist │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── ShipItToMeApp.swift │ └── ShippingForm.swift ├── Episode 3 ├── final │ └── ShipItToMe │ │ ├── ShipItToMe.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── ShipItToMe │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── 100.png │ │ │ ├── 1024.png │ │ │ ├── 114.png │ │ │ ├── 120.png │ │ │ ├── 128.png │ │ │ ├── 144.png │ │ │ ├── 152.png │ │ │ ├── 16.png │ │ │ ├── 167.png │ │ │ ├── 172.png │ │ │ ├── 180.png │ │ │ ├── 196.png │ │ │ ├── 20.png │ │ │ ├── 216.png │ │ │ ├── 256.png │ │ │ ├── 29.png │ │ │ ├── 32.png │ │ │ ├── 40.png │ │ │ ├── 48.png │ │ │ ├── 50.png │ │ │ ├── 512.png │ │ │ ├── 55.png │ │ │ ├── 57.png │ │ │ ├── 58.png │ │ │ ├── 60.png │ │ │ ├── 64.png │ │ │ ├── 72.png │ │ │ ├── 76.png │ │ │ ├── 80.png │ │ │ ├── 87.png │ │ │ ├── 88.png │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── ShipItToMeApp.swift │ │ ├── ShippingForm.swift │ │ └── TextInputField.swift └── starter │ └── ShipItToMe │ ├── ShipItToMe.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── ShipItToMe │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── 100.png │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 16.png │ │ ├── 167.png │ │ ├── 172.png │ │ ├── 180.png │ │ ├── 196.png │ │ ├── 20.png │ │ ├── 216.png │ │ ├── 256.png │ │ ├── 29.png │ │ ├── 32.png │ │ ├── 40.png │ │ ├── 48.png │ │ ├── 50.png │ │ ├── 512.png │ │ ├── 55.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 76.png │ │ ├── 80.png │ │ ├── 87.png │ │ ├── 88.png │ │ └── Contents.json │ └── Contents.json │ ├── Info.plist │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── ShipItToMeApp.swift │ └── ShippingForm.swift ├── Episode 4 ├── final │ └── ShipItToMe │ │ ├── ShipItToMe.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── ShipItToMe │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── 100.png │ │ │ ├── 1024.png │ │ │ ├── 114.png │ │ │ ├── 120.png │ │ │ ├── 128.png │ │ │ ├── 144.png │ │ │ ├── 152.png │ │ │ ├── 16.png │ │ │ ├── 167.png │ │ │ ├── 172.png │ │ │ ├── 180.png │ │ │ ├── 196.png │ │ │ ├── 20.png │ │ │ ├── 216.png │ │ │ ├── 256.png │ │ │ ├── 29.png │ │ │ ├── 32.png │ │ │ ├── 40.png │ │ │ ├── 48.png │ │ │ ├── 50.png │ │ │ ├── 512.png │ │ │ ├── 55.png │ │ │ ├── 57.png │ │ │ ├── 58.png │ │ │ ├── 60.png │ │ │ ├── 64.png │ │ │ ├── 72.png │ │ │ ├── 76.png │ │ │ ├── 80.png │ │ │ ├── 87.png │ │ │ ├── 88.png │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── EmailValidationForm.swift │ │ ├── Info.plist │ │ ├── MenuView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── ShipItToMeApp.swift │ │ ├── ShippingForm.swift │ │ └── TextInputField.swift └── starter │ └── ShipItToMe │ ├── ShipItToMe.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── ShipItToMe │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── 100.png │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 16.png │ │ ├── 167.png │ │ ├── 172.png │ │ ├── 180.png │ │ ├── 196.png │ │ ├── 20.png │ │ ├── 216.png │ │ ├── 256.png │ │ ├── 29.png │ │ ├── 32.png │ │ ├── 40.png │ │ ├── 48.png │ │ ├── 50.png │ │ ├── 512.png │ │ ├── 55.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 76.png │ │ ├── 80.png │ │ ├── 87.png │ │ ├── 88.png │ │ └── Contents.json │ └── Contents.json │ ├── EmailValidationForm.swift │ ├── Info.plist │ ├── MenuView.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── ShipItToMeApp.swift │ ├── ShippingForm.swift │ └── TextInputField.swift ├── Episode 5 ├── final │ └── ShipItToMe │ │ ├── ShipItToMe.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── ShipItToMe │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── 100.png │ │ │ ├── 1024.png │ │ │ ├── 114.png │ │ │ ├── 120.png │ │ │ ├── 128.png │ │ │ ├── 144.png │ │ │ ├── 152.png │ │ │ ├── 16.png │ │ │ ├── 167.png │ │ │ ├── 172.png │ │ │ ├── 180.png │ │ │ ├── 196.png │ │ │ ├── 20.png │ │ │ ├── 216.png │ │ │ ├── 256.png │ │ │ ├── 29.png │ │ │ ├── 32.png │ │ │ ├── 40.png │ │ │ ├── 48.png │ │ │ ├── 50.png │ │ │ ├── 512.png │ │ │ ├── 55.png │ │ │ ├── 57.png │ │ │ ├── 58.png │ │ │ ├── 60.png │ │ │ ├── 64.png │ │ │ ├── 72.png │ │ │ ├── 76.png │ │ │ ├── 80.png │ │ │ ├── 87.png │ │ │ ├── 88.png │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── EmailValidationForm.swift │ │ ├── Extensions │ │ └── String+Extensions.swift │ │ ├── Info.plist │ │ ├── MenuView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── ShipItToMeApp.swift │ │ ├── ShippingForm.swift │ │ └── TextInputField.swift └── starter │ └── ShipItToMe │ ├── ShipItToMe.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── ShipItToMe │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── 100.png │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 16.png │ │ ├── 167.png │ │ ├── 172.png │ │ ├── 180.png │ │ ├── 196.png │ │ ├── 20.png │ │ ├── 216.png │ │ ├── 256.png │ │ ├── 29.png │ │ ├── 32.png │ │ ├── 40.png │ │ ├── 48.png │ │ ├── 50.png │ │ ├── 512.png │ │ ├── 55.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 76.png │ │ ├── 80.png │ │ ├── 87.png │ │ ├── 88.png │ │ └── Contents.json │ └── Contents.json │ ├── EmailValidationForm.swift │ ├── Info.plist │ ├── MenuView.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── ShipItToMeApp.swift │ ├── ShippingForm.swift │ └── TextInputField.swift ├── Episode 6 ├── final │ └── ShipItToMe │ │ ├── FloatingLabelTextInputField │ │ ├── .gitignore │ │ ├── Package.swift │ │ ├── README.md │ │ ├── Sources │ │ │ └── FloatingLabelTextInputField │ │ │ │ └── TextInputField.swift │ │ └── Tests │ │ │ └── FloatingLabelTextInputFieldTests │ │ │ └── FloatingLabelTextInputFieldTests.swift │ │ ├── ShipItToMe.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── ShipItToMe.xcscheme │ │ └── ShipItToMe │ │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── 100.png │ │ │ ├── 1024.png │ │ │ ├── 114.png │ │ │ ├── 120.png │ │ │ ├── 128.png │ │ │ ├── 144.png │ │ │ ├── 152.png │ │ │ ├── 16.png │ │ │ ├── 167.png │ │ │ ├── 172.png │ │ │ ├── 180.png │ │ │ ├── 196.png │ │ │ ├── 20.png │ │ │ ├── 216.png │ │ │ ├── 256.png │ │ │ ├── 29.png │ │ │ ├── 32.png │ │ │ ├── 40.png │ │ │ ├── 48.png │ │ │ ├── 50.png │ │ │ ├── 512.png │ │ │ ├── 55.png │ │ │ ├── 57.png │ │ │ ├── 58.png │ │ │ ├── 60.png │ │ │ ├── 64.png │ │ │ ├── 72.png │ │ │ ├── 76.png │ │ │ ├── 80.png │ │ │ ├── 87.png │ │ │ ├── 88.png │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── DemoView.swift │ │ ├── EmailValidationForm.swift │ │ ├── Extensions │ │ └── String+Extensions.swift │ │ ├── Info.plist │ │ ├── MenuView.swift │ │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ │ ├── ShipItToMeApp.swift │ │ └── ShippingForm.swift └── starter │ └── ShipItToMe │ ├── ShipItToMe.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── ShipItToMe │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── 100.png │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 16.png │ │ ├── 167.png │ │ ├── 172.png │ │ ├── 180.png │ │ ├── 196.png │ │ ├── 20.png │ │ ├── 216.png │ │ ├── 256.png │ │ ├── 29.png │ │ ├── 32.png │ │ ├── 40.png │ │ ├── 48.png │ │ ├── 50.png │ │ ├── 512.png │ │ ├── 55.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 76.png │ │ ├── 80.png │ │ ├── 87.png │ │ ├── 88.png │ │ └── Contents.json │ └── Contents.json │ ├── EmailValidationForm.swift │ ├── Extensions │ └── String+Extensions.swift │ ├── Info.plist │ ├── MenuView.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── ShipItToMeApp.swift │ ├── ShippingForm.swift │ └── TextInputField.swift ├── README.md └── images ├── AppIcons.zip ├── AppIcons ├── Assets.xcassets │ └── AppIcon.appiconset │ │ ├── 100.png │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 16.png │ │ ├── 167.png │ │ ├── 172.png │ │ ├── 180.png │ │ ├── 196.png │ │ ├── 20.png │ │ ├── 216.png │ │ ├── 256.png │ │ ├── 29.png │ │ ├── 32.png │ │ ├── 40.png │ │ ├── 48.png │ │ ├── 50.png │ │ ├── 512.png │ │ ├── 55.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 76.png │ │ ├── 80.png │ │ ├── 87.png │ │ ├── 88.png │ │ └── Contents.json ├── appstore.png └── playstore.png ├── header.png ├── logo.graffle ├── data.plist ├── image6.tiff └── preview.jpeg ├── logo.txt ├── logo ├── App Icon.png ├── App Icon_50.png ├── Blog post header.png ├── Blog post header_50.png ├── GitHub Project Header.png ├── GitHub Project Header_50.png ├── Repo Card.png └── Repo Card_50.png ├── noun_lego brick_846995.svg ├── repocard.png └── repocard.psd /Episode 1/final/BookShelf/BookShelf.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.745", 9 | "green" : "0.478", 10 | "red" : "0.003" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-L.imageset/9781916265202-L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-L.imageset/9781916265202-L.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-L.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781916265202-L.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-M.imageset/9781916265202-M.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-M.imageset/9781916265202-M.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-M.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781916265202-M.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-S.imageset/9781916265202-S.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-S.imageset/9781916265202-S.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-S.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781916265202-S.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Changer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-L.imageset/9780671461492-L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-L.imageset/9780671461492-L.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-L.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780671461492-L.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-M.imageset/9780671461492-M.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-M.imageset/9780671461492-M.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-M.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780671461492-M.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-S.imageset/9780671461492-S.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-S.imageset/9780671461492-S.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-S.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780671461492-S.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-L.imageset/9781484255155-L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-L.imageset/9781484255155-L.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-L.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781484255155-L.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-M.imageset/9781484255155-M.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-M.imageset/9781484255155-M.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-M.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781484255155-M.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-S.imageset/9781484255155-S.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-S.imageset/9781484255155-S.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-S.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781484255155-S.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-L.imageset/9780141983769-L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-L.imageset/9780141983769-L.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-L.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780141983769-L.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-M.imageset/9780141983769-M.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-M.imageset/9780141983769-M.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-M.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780141983769-M.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-S.imageset/9780141983769-S.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-S.imageset/9780141983769-S.jpeg -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-S.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780141983769-S.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Assets.xcassets/Why we sleep/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/final/BookShelf/BookShelf/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.745", 9 | "green" : "0.478", 10 | "red" : "0.003" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-L.imageset/9781916265202-L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-L.imageset/9781916265202-L.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-L.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781916265202-L.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-M.imageset/9781916265202-M.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-M.imageset/9781916265202-M.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-M.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781916265202-M.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-S.imageset/9781916265202-S.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-S.imageset/9781916265202-S.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/9781916265202-S.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781916265202-S.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Changer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-L.imageset/9780671461492-L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-L.imageset/9780671461492-L.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-L.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780671461492-L.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-M.imageset/9780671461492-M.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-M.imageset/9780671461492-M.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-M.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780671461492-M.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-S.imageset/9780671461492-S.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-S.imageset/9780671461492-S.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/9780671461492-S.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780671461492-S.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Hitchhiker/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-L.imageset/9781484255155-L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-L.imageset/9781484255155-L.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-L.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9781484255155-L.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-M.imageset/9781484255155-M.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-M.imageset/9781484255155-M.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-S.imageset/9781484255155-S.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/9781484255155-S.imageset/9781484255155-S.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/SwiftUIAbsoluteBeginner/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-L.imageset/9780141983769-L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-L.imageset/9780141983769-L.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-L.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780141983769-L.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-M.imageset/9780141983769-M.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-M.imageset/9780141983769-M.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-M.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780141983769-M.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-S.imageset/9780141983769-S.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-S.imageset/9780141983769-S.jpeg -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/9780141983769-S.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "9780141983769-S.jpeg", 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 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Assets.xcassets/Why we sleep/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 1/starter/BookShelf/BookShelf/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 2/final/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ShippingForm() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 2/starter/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ShippingForm() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 3/final/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ShippingForm() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 3/starter/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | ShippingForm() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 4/final/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | MenuView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 4/starter/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | MenuView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 5/final/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | MenuView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 5/starter/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | MenuView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/FloatingLabelTextInputField/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | /*.xcodeproj 5 | xcuserdata/ 6 | DerivedData/ 7 | .swiftpm/config/registries.json 8 | .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata 9 | .netrc 10 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/FloatingLabelTextInputField/README.md: -------------------------------------------------------------------------------- 1 | # FloatingLabelTextInputField 2 | 3 | A description of this package. 4 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/FloatingLabelTextInputField/Tests/FloatingLabelTextInputFieldTests/FloatingLabelTextInputFieldTests.swift: -------------------------------------------------------------------------------- 1 | import XCTest 2 | @testable import FloatingLabelTextInputField 3 | 4 | final class FloatingLabelTextInputFieldTests: XCTestCase { 5 | } 6 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 6/final/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | MenuView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "display-p3", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.973", 9 | "green" : "0.605", 10 | "red" : "0.273" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Episode 6/starter/ShipItToMe/ShipItToMe/ShipItToMeApp.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShipItToMeApp.swift 3 | // ShipItToMe 4 | // 5 | // Created by Peter Friese on 03.04.21. 6 | // 7 | 8 | import SwiftUI 9 | 10 | @main 11 | struct ShipItToMeApp: App { 12 | var body: some Scene { 13 | WindowGroup { 14 | MenuView() 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /images/AppIcons.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons.zip -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /images/AppIcons/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /images/AppIcons/appstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/appstore.png -------------------------------------------------------------------------------- /images/AppIcons/playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/AppIcons/playstore.png -------------------------------------------------------------------------------- /images/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/header.png -------------------------------------------------------------------------------- /images/logo.graffle/data.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo.graffle/data.plist -------------------------------------------------------------------------------- /images/logo.graffle/image6.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo.graffle/image6.tiff -------------------------------------------------------------------------------- /images/logo.graffle/preview.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo.graffle/preview.jpeg -------------------------------------------------------------------------------- /images/logo.txt: -------------------------------------------------------------------------------- 1 | 2 | https://thenounproject.com/marialuisa.iborra/collection/lego/?i=846995 3 | 4 | lego brick by Lluisa Iborra from the Noun Project -------------------------------------------------------------------------------- /images/logo/App Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo/App Icon.png -------------------------------------------------------------------------------- /images/logo/App Icon_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo/App Icon_50.png -------------------------------------------------------------------------------- /images/logo/Blog post header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo/Blog post header.png -------------------------------------------------------------------------------- /images/logo/Blog post header_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo/Blog post header_50.png -------------------------------------------------------------------------------- /images/logo/GitHub Project Header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo/GitHub Project Header.png -------------------------------------------------------------------------------- /images/logo/GitHub Project Header_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo/GitHub Project Header_50.png -------------------------------------------------------------------------------- /images/logo/Repo Card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo/Repo Card.png -------------------------------------------------------------------------------- /images/logo/Repo Card_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/logo/Repo Card_50.png -------------------------------------------------------------------------------- /images/repocard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/repocard.png -------------------------------------------------------------------------------- /images/repocard.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfriese/SwiftUI-Building-Components/c5b1a8e7c6dff43caabd5f6b499ca5fcf8009031/images/repocard.psd --------------------------------------------------------------------------------