├── LICENSE ├── README.md ├── UnsplashPhotosApp.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcuserdata │ └── ahmed.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist └── UnsplashPhotosApp ├── Assets.xcassets ├── AccentColor.colorset │ └── Contents.json ├── AppIcon.appiconset │ └── Contents.json ├── Background.colorset │ └── Contents.json ├── Contents.json └── Search.imageset │ ├── Contents.json │ └── search.png ├── Preview Content └── Preview Assets.xcassets │ └── Contents.json ├── Source ├── Models │ ├── DownloadPhoto.swift │ ├── Photo.swift │ ├── QueryPhoto.swift │ ├── Topic.swift │ └── Urls.swift ├── Services │ └── APIService.swift ├── Utility │ ├── ApiKeys.swift │ ├── Extensions.swift │ └── ImageSaver.swift ├── ViewModels │ ├── DownloadPhotoViewModel.swift │ ├── PhotoViewModel.swift │ ├── SearchPhotoViewModel.swift │ └── TopicViewModel.swift └── Views │ ├── HelperViews │ ├── ErrorView.swift │ ├── LoadingView.swift │ ├── PhotoTile.swift │ └── StaggeredPhotosView.swift │ ├── HomeView.swift │ ├── PhotoView │ └── PhotoView.swift │ ├── RecentPhotosView │ ├── RecentPhotosView.swift │ └── TopicRow.swift │ └── SearchPhotosView │ └── SearchPhotosView.swift └── UnsplashPhotosAppApp.swift /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/README.md -------------------------------------------------------------------------------- /UnsplashPhotosApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /UnsplashPhotosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /UnsplashPhotosApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /UnsplashPhotosApp.xcodeproj/xcuserdata/ahmed.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp.xcodeproj/xcuserdata/ahmed.xcuserdatad/xcschemes/xcschememanagement.plist -------------------------------------------------------------------------------- /UnsplashPhotosApp/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /UnsplashPhotosApp/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /UnsplashPhotosApp/Assets.xcassets/Background.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Assets.xcassets/Background.colorset/Contents.json -------------------------------------------------------------------------------- /UnsplashPhotosApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /UnsplashPhotosApp/Assets.xcassets/Search.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Assets.xcassets/Search.imageset/Contents.json -------------------------------------------------------------------------------- /UnsplashPhotosApp/Assets.xcassets/Search.imageset/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Assets.xcassets/Search.imageset/search.png -------------------------------------------------------------------------------- /UnsplashPhotosApp/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Models/DownloadPhoto.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Models/DownloadPhoto.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Models/Photo.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Models/Photo.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Models/QueryPhoto.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Models/QueryPhoto.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Models/Topic.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Models/Topic.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Models/Urls.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Models/Urls.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Services/APIService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Services/APIService.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Utility/ApiKeys.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Utility/ApiKeys.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Utility/Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Utility/Extensions.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Utility/ImageSaver.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Utility/ImageSaver.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/ViewModels/DownloadPhotoViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/ViewModels/DownloadPhotoViewModel.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/ViewModels/PhotoViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/ViewModels/PhotoViewModel.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/ViewModels/SearchPhotoViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/ViewModels/SearchPhotoViewModel.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/ViewModels/TopicViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/ViewModels/TopicViewModel.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/HelperViews/ErrorView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/HelperViews/ErrorView.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/HelperViews/LoadingView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/HelperViews/LoadingView.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/HelperViews/PhotoTile.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/HelperViews/PhotoTile.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/HelperViews/StaggeredPhotosView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/HelperViews/StaggeredPhotosView.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/HomeView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/HomeView.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/PhotoView/PhotoView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/PhotoView/PhotoView.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/RecentPhotosView/RecentPhotosView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/RecentPhotosView/RecentPhotosView.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/RecentPhotosView/TopicRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/RecentPhotosView/TopicRow.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/Source/Views/SearchPhotosView/SearchPhotosView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/Source/Views/SearchPhotosView/SearchPhotosView.swift -------------------------------------------------------------------------------- /UnsplashPhotosApp/UnsplashPhotosAppApp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watery-desert/UnsplashPhotosApp/HEAD/UnsplashPhotosApp/UnsplashPhotosAppApp.swift --------------------------------------------------------------------------------