diff --git a/APIService/Package.swift b/APIService/Package.swift index 2ab7d4d..cbe9406 100644 --- a/APIService/Package.swift +++ b/APIService/Package.swift @@ -1,5 +1,4 @@ // swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -18,12 +17,14 @@ let package = Package( ], dependencies: [ .package(path: "../Core"), + .package(path: "../Entity"), ], targets: [ .target( name: "HomeAPI", dependencies: [ .product(name: "Network", package: "Core"), + .product(name: "Entity", package: "Entity"), ] ), .target( @@ -31,7 +32,7 @@ let package = Package( dependencies: [ "HomeAPI", ], - resources: [.process("HomeProductResponse.json")] + resources: [.process("Mocks")] ), ] ) diff --git a/APIService/Sources/HomeAPI/HomeEndPoint.swift b/APIService/Sources/HomeAPI/HomeEndPoint.swift index df67721..e22e0b7 100644 --- a/APIService/Sources/HomeAPI/HomeEndPoint.swift +++ b/APIService/Sources/HomeAPI/HomeEndPoint.swift @@ -8,12 +8,39 @@ import Foundation import Network -struct HomeEndPoint: EndPoint { - var method: HTTPMethod +// MARK: - HomeEndPoint - var path: String +public enum HomeEndPoint { + case fetchProducts(ProductRequest) + case fetchCount(ProductCountRequest) +} + +// MARK: EndPoint + +extension HomeEndPoint: EndPoint { + public var method: HTTPMethod { + .get + } + + public var path: String { + switch self { + case .fetchProducts: + "/v2/products" + case .fetchCount: + "/v2/products/count" + } + } - var parameters: Network.HTTPParameter + public var parameters: HTTPParameter { + switch self { + case let .fetchProducts(requestModel): + .query(requestModel) + case let .fetchCount(requestModel): + .query(requestModel) + } + } - var headers: [String: String] + public var headers: [String: String] { + ["Content-Type": "application/json"] + } } diff --git a/APIService/Sources/HomeAPI/HomeService.swift b/APIService/Sources/HomeAPI/HomeService.swift new file mode 100644 index 0000000..bf0b025 --- /dev/null +++ b/APIService/Sources/HomeAPI/HomeService.swift @@ -0,0 +1,54 @@ +// +// HomeService.swift +// +// +// Created by 홍승현 on 1/31/24. +// + +import Entity +import Foundation +import Network + +// MARK: - HomeServiceRepresentable + +public protocol HomeServiceRepresentable { + func fetchProductList(request: ProductRequest) async throws -> [Product] + func fetchProductCount(request: ProductCountRequest) async throws -> Int +} + +// MARK: - HomeService + +public struct HomeService { + private let network: Networking + + public init(network: Networking) { + self.network = network + } +} + +// MARK: HomeServiceRepresentable + +extension HomeService: HomeServiceRepresentable { + public func fetchProductList(request: ProductRequest) async throws -> [Product] { + let products: [ProductResponse] = try await network.request(with: HomeEndPoint.fetchProducts(request)) + return products.map(Product.init) + } + + public func fetchProductCount(request: ProductCountRequest) async throws -> Int { + let countResponse: ProductCountResponse = try await network.request(with: HomeEndPoint.fetchCount(request)) + return countResponse.count + } +} + +private extension Product { + init(dto: ProductResponse) { + self.init( + id: dto.id, + imageURL: dto.imageURL, + price: dto.price, + name: dto.name, + promotion: dto.promotion, + convenienceStore: dto.convenienceStore + ) + } +} diff --git a/APIService/Sources/HomeAPI/Requests/ProductCountRequest.swift b/APIService/Sources/HomeAPI/Requests/ProductCountRequest.swift new file mode 100644 index 0000000..ac3af6f --- /dev/null +++ b/APIService/Sources/HomeAPI/Requests/ProductCountRequest.swift @@ -0,0 +1,17 @@ +// +// ProductCountRequest.swift +// +// +// Created by 홍승현 on 2/2/24. +// + +import Entity +import Foundation + +public struct ProductCountRequest: Encodable { + public let convenienceStore: ConvenienceStore + + public init(convenienceStore: ConvenienceStore) { + self.convenienceStore = convenienceStore + } +} diff --git a/APIService/Sources/HomeAPI/Requests/ProductRequest.swift b/APIService/Sources/HomeAPI/Requests/ProductRequest.swift new file mode 100644 index 0000000..a1c26cd --- /dev/null +++ b/APIService/Sources/HomeAPI/Requests/ProductRequest.swift @@ -0,0 +1,25 @@ +// +// ProductRequest.swift +// +// +// Created by 홍승현 on 1/31/24. +// + +import Entity +import Foundation + +public struct ProductRequest: Encodable { + public let store: ConvenienceStore + public let promotion: Promotion + public let order: Order + public let pageSize: Int + public let offset: Int + + public init(store: ConvenienceStore, promotion: Promotion, order: Order, pageSize: Int, offset: Int) { + self.store = store + self.promotion = promotion + self.order = order + self.pageSize = pageSize + self.offset = offset + } +} diff --git a/APIService/Sources/HomeAPI/Responses/ProductCountResponse.swift b/APIService/Sources/HomeAPI/Responses/ProductCountResponse.swift new file mode 100644 index 0000000..07bdf66 --- /dev/null +++ b/APIService/Sources/HomeAPI/Responses/ProductCountResponse.swift @@ -0,0 +1,12 @@ +// +// ProductCountResponse.swift +// +// +// Created by 홍승현 on 2/2/24. +// + +import Foundation + +struct ProductCountResponse: Decodable { + let count: Int +} diff --git a/APIService/Sources/HomeAPI/Responses/ProductResponse.swift b/APIService/Sources/HomeAPI/Responses/ProductResponse.swift new file mode 100644 index 0000000..1000295 --- /dev/null +++ b/APIService/Sources/HomeAPI/Responses/ProductResponse.swift @@ -0,0 +1,27 @@ +// +// ProductResponse.swift +// +// +// Created by 홍승현 on 1/31/24. +// + +import Entity +import Foundation + +struct ProductResponse: Decodable { + let id: Int + let imageURL: URL + let price: Int + let name: String + let promotion: Promotion + let convenienceStore: ConvenienceStore + + enum CodingKeys: String, CodingKey { + case id + case imageURL = "image_url" + case price + case name + case promotion + case convenienceStore + } +} diff --git a/APIService/Sources/HomeAPISupport/HomeProductResponse.json b/APIService/Sources/HomeAPISupport/HomeProductResponse.json deleted file mode 100644 index b810575..0000000 --- a/APIService/Sources/HomeAPISupport/HomeProductResponse.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "count": 10, - "products": [ - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8809288634967_001.jpg", - "price": 2500, - "name": "BR)레인보우샤베트과즙워터500ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8809288635315_003.jpg", - "price": 2500, - "name": "BR)망고탱고과즙워터500ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8809288634974_001.jpg", - "price": 2500, - "name": "BR)피치요거트과즙워터500ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8806002010861_865.jpg", - "price": 5000, - "name": "광동)헛개파워100ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8806011416005_001.JPG", - "price": 5000, - "name": "동아)모닝케어D100ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8806011415992_001.JPG", - "price": 5000, - "name": "동아)모닝케어H100ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8809556566891_001.jpg", - "price": 5000, - "name": "서영)모닝이즈백100ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8809125061857_002.jpg", - "price": 5000, - "name": "종근당)헛개땡큐골드100ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8809329050015_018.jpg", - "price": 5000, - "name": "천지개벽)숙취해소음료100ML", - "tag": "1+1", - "store": "GS25" - }, - { - "date": "2024:01", - "img": "https://image.woodongs.com/imgsvr/item/GD_8801013777260_001.jpg", - "price": 5000, - "name": "큐원)상쾌환부스터100ML", - "tag": "1+1", - "store": "GS25" - } - ] -} diff --git a/APIService/Sources/HomeAPISupport/HomeURLProtocol.swift b/APIService/Sources/HomeAPISupport/HomeURLProtocol.swift index 558055d..46005c5 100644 --- a/APIService/Sources/HomeAPISupport/HomeURLProtocol.swift +++ b/APIService/Sources/HomeAPISupport/HomeURLProtocol.swift @@ -6,10 +6,18 @@ // import Foundation +import HomeAPI import Network public final class HomeURLProtocol: URLProtocol { - private let fileName = "HomeProductResponse" + private lazy var mockData: [String: Data?] = [ + HomeEndPoint.fetchProducts( + .init(store: .gs25, promotion: .allItems, order: .normal, pageSize: 0, offset: 0) + ).path: loadMockData(fileName: "HomeProductResponse"), + HomeEndPoint.fetchCount( + .init(convenienceStore: .gs25) + ).path: loadMockData(fileName: "HomeProductCountResponse"), + ] override public class func canInit(with _: URLRequest) -> Bool { true @@ -21,8 +29,9 @@ public final class HomeURLProtocol: URLProtocol { override public func startLoading() { defer { client?.urlProtocolDidFinishLoading(self) } - if let data = loadMockData(fileName: fileName), - let url = request.url, + if let url = request.url, + let mockData = mockData[url.path(percentEncoded: true)], + let data = mockData, let response = HTTPURLResponse(url: url, statusCode: 200, httpVersion: nil, headerFields: nil) { client?.urlProtocol(self, didReceive: response, cacheStoragePolicy: .notAllowed) client?.urlProtocol(self, didLoad: data) diff --git a/APIService/Sources/HomeAPISupport/Mocks/HomeProductCountResponse.json b/APIService/Sources/HomeAPISupport/Mocks/HomeProductCountResponse.json new file mode 100644 index 0000000..93406bd --- /dev/null +++ b/APIService/Sources/HomeAPISupport/Mocks/HomeProductCountResponse.json @@ -0,0 +1,3 @@ +{ + "count": 24 +} diff --git a/APIService/Sources/HomeAPISupport/Mocks/HomeProductResponse.json b/APIService/Sources/HomeAPISupport/Mocks/HomeProductResponse.json new file mode 100644 index 0000000..d3c08ed --- /dev/null +++ b/APIService/Sources/HomeAPISupport/Mocks/HomeProductResponse.json @@ -0,0 +1,92 @@ +[ + { + "id": 1, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8809288634967_001.jpg", + "price": 2500, + "name": "BR)레인보우샤베트과즙워터500ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 2, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8809288635315_003.jpg", + "price": 2500, + "name": "BR)망고탱고과즙워터500ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 3, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8809288634974_001.jpg", + "price": 2500, + "name": "BR)피치요거트과즙워터500ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 4, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8806002010861_865.jpg", + "price": 5000, + "name": "광동)헛개파워100ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 5, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8806011416005_001.JPG", + "price": 5000, + "name": "동아)모닝케어D100ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 6, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8806011415992_001.JPG", + "price": 5000, + "name": "동아)모닝케어H100ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 7, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8809556566891_001.jpg", + "price": 5000, + "name": "서영)모닝이즈백100ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 8, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8809125061857_002.jpg", + "price": 5000, + "name": "종근당)헛개땡큐골드100ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 9, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8809329050015_018.jpg", + "price": 5000, + "name": "천지개벽)숙취해소음료100ML", + "promotion": "1+1", + "convenienceStore": "GS25" + }, + { + "id": 10, + "date": "2024:01", + "image_url": "https://image.woodongs.com/imgsvr/item/GD_8801013777260_001.jpg", + "price": 5000, + "name": "큐원)상쾌환부스터100ML", + "promotion": "1+1", + "convenienceStore": "GS25" + } +] diff --git a/Core/Sources/Network/NetworkProvider.swift b/Core/Sources/Network/NetworkProvider.swift index 1b2dcac..c56db78 100644 --- a/Core/Sources/Network/NetworkProvider.swift +++ b/Core/Sources/Network/NetworkProvider.swift @@ -5,7 +5,6 @@ // Created by 홍승현 on 1/25/24. // -import Combine import Foundation // MARK: - NetworkProvider diff --git a/Entity/.gitignore b/Entity/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/Entity/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/Entity/Package.swift b/Entity/Package.swift new file mode 100644 index 0000000..720079c --- /dev/null +++ b/Entity/Package.swift @@ -0,0 +1,18 @@ +// swift-tools-version: 5.9 + +import PackageDescription + +let package = Package( + name: "Entity", + products: [ + .library( + name: "Entity", + targets: ["Entity"] + ), + ], + targets: [ + .target( + name: "Entity" + ), + ] +) diff --git a/Entity/Sources/Entity/ConvenienceStore.swift b/Entity/Sources/Entity/ConvenienceStore.swift new file mode 100644 index 0000000..dc34bdb --- /dev/null +++ b/Entity/Sources/Entity/ConvenienceStore.swift @@ -0,0 +1,16 @@ +// +// ConvenienceStore.swift +// +// +// Created by 홍승현 on 1/31/24. +// + +import Foundation + +public enum ConvenienceStore: String, Codable { + case cu = "CU" + case gs25 = "GS25" + case _7Eleven = "7-Eleven" + case emart24 + case ministop = "MINISTOP" +} diff --git a/Entity/Sources/Entity/Order.swift b/Entity/Sources/Entity/Order.swift new file mode 100644 index 0000000..78815a6 --- /dev/null +++ b/Entity/Sources/Entity/Order.swift @@ -0,0 +1,14 @@ +// +// Order.swift +// +// +// Created by 홍승현 on 1/31/24. +// + +import Foundation + +public enum Order: String, Codable { + case normal + case ascending = "asc" + case descending = "desc" +} diff --git a/Entity/Sources/Entity/Product.swift b/Entity/Sources/Entity/Product.swift new file mode 100644 index 0000000..82f4471 --- /dev/null +++ b/Entity/Sources/Entity/Product.swift @@ -0,0 +1,45 @@ +// +// Product.swift +// +// +// Created by 홍승현 on 1/31/24. +// + +import Foundation + +/// 편의점 행사 제품에 대한 Entity Model입니다. +public struct Product: Identifiable { + /// 제품 고유 Identifier + public let id: Int + + /// 이미지 URL + public let imageURL: URL + + /// 제품 가격 + public let price: Int + + /// 제품명 + public let name: String + + /// 행사 정보 + public let promotion: Promotion + + /// 편의점 + public let convenienceStore: ConvenienceStore + + public init( + id: Int, + imageURL: URL, + price: Int, + name: String, + promotion: Promotion, + convenienceStore: ConvenienceStore + ) { + self.id = id + self.imageURL = imageURL + self.price = price + self.name = name + self.promotion = promotion + self.convenienceStore = convenienceStore + } +} diff --git a/Entity/Sources/Entity/Promotion.swift b/Entity/Sources/Entity/Promotion.swift new file mode 100644 index 0000000..4b24cb1 --- /dev/null +++ b/Entity/Sources/Entity/Promotion.swift @@ -0,0 +1,15 @@ +// +// Promotion.swift +// +// +// Created by 홍승현 on 1/31/24. +// + +import Foundation + +/// 행사 종류 +public enum Promotion: String, Codable { + case buyOneGetOneFree = "1+1" + case buyTwoGetOneFree = "2+1" + case allItems = "All" +} diff --git a/PyeonHaeng-iOS.xcodeproj/project.pbxproj b/PyeonHaeng-iOS.xcodeproj/project.pbxproj index 09ccf7c..067f931 100644 --- a/PyeonHaeng-iOS.xcodeproj/project.pbxproj +++ b/PyeonHaeng-iOS.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ BA0564092B6248EA003D6DC7 /* HomeAPI in Frameworks */ = {isa = PBXBuildFile; productRef = BA0564082B6248EA003D6DC7 /* HomeAPI */; }; BA05640B2B6248EA003D6DC7 /* HomeAPISupport in Frameworks */ = {isa = PBXBuildFile; productRef = BA05640A2B6248EA003D6DC7 /* HomeAPISupport */; }; BA05640D2B6248EA003D6DC7 /* Network in Frameworks */ = {isa = PBXBuildFile; productRef = BA05640C2B6248EA003D6DC7 /* Network */; }; + BA0623D82B68E51400A0A3B2 /* Log in Frameworks */ = {isa = PBXBuildFile; productRef = BA0623D72B68E51400A0A3B2 /* Log */; }; BA28F17C2B6155450052855E /* PyeonHaeng_iOSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA28F17B2B6155450052855E /* PyeonHaeng_iOSTests.swift */; }; BA28F1852B6155810052855E /* OnboardingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA28F1842B6155810052855E /* OnboardingView.swift */; }; BA28F1882B6155910052855E /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA28F1872B6155910052855E /* HomeView.swift */; }; @@ -22,7 +23,6 @@ BA28F1912B61566E0052855E /* ProductSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA28F1902B61566E0052855E /* ProductSearchView.swift */; }; BA28F19D2B61572A0052855E /* Pretendard-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F1932B61572A0052855E /* Pretendard-Bold.otf */; }; BA28F19E2B61572A0052855E /* Pretendard-SemiBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F1942B61572A0052855E /* Pretendard-SemiBold.otf */; }; - BA28F19F2B61572A0052855E /* EF_jejudoldam.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F1952B61572A0052855E /* EF_jejudoldam.otf */; }; BA28F1A02B61572A0052855E /* Pretendard-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F1962B61572A0052855E /* Pretendard-Regular.otf */; }; BA28F1A12B61572A0052855E /* Pretendard-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F1972B61572A0052855E /* Pretendard-Thin.otf */; }; BA28F1A22B61572A0052855E /* Pretendard-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F1982B61572A0052855E /* Pretendard-Medium.otf */; }; @@ -30,12 +30,23 @@ BA28F1A42B61572A0052855E /* Pretendard-ExtraBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F19A2B61572A0052855E /* Pretendard-ExtraBold.otf */; }; BA28F1A52B61572A0052855E /* Pretendard-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F19B2B61572A0052855E /* Pretendard-Light.otf */; }; BA28F1A62B61572A0052855E /* Pretendard-Black.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA28F19C2B61572A0052855E /* Pretendard-Black.otf */; }; + BA4EA3602B6A37E10003DCE7 /* Entity in Frameworks */ = {isa = PBXBuildFile; productRef = BA4EA35F2B6A37E10003DCE7 /* Entity */; }; BAA4D9AD2B5A1795005999F8 /* PyeonHaengApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA4D9AC2B5A1795005999F8 /* PyeonHaengApp.swift */; }; BAA4D9AF2B5A1795005999F8 /* SplashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA4D9AE2B5A1795005999F8 /* SplashView.swift */; }; BAA4D9B12B5A1796005999F8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BAA4D9B02B5A1796005999F8 /* Assets.xcassets */; }; BAA4D9B42B5A1796005999F8 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BAA4D9B32B5A1796005999F8 /* Preview Assets.xcassets */; }; BAB569612B639F3000D1E0F9 /* DesignSystem in Frameworks */ = {isa = PBXBuildFile; productRef = BAB569602B639F3000D1E0F9 /* DesignSystem */; }; + BAB5CF252B6B7C5A008B24BF /* AppRootComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB5CF242B6B7C5A008B24BF /* AppRootComponent.swift */; }; + BAB5CF272B6B7CF3008B24BF /* HomeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB5CF262B6B7CF3008B24BF /* HomeViewModel.swift */; }; + BAE159D82B65FA6F002DCF94 /* HomeProductDetailSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAE159D72B65FA6F002DCF94 /* HomeProductDetailSelectionView.swift */; }; + BAE159DA2B65FC35002DCF94 /* HomeProductListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAE159D92B65FC35002DCF94 /* HomeProductListView.swift */; }; + BAE159DE2B663A9A002DCF94 /* HomeProductSorterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAE159DD2B663A9A002DCF94 /* HomeProductSorterView.swift */; }; BAF2BEB32B61236100931AF0 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = BAF2BEB22B61236100931AF0 /* Localizable.xcstrings */; }; + E50176262B6A204F0098D1BE /* ProductInfoLineGraphView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E50176252B6A204F0098D1BE /* ProductInfoLineGraphView.swift */; }; + E5462C662B65677B00E9FDF2 /* PromotionTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5462C652B65677B00E9FDF2 /* PromotionTag.swift */; }; + E5F2EC402B637D4A00EE0838 /* ProductInfoHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5F2EC3F2B637D4A00EE0838 /* ProductInfoHeader.swift */; }; + E5F2EC432B648F5B00EE0838 /* Int+.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5F2EC422B648F5B00EE0838 /* Int+.swift */; }; + E5F2EC452B64926100EE0838 /* PromotionTagView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5F2EC442B64926100EE0838 /* PromotionTagView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -64,7 +75,6 @@ BA28F1902B61566E0052855E /* ProductSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductSearchView.swift; sourceTree = ""; }; BA28F1932B61572A0052855E /* Pretendard-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Bold.otf"; sourceTree = ""; }; BA28F1942B61572A0052855E /* Pretendard-SemiBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-SemiBold.otf"; sourceTree = ""; }; - BA28F1952B61572A0052855E /* EF_jejudoldam.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = EF_jejudoldam.otf; sourceTree = ""; }; BA28F1962B61572A0052855E /* Pretendard-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Regular.otf"; sourceTree = ""; }; BA28F1972B61572A0052855E /* Pretendard-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Thin.otf"; sourceTree = ""; }; BA28F1982B61572A0052855E /* Pretendard-Medium.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Medium.otf"; sourceTree = ""; }; @@ -73,13 +83,24 @@ BA28F19B2B61572A0052855E /* Pretendard-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Light.otf"; sourceTree = ""; }; BA28F19C2B61572A0052855E /* Pretendard-Black.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Pretendard-Black.otf"; sourceTree = ""; }; BA28F1A72B6157E90052855E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BA4EA35A2B6A00F70003DCE7 /* Entity */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Entity; sourceTree = ""; }; BAA4D9A92B5A1795005999F8 /* PyeonHaeng-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "PyeonHaeng-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; BAA4D9AC2B5A1795005999F8 /* PyeonHaengApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PyeonHaengApp.swift; sourceTree = ""; }; BAA4D9AE2B5A1795005999F8 /* SplashView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplashView.swift; sourceTree = ""; }; BAA4D9B02B5A1796005999F8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; BAA4D9B32B5A1796005999F8 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + BAB5CF242B6B7C5A008B24BF /* AppRootComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppRootComponent.swift; sourceTree = ""; }; + BAB5CF262B6B7CF3008B24BF /* HomeViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewModel.swift; sourceTree = ""; }; BABFEA6F2B6399C30084C0EC /* Shared */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Shared; sourceTree = ""; }; + BAE159D72B65FA6F002DCF94 /* HomeProductDetailSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeProductDetailSelectionView.swift; sourceTree = ""; }; + BAE159D92B65FC35002DCF94 /* HomeProductListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeProductListView.swift; sourceTree = ""; }; + BAE159DD2B663A9A002DCF94 /* HomeProductSorterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeProductSorterView.swift; sourceTree = ""; }; BAF2BEB22B61236100931AF0 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = ""; }; + E50176252B6A204F0098D1BE /* ProductInfoLineGraphView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductInfoLineGraphView.swift; sourceTree = ""; }; + E5462C652B65677B00E9FDF2 /* PromotionTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PromotionTag.swift; sourceTree = ""; }; + E5F2EC3F2B637D4A00EE0838 /* ProductInfoHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductInfoHeader.swift; sourceTree = ""; }; + E5F2EC422B648F5B00EE0838 /* Int+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+.swift"; sourceTree = ""; }; + E5F2EC442B64926100EE0838 /* PromotionTagView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PromotionTagView.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +116,9 @@ buildActionMask = 2147483647; files = ( BA05640D2B6248EA003D6DC7 /* Network in Frameworks */, + BA4EA3602B6A37E10003DCE7 /* Entity in Frameworks */, BA05640B2B6248EA003D6DC7 /* HomeAPISupport in Frameworks */, + BA0623D82B68E51400A0A3B2 /* Log in Frameworks */, BA0564092B6248EA003D6DC7 /* HomeAPI in Frameworks */, BAB569612B639F3000D1E0F9 /* DesignSystem in Frameworks */, ); @@ -134,7 +157,11 @@ BA28F1712B6152EE0052855E /* Sources */ = { isa = PBXGroup; children = ( + E5462C652B65677B00E9FDF2 /* PromotionTag.swift */, BAA4D9AC2B5A1795005999F8 /* PyeonHaengApp.swift */, + BAB5CF242B6B7C5A008B24BF /* AppRootComponent.swift */, + E5462C6B2B65CF7800E9FDF2 /* Components */, + E5F2EC412B648EE500EE0838 /* Extensions */, BA28F1722B61532C0052855E /* Scenes */, ); path = Sources; @@ -184,6 +211,10 @@ isa = PBXGroup; children = ( BA28F1872B6155910052855E /* HomeView.swift */, + BAB5CF262B6B7CF3008B24BF /* HomeViewModel.swift */, + BAE159D72B65FA6F002DCF94 /* HomeProductDetailSelectionView.swift */, + BAE159DD2B663A9A002DCF94 /* HomeProductSorterView.swift */, + BAE159D92B65FC35002DCF94 /* HomeProductListView.swift */, ); path = HomeScene; sourceTree = ""; @@ -192,6 +223,8 @@ isa = PBXGroup; children = ( BA28F18A2B6155BD0052855E /* ProductInfoView.swift */, + E5F2EC3F2B637D4A00EE0838 /* ProductInfoHeader.swift */, + E50176252B6A204F0098D1BE /* ProductInfoLineGraphView.swift */, ); path = ProductInfoScene; sourceTree = ""; @@ -215,7 +248,6 @@ BA28F1922B6157140052855E /* Fonts */ = { isa = PBXGroup; children = ( - BA28F1952B61572A0052855E /* EF_jejudoldam.otf */, BA28F19C2B61572A0052855E /* Pretendard-Black.otf */, BA28F1932B61572A0052855E /* Pretendard-Bold.otf */, BA28F19A2B61572A0052855E /* Pretendard-ExtraBold.otf */, @@ -232,6 +264,7 @@ BAA4D9A02B5A1795005999F8 = { isa = PBXGroup; children = ( + BA4EA35A2B6A00F70003DCE7 /* Entity */, BABFEA6F2B6399C30084C0EC /* Shared */, BA0564032B6219D4003D6DC7 /* APIService */, BA0564022B62179A003D6DC7 /* Core */, @@ -270,6 +303,22 @@ path = "Preview Content"; sourceTree = ""; }; + E5462C6B2B65CF7800E9FDF2 /* Components */ = { + isa = PBXGroup; + children = ( + E5F2EC442B64926100EE0838 /* PromotionTagView.swift */, + ); + path = Components; + sourceTree = ""; + }; + E5F2EC412B648EE500EE0838 /* Extensions */ = { + isa = PBXGroup; + children = ( + E5F2EC422B648F5B00EE0838 /* Int+.swift */, + ); + path = Extensions; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -311,6 +360,8 @@ BA05640A2B6248EA003D6DC7 /* HomeAPISupport */, BA05640C2B6248EA003D6DC7 /* Network */, BAB569602B639F3000D1E0F9 /* DesignSystem */, + BA0623D72B68E51400A0A3B2 /* Log */, + BA4EA35F2B6A37E10003DCE7 /* Entity */, ); productName = "PyeonHaeng-iOS"; productReference = BAA4D9A92B5A1795005999F8 /* PyeonHaeng-iOS.app */; @@ -375,7 +426,6 @@ BA28F1A12B61572A0052855E /* Pretendard-Thin.otf in Resources */, BA28F1A62B61572A0052855E /* Pretendard-Black.otf in Resources */, BA28F1A52B61572A0052855E /* Pretendard-Light.otf in Resources */, - BA28F19F2B61572A0052855E /* EF_jejudoldam.otf in Resources */, BA28F1A42B61572A0052855E /* Pretendard-ExtraBold.otf in Resources */, BA28F1A02B61572A0052855E /* Pretendard-Regular.otf in Resources */, BAA4D9B12B5A1796005999F8 /* Assets.xcassets in Resources */, @@ -441,14 +491,24 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + BAE159DA2B65FC35002DCF94 /* HomeProductListView.swift in Sources */, + E5F2EC402B637D4A00EE0838 /* ProductInfoHeader.swift in Sources */, BA28F1852B6155810052855E /* OnboardingView.swift in Sources */, + BAB5CF272B6B7CF3008B24BF /* HomeViewModel.swift in Sources */, BA28F1882B6155910052855E /* HomeView.swift in Sources */, + E5F2EC452B64926100EE0838 /* PromotionTagView.swift in Sources */, BA28F18B2B6155BD0052855E /* ProductInfoView.swift in Sources */, + E5F2EC432B648F5B00EE0838 /* Int+.swift in Sources */, + E5462C662B65677B00E9FDF2 /* PromotionTag.swift in Sources */, BA28F1912B61566E0052855E /* ProductSearchView.swift in Sources */, 9CE4B4732B6F0BA3002DC446 /* OnboardingViewModel.swift in Sources */, 9CE4B4752B6F78E8002DC446 /* OnboardingPageControl.swift in Sources */, BA28F18E2B6156420052855E /* SettingsView.swift in Sources */, 9CE4B4712B6F0B57002DC446 /* OnboardingPageType.swift in Sources */, + BAE159DE2B663A9A002DCF94 /* HomeProductSorterView.swift in Sources */, + BAE159D82B65FA6F002DCF94 /* HomeProductDetailSelectionView.swift in Sources */, + E50176262B6A204F0098D1BE /* ProductInfoLineGraphView.swift in Sources */, + BAB5CF252B6B7C5A008B24BF /* AppRootComponent.swift in Sources */, BAA4D9AF2B5A1795005999F8 /* SplashView.swift in Sources */, BAA4D9AD2B5A1795005999F8 /* PyeonHaengApp.swift in Sources */, ); @@ -735,6 +795,14 @@ isa = XCSwiftPackageProductDependency; productName = Network; }; + BA0623D72B68E51400A0A3B2 /* Log */ = { + isa = XCSwiftPackageProductDependency; + productName = Log; + }; + BA4EA35F2B6A37E10003DCE7 /* Entity */ = { + isa = XCSwiftPackageProductDependency; + productName = Entity; + }; BAB569602B639F3000D1E0F9 /* DesignSystem */ = { isa = XCSwiftPackageProductDependency; productName = DesignSystem; diff --git a/PyeonHaeng-iOS/Resources/Fonts/EF_jejudoldam.otf b/PyeonHaeng-iOS/Resources/Fonts/EF_jejudoldam.otf deleted file mode 100644 index 4c79cb7..0000000 Binary files a/PyeonHaeng-iOS/Resources/Fonts/EF_jejudoldam.otf and /dev/null differ diff --git a/PyeonHaeng-iOS/Resources/Localizable.xcstrings b/PyeonHaeng-iOS/Resources/Localizable.xcstrings index 9d18f22..04628d8 100644 --- a/PyeonHaeng-iOS/Resources/Localizable.xcstrings +++ b/PyeonHaeng-iOS/Resources/Localizable.xcstrings @@ -2,7 +2,399 @@ "sourceLanguage" : "en", "strings" : { "" : { - + "localizations" : { + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + } + } + }, + "%@원" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@₩" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@₩" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@원" + } + } + } + }, + "개당" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Per Unit" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "個あたり" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "개당" + } + } + } + }, + "개당 가격" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Price Per Item" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "単価" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "개당 가격" + } + } + } + }, + "검색" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "検索" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "검색" + } + } + } + }, + "기존 가격" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Original Price" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "元の価格" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "기존 가격" + } + } + } + }, + "더블 탭하여 설정에 관한 기능을 확인하세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double tap to access settings features" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダブルタップして設定機能を確認してください" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "더블 탭하여 설정에 관한 기능을 확인하세요" + } + } + } + }, + "더블 탭하여 정렬 기준을 바꿔보세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double tap to change the sorting criteria" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダブルタップして並び替え基準を変更してください" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "더블 탭하여 정렬 기준을 바꿔보세요" + } + } + } + }, + "더블 탭하여 제품을 검색하세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double tap to search for products" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダブルタップして商品を検索してください" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "더블 탭하여 제품을 검색하세요" + } + } + } + }, + "더블 탭하여 편의점을 선택하세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double tap to select a convenience store" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダブルタップしてコンビニを選択してください" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "더블 탭하여 편의점을 선택하세요" + } + } + } + }, + "더블 탭하여 할인 조건을 선택하세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double tap to select a discount condition" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダブルタップして割引条件を選択してください" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "더블 탭하여 할인 조건을 선택하세요" + } + } + } + }, + "설정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Settings" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "설정" + } + } + } + }, + "이전 행사 정보" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previous Promotions" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "過去のプロモーション" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "이전 행사 정보" + } + } + } + }, + "정렬" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sort" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "並び替え" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "정렬" + } + } + } + }, + "제품 상세" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Product Details" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "製品詳細" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "제품 상세" + } + } + } + }, + "총 %lld개의 상품이 있어요!" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "There is a total of %lld product!" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "There are a total of %lld product!" + } + } + } + } + }, + "ja" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "合計%lld個の商品があります!" + } + } + } + } + }, + "ko" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "총 %lld개의 상품이 있어요!" + } + } + } + } + } + } + }, + "행사 진행 편의점" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Convenience Store with Promotion" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "イベント進行コンビニ" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "행사 진행 편의점" + } + } + } } }, "version" : "1.0" diff --git a/PyeonHaeng-iOS/Sources/AppRootComponent.swift b/PyeonHaeng-iOS/Sources/AppRootComponent.swift new file mode 100644 index 0000000..fa5772c --- /dev/null +++ b/PyeonHaeng-iOS/Sources/AppRootComponent.swift @@ -0,0 +1,34 @@ +// +// AppRootComponent.swift +// PyeonHaeng-iOS +// +// Created by 홍승현 on 2/1/24. +// + +import Foundation +import HomeAPI +import HomeAPISupport +import Network + +// MARK: - HomeDependency + +protocol HomeDependency { + var homeService: HomeServiceRepresentable { get } +} + +// MARK: - AppRootComponent + +struct AppRootComponent: HomeDependency { + let homeService: HomeServiceRepresentable + + init() { + let homeNetworking: Networking = { + let configuration = URLSessionConfiguration.ephemeral + configuration.protocolClasses = [HomeURLProtocol.self] + let provider = NetworkProvider(session: URLSession(configuration: configuration)) + return provider + }() + + homeService = HomeService(network: homeNetworking) + } +} diff --git a/PyeonHaeng-iOS/Sources/Components/PromotionTagView.swift b/PyeonHaeng-iOS/Sources/Components/PromotionTagView.swift new file mode 100644 index 0000000..f67ce27 --- /dev/null +++ b/PyeonHaeng-iOS/Sources/Components/PromotionTagView.swift @@ -0,0 +1,47 @@ +// +// PromotionTagView.swift +// PyeonHaeng-iOS +// +// Created by 김응철 on 2024/1/27. +// + +import DesignSystem +import SwiftUI + +// MARK: - PromotionTagView + +struct PromotionTagView: View { + var promotionTag: PromotionTag + + var body: some View { + Text(promotionTag.description) + .font(.b3) + .padding(.horizontal, 8.0) + .frame(maxHeight: 18.0) + .foregroundStyle(color) + .background(backgroundColor) + .clipShape(.rect(cornerRadius: 6)) + } +} + +private extension PromotionTagView { + var color: Color { + switch promotionTag { + case .onePlus: .systemRed500 + case .twoPlus: .systemBlue500 + case .none: .gray500 + } + } + + var backgroundColor: Color { + switch promotionTag { + case .onePlus: .systemRed050 + case .twoPlus: .systemBlue050 + case .none: .gray050 + } + } +} + +#Preview(traits: .sizeThatFitsLayout) { + PromotionTagView(promotionTag: .none) +} diff --git a/PyeonHaeng-iOS/Sources/Extensions/Int+.swift b/PyeonHaeng-iOS/Sources/Extensions/Int+.swift new file mode 100644 index 0000000..0ce95fb --- /dev/null +++ b/PyeonHaeng-iOS/Sources/Extensions/Int+.swift @@ -0,0 +1,20 @@ +// +// Int+.swift +// PyeonHaeng-iOS +// +// Created by 김응철 on 2024/1/27. +// + +import Foundation + +extension Int { + func toStringWithComma() -> String { + let numberFormmater = NumberFormatter() + numberFormmater.numberStyle = .decimal + if let numberToString = numberFormmater.string(from: NSNumber(value: self)) { + return numberToString + } else { + return "\(self)" + } + } +} diff --git a/PyeonHaeng-iOS/Sources/PromotionTag.swift b/PyeonHaeng-iOS/Sources/PromotionTag.swift new file mode 100644 index 0000000..1e1d7c0 --- /dev/null +++ b/PyeonHaeng-iOS/Sources/PromotionTag.swift @@ -0,0 +1,22 @@ +// +// PromotionTag.swift +// PyeonHaeng-iOS +// +// Created by 김응철 on 2024/1/28. +// + +import SwiftUI + +enum PromotionTag: CustomStringConvertible { + case onePlus + case twoPlus + case none + + var description: String { + switch self { + case .onePlus: "1+1" + case .twoPlus: "2+1" + case .none: "행사없음" + } + } +} diff --git a/PyeonHaeng-iOS/Sources/PyeonHaengApp.swift b/PyeonHaeng-iOS/Sources/PyeonHaengApp.swift index 9982f4f..4eaf7ad 100644 --- a/PyeonHaeng-iOS/Sources/PyeonHaengApp.swift +++ b/PyeonHaeng-iOS/Sources/PyeonHaengApp.swift @@ -10,13 +10,15 @@ import SwiftUI @main struct PyeonHaengApp: App { + private let appComponent = AppRootComponent() + init() { - Fonts.registerFonts() // 앱을 실행하기 전에 폰트를 로드합니다. + FontRegistrar.registerFonts() // 앱을 실행하기 전에 폰트를 로드합니다. } var body: some Scene { WindowGroup { - SplashView() + SplashView(dependency: appComponent) } } } diff --git a/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductDetailSelectionView.swift b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductDetailSelectionView.swift new file mode 100644 index 0000000..7fd2301 --- /dev/null +++ b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductDetailSelectionView.swift @@ -0,0 +1,78 @@ +// +// HomeProductDetailSelectionView.swift +// PyeonHaeng-iOS +// +// Created by 홍승현 on 1/28/24. +// + +import DesignSystem +import SwiftUI + +// MARK: - HomeProductDetailSelectionView + +struct HomeProductDetailSelectionView: View { + var body: some View { + HStack { + Button {} label: { + Group { + Image.gs25 + .resizable() + .scaledToFit() + Image.chevronDown + .renderingMode(.template) + .foregroundStyle(.gray300) + .accessibilityHidden(true) + } + } + .accessibilityHint("더블 탭하여 편의점을 선택하세요") + + Spacer() + + Button {} label: { + HStack(spacing: Metrics.buttonSpacing) { + Text(verbatim: "All") + .font(.title2) + Image.arrowTriangleDownFill + .renderingMode(.template) + } + .frame(height: Metrics.textHeight) + .foregroundStyle(.gray400) + .padding( + .init( + top: Metrics.promotionButtonPaddingTop, + leading: Metrics.promotionButtonPaddingLeading, + bottom: Metrics.promotionButtonPaddingBottom, + trailing: Metrics.promotionButtonPaddingTrailing + ) + ) + } + .accessibilityHint("더블 탭하여 할인 조건을 선택하세요") + .overlay { + RoundedRectangle(cornerRadius: Metrics.promotionButtonCornerRadius) + .stroke() + .foregroundStyle(.gray400) + } + } + .frame(height: Metrics.height) + } +} + +// MARK: HomeProductDetailSelectionView.Metrics + +private extension HomeProductDetailSelectionView { + enum Metrics { + static let buttonSpacing: CGFloat = 2 + static let textHeight: CGFloat = 24 + static let horizontal: CGFloat = 20 + static let iconWidth: CGFloat = 8 + static let iconHeight: CGFloat = 4 + + static let promotionButtonPaddingTop: CGFloat = 4 + static let promotionButtonPaddingLeading: CGFloat = 16 + static let promotionButtonPaddingBottom: CGFloat = 4 + static let promotionButtonPaddingTrailing: CGFloat = 10 + static let promotionButtonCornerRadius: CGFloat = 16 + + static let height: CGFloat = 56 + } +} diff --git a/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductListView.swift b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductListView.swift new file mode 100644 index 0000000..ae2e04f --- /dev/null +++ b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductListView.swift @@ -0,0 +1,124 @@ +// +// HomeProductListView.swift +// PyeonHaeng-iOS +// +// Created by 홍승현 on 1/28/24. +// + +import DesignSystem +import Entity +import SwiftUI + +// MARK: - HomeProductListView + +struct HomeProductListView: View { + @EnvironmentObject var viewModel: HomeViewModel + + var body: some View { + List(viewModel.products) { item in + ProductRow(product: item) + .listRowInsets(.init()) + } + .onAppear { + Task { + try await viewModel.fetchProducts() + } + } + .listStyle(.plain) + .scrollIndicators(.hidden) + } +} + +// MARK: - ProductRow + +struct ProductRow: View { + private let product: Product + + init(product: Product) { + self.product = product + } + + var body: some View { + HStack(spacing: 16) { + ProductImageView(product: product) + ProductDetailsView(product: product) + } + .padding(.vertical, 16) + .alignmentGuide(.listRowSeparatorLeading) { _ in + 0 + } + } +} + +// MARK: - ProductImageView + +private struct ProductImageView: View { + private let product: Product + + init(product: Product) { + self.product = product + } + + var body: some View { + AsyncImage(url: product.imageURL) { image in + image + .resizable() + .scaledToFit() + .frame(width: 70, height: 70) + .padding(.all, 13) + } placeholder: { + ProgressView() + } + } +} + +// MARK: - ProductDetailsView + +private struct ProductDetailsView: View { + private let product: Product + + init(product: Product) { + self.product = product + } + + var body: some View { + VStack(alignment: .leading, spacing: 16) { + VStack(alignment: .leading, spacing: 4) { + PromotionTagView(promotionTag: .onePlus) + Text(verbatim: product.name) + .font(.title1) + } + PriceView(product: product) + } + } +} + +// MARK: - PriceView + +private struct PriceView: View { + private let product: Product + + init(product: Product) { + self.product = product + } + + var body: some View { + HStack(spacing: 10) { + Spacer() + Text("\(product.price.formatted())원") + .font(.x2) + .strikethrough() + .foregroundColor(.gray100) + .accessibilityLabel("기존 가격") + HStack(spacing: 4) { + Text("개당") + .font(.c3) + .accessibilityHidden(true) + Text("\(Int(product.price / 2).formatted())원") + .font(.h4) + .accessibilityLabel("개당 가격") + } + .foregroundStyle(.gray900) + } + } +} diff --git a/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductSorterView.swift b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductSorterView.swift new file mode 100644 index 0000000..5fa8d4c --- /dev/null +++ b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeProductSorterView.swift @@ -0,0 +1,45 @@ +// +// HomeProductSorterView.swift +// PyeonHaeng-iOS +// +// Created by 홍승현 on 1/28/24. +// + +import DesignSystem +import SwiftUI + +struct HomeProductSorterView: View { + @EnvironmentObject private var viewModel: HomeViewModel + @State private var count: Int = 0 + + var body: some View { + HStack { + Text(productCountString) + .font(.title2) + Spacer() + Button {} label: { + Image.arrowDownArrowUp + .renderingMode(.template) + .foregroundStyle(.gray200) + } + .accessibilityLabel("정렬") + .accessibilityHint("더블 탭하여 정렬 기준을 바꿔보세요") + } + .padding(.all, 8) + .onAppear { + Task { + count = try await viewModel.fetchProductCounts() + } + } + } + + var productCountString: AttributedString { + var string = AttributedString(localized: "총 \(count)개의 상품이 있어요!") + + if let range = string.range(of: "\(count)") { + string[range].foregroundColor = .green500 + } + + return string + } +} diff --git a/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeView.swift b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeView.swift index 5ea20ba..37c493b 100644 --- a/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeView.swift +++ b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeView.swift @@ -5,14 +5,55 @@ // Created by 홍승현 on 1/24/24. // +import DesignSystem import SwiftUI +// MARK: - HomeView + struct HomeView: View { var body: some View { - Text("") + NavigationStack { + VStack { + HomeProductDetailSelectionView() + HomeProductSorterView() + HomeProductListView() + } + .padding(.horizontal, Metrics.horizontal) + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .topBarLeading) { + HStack { + Image.store + } + } + + ToolbarItemGroup(placement: .topBarTrailing) { + NavigationLink { + ProductSearchView() + .toolbarRole(.editor) + } label: { + Image.magnifyingglass + } + .accessibilityLabel("검색") + .accessibilityHint("더블 탭하여 제품을 검색하세요") + NavigationLink { + SettingsView() + .toolbarRole(.editor) + } label: { + Image.gearshape + } + .accessibilityLabel("설정") + .accessibilityHint("더블 탭하여 설정에 관한 기능을 확인하세요") + } + } + } } } -#Preview { - HomeView() +// MARK: HomeView.Metrics + +private extension HomeView { + enum Metrics { + static let horizontal: CGFloat = 20 + } } diff --git a/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeViewModel.swift b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeViewModel.swift new file mode 100644 index 0000000..68d8fa1 --- /dev/null +++ b/PyeonHaeng-iOS/Sources/Scenes/HomeScene/HomeViewModel.swift @@ -0,0 +1,39 @@ +// +// HomeViewModel.swift +// PyeonHaeng-iOS +// +// Created by 홍승현 on 2/1/24. +// + +import Entity +import Foundation +import HomeAPI + +// MARK: - HomeViewModel + +@MainActor +final class HomeViewModel: ObservableObject { + @Published var products: [Product] = [] + private let service: HomeServiceRepresentable + + init(service: HomeServiceRepresentable) { + self.service = service + } + + func fetchProducts() async throws { + // TODO: View와 연결할 때 수정해야합니다. + let request: ProductRequest = .init( + store: .gs25, + promotion: .buyOneGetOneFree, + order: .normal, + pageSize: 20, + offset: 0 + ) + try await products.append(contentsOf: service.fetchProductList(request: request)) + } + + func fetchProductCounts() async throws -> Int { + // TODO: 편의점 선택 뷰를 구성할 때 수정해야합니다. + try await service.fetchProductCount(request: .init(convenienceStore: .gs25)) + } +} diff --git a/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoHeader.swift b/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoHeader.swift new file mode 100644 index 0000000..3a64b0d --- /dev/null +++ b/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoHeader.swift @@ -0,0 +1,64 @@ +// +// ProductInfoHeader.swift +// PyeonHaeng-iOS +// +// Created by 김응철 on 2024/1/26. +// + +import DesignSystem +import SwiftUI + +struct ProductInfoHeader: View { + /// 임시 데이터입니다. + enum MockProduct { + static let imageURL: String = "https://image.woodongs.com/imgsvr/item/GD_8809288635315_003.jpg" + static let name: String = "BR)레인보우샤베트과즙워터500ML" + static let price: Int = 2500 + } + + var body: some View { + VStack(spacing: 8.0) { + AsyncImage(url: URL(string: MockProduct.imageURL)) { image in + image + .resizable() + .scaledToFit() + } placeholder: { + // TODO: 편행 기본 이미지 추가 + ProgressView() + } + .frame(maxWidth: .infinity, maxHeight: 257.0) + .padding(.top, 44.0) + .padding(.bottom, 40.0) + + Text(MockProduct.name) + .font(.h3) + .foregroundStyle(Color.gray900) + .frame(maxWidth: .infinity, alignment: .leading) + + HStack(alignment: .bottom) { + VStack(alignment: .leading, spacing: .zero) { + Text("행사 진행 편의점") + .font(.c2) + .padding(.top, 16.0) + Image.gs25 + .padding(.top, 2.0) + } + Spacer() + HStack(spacing: 8.0) { + PromotionTagView(promotionTag: .onePlus) + Text("개당") + .font(.c1) + Text(verbatim: "\(MockProduct.price.toStringWithComma())₩") + .font(.h2) + .frame(maxHeight: 38.0) + } + } + .foregroundStyle(Color.gray900) + } + .padding(.bottom, 16.0) + } +} + +#Preview(traits: .sizeThatFitsLayout) { + ProductInfoHeader() +} diff --git a/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoLineGraphView.swift b/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoLineGraphView.swift new file mode 100644 index 0000000..5fa3902 --- /dev/null +++ b/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoLineGraphView.swift @@ -0,0 +1,135 @@ +// +// ProductInfoLineGraphView.swift +// PyeonHaeng-iOS +// +// Created by 김응철 on 1/31/24. +// + +import DesignSystem +import SwiftUI + +// MARK: - ProductInfoLineGraphView + +struct ProductInfoLineGraphView: View { + // MARK: - Properties + + /// 임시데이터입니다. 이 데이터는 곧 편의점 상품 데이터로 교체됩니다. + @State var prices: [Int] + + @State private var offset: CGSize = .zero + @State private var isFirstRender: Bool = false + + // MARK: - View + + var body: some View { + GeometryReader { reader in + let size = reader.size + let interval = size.width / CGFloat(prices.count + 1) + let points = calculatePoints(interval: interval, width: size.width) + + ZStack { + Path { $0.addLines(points) } + .stroke(.green500, style: StrokeStyle(lineWidth: 2.0)) + + Path { path in + for point in points.dropFirst().dropLast() { + var point = point + point.x -= Metrics.symbolWidth / 2 + point.y -= Metrics.symbolWidth / 2 + path.addEllipse(in: CGRect( + origin: point, + size: CGSize(width: Metrics.symbolWidth, height: Metrics.symbolWidth) + )) + } + } + .fill(.green500) + .stroke(.white, lineWidth: 1.0) + + LinearGradient( + colors: [.green500.opacity(0.1), .clear], + startPoint: .top, + endPoint: .bottom + ) + .clipShape( + Path { path in + path.move(to: .zero) + path.addLines(points) + path.addLine(to: CGPoint(x: size.width, y: size.height)) + path.addLine(to: CGPoint(x: .zero, y: size.height)) + } + ) + } + .gesture(DragGesture().onChanged { value in + let index = max(min(Int((value.location.x / interval).rounded() - 1), prices.count - 1), 0) + offset = CGSize(width: points[index + 1].x - (Metrics.panelWidth / 2), height: 0) + }) + .overlay(alignment: .bottomLeading) { + VStack(spacing: 0) { + Text(verbatim: "2023.11") + .font(.c4) + .foregroundStyle(.gray400) + Text(verbatim: "1,250원") + .font(.b1) + .foregroundStyle(.gray900) + Rectangle() + .foregroundStyle(.gray100) + .frame(width: 1.0, height: Metrics.panelPoleHeight) + } + .frame(width: Metrics.panelWidth, height: Metrics.panelHeight) + .offset(offset) + } + .onAppear { + isFirstRender = true + } + .onChange(of: isFirstRender) { + guard isFirstRender else { return } + if let lastPoint = points.dropLast().last { + offset = CGSize(width: lastPoint.x - (Metrics.panelWidth / 2), height: 0) + } else { + // TODO: 이전 행사 내역이 하나도 없을 때, UI를 숨길 것인지, 아니면 다른 조치 방법이 있는지? + } + } + } + .frame(height: Metrics.frameHeight) + } +} + +// MARK: Helpers + +private extension ProductInfoLineGraphView { + func calculatePoints(interval: CGFloat, width: CGFloat) -> [CGPoint] { + var points = [CGPoint]() + points.append(CGPoint(x: .zero, y: Metrics.lineMaxHeightFromTop)) + + if let maxPrice = prices.max(), maxPrice != 0 { + for (index, price) in prices.enumerated() { + let heightFactor = 1 - (CGFloat(price) / CGFloat(maxPrice)) + let pathHeight = Metrics.lineMaxHeightFromTop + Metrics.lineMaxHeightFromBottom * heightFactor + let pathWidth = interval * CGFloat(index + 1) + points.append(CGPoint(x: pathWidth, y: pathHeight)) + } + } + + points.append(CGPoint(x: width, y: Metrics.lineMaxHeightFromTop)) + return points + } +} + +// MARK: ProductInfoLineGraphView.Metrics + +private extension ProductInfoLineGraphView { + enum Metrics { + static let lineMaxHeightFromTop: CGFloat = 87.0 + static let lineMaxHeightFromBottom: CGFloat = frameHeight - lineMaxHeightFromTop + static let symbolWidth: CGFloat = 4.0 + static let frameHeight: CGFloat = 162.0 + + static let panelWidth: CGFloat = 55.0 + static let panelHeight: CGFloat = 162.0 + static let panelPoleHeight: CGFloat = 122.0 + } +} + +#Preview(traits: .sizeThatFitsLayout) { + ProductInfoLineGraphView(prices: [1, 2]) +} diff --git a/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoView.swift b/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoView.swift index 6c7b88c..fcedec5 100644 --- a/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoView.swift +++ b/PyeonHaeng-iOS/Sources/Scenes/ProductInfoScene/ProductInfoView.swift @@ -5,11 +5,31 @@ // Created by 홍승현 on 1/24/24. // +import DesignSystem import SwiftUI +// MARK: - ProductInfoView + struct ProductInfoView: View { var body: some View { - Text("") + NavigationStack { + VStack { + ProductInfoHeader() + .navigationTitle("제품 상세") + .navigationBarTitleDisplayMode(.inline) + + Text("이전 행사 정보") + .font(.title1) + .foregroundStyle(.gray900) + .frame(maxWidth: .infinity, alignment: .leading) + .padding(.top, 8.0) + ProductInfoLineGraphView(prices: [1150, 1300, 1400, 1200]) + .padding(.top, 4.0) + + Spacer() + } + .padding(.horizontal, 20.0) + } } } diff --git a/PyeonHaeng-iOS/Sources/Scenes/SplashScene/SplashView.swift b/PyeonHaeng-iOS/Sources/Scenes/SplashScene/SplashView.swift index b05d48b..54ffab7 100644 --- a/PyeonHaeng-iOS/Sources/Scenes/SplashScene/SplashView.swift +++ b/PyeonHaeng-iOS/Sources/Scenes/SplashScene/SplashView.swift @@ -8,11 +8,30 @@ import SwiftUI struct SplashView: View { + @State private var showingSplash: Bool = true + private let dependency: HomeDependency + + init(dependency: HomeDependency) { + self.dependency = dependency + } + var body: some View { - Text("") + if showingSplash { + Text(verbatim: "SplashView") + .onAppear { + DispatchQueue.main.asyncAfter(deadline: .now() + 1) { + withAnimation { + showingSplash = false + } + } + } + } else { + HomeView() + .environmentObject(HomeViewModel(service: dependency.homeService)) + } } } #Preview { - SplashView() + SplashView(dependency: AppRootComponent()) } diff --git a/Shared/Package.swift b/Shared/Package.swift index 63c7121..11bc2bb 100644 --- a/Shared/Package.swift +++ b/Shared/Package.swift @@ -11,11 +11,16 @@ let package = Package( name: "DesignSystem", targets: ["DesignSystem"] ), + .library( + name: "Log", + targets: ["Log"] + ), ], targets: [ .target( name: "DesignSystem", resources: [.process("Resources")] ), + .target(name: "Log"), ] ) diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Blur.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Blur.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Blur.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Blur.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray050.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray050.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray050.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray050.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray100.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray100.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray100.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray100.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray200.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray200.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray200.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray200.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray300.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray300.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray300.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray300.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray400.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray400.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray400.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray400.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray500.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray500.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray500.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray500.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray600.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray600.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray600.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray600.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray700.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray700.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray700.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray700.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray800.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray800.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray800.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray800.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray900.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray900.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/gray900.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Gray Scale/gray900.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Gray/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green050.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green050.colorset/Contents.json similarity index 88% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green050.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green050.colorset/Contents.json index 84e8b21..dc0efed 100644 --- a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green050.colorset/Contents.json +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green050.colorset/Contents.json @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x32", - "green" : "0x69", - "red" : "0x3B" + "blue" : "0x26", + "green" : "0x4F", + "red" : "0x2C" } }, "idiom" : "universal" diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green100.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green100.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green100.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green100.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green200.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green200.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green200.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green200.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green300.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green300.colorset/Contents.json similarity index 88% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green300.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green300.colorset/Contents.json index 80cdfdd..3c88d95 100644 --- a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green300.colorset/Contents.json +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green300.colorset/Contents.json @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x53", - "green" : "0xAB", - "red" : "0x61" + "blue" : "0x50", + "green" : "0xA6", + "red" : "0x5E" } }, "idiom" : "universal" diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green400.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green400.colorset/Contents.json similarity index 88% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green400.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green400.colorset/Contents.json index 5ee7c6f..43a43de 100644 --- a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green400.colorset/Contents.json +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green400.colorset/Contents.json @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x5A", - "green" : "0xBA", - "red" : "0x69" + "blue" : "0x58", + "green" : "0xB5", + "red" : "0x67" } }, "idiom" : "universal" diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green500.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green500.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green500.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green500.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green600.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green600.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green600.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green600.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green700.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green700.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green700.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green700.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green800.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green800.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green800.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green800.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green900.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green900.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/green900.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/Green/green900.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/Green/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue050.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue050.colorset/Contents.json new file mode 100644 index 0000000..827e1fa --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue050.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFE", + "green" : "0xF2", + "red" : "0xEA" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x48", + "green" : "0x24", + "red" : "0x14" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue100.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue100.colorset/Contents.json new file mode 100644 index 0000000..afc8716 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue100.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFD", + "green" : "0xD6", + "red" : "0xBE" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x5C", + "green" : "0x32", + "red" : "0x18" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue200.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue200.colorset/Contents.json new file mode 100644 index 0000000..a8973d8 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue200.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFC", + "green" : "0xC2", + "red" : "0x9E" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x8B", + "green" : "0x4B", + "red" : "0x24" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue300.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue300.colorset/Contents.json new file mode 100644 index 0000000..336928c --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue300.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFB", + "green" : "0xA7", + "red" : "0x72" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xB3", + "green" : "0x61", + "red" : "0x2E" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue400.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue400.colorset/Contents.json new file mode 100644 index 0000000..e0ae7f8 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue400.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFA", + "green" : "0x95", + "red" : "0x57" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xE0", + "green" : "0x71", + "red" : "0x2D" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengBlue.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue500.colorset/Contents.json similarity index 88% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengBlue.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue500.colorset/Contents.json index 81db5fa..8a528a1 100644 --- a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengBlue.colorset/Contents.json +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue500.colorset/Contents.json @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0xF1", - "green" : "0x9A", - "red" : "0x00" + "blue" : "0xFC", + "green" : "0x88", + "red" : "0x41" } }, "idiom" : "universal" diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue600.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue600.colorset/Contents.json new file mode 100644 index 0000000..6098120 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue600.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xE3", + "green" : "0x70", + "red" : "0x29" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xF8", + "green" : "0x9A", + "red" : "0x60" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue700.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue700.colorset/Contents.json new file mode 100644 index 0000000..29cd698 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue700.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xB1", + "green" : "0x57", + "red" : "0x20" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xF8", + "green" : "0xBC", + "red" : "0x97" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue800.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue800.colorset/Contents.json new file mode 100644 index 0000000..af14793 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue800.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x89", + "green" : "0x44", + "red" : "0x19" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFD", + "green" : "0xDB", + "red" : "0xC7" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue900.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue900.colorset/Contents.json new file mode 100644 index 0000000..d96b4b4 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Blue/system_blue900.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x69", + "green" : "0x34", + "red" : "0x13" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xFD", + "green" : "0xE7", + "red" : "0xDA" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green050.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green050.colorset/Contents.json new file mode 100644 index 0000000..650c7b2 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green050.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEC", + "green" : "0xF5", + "red" : "0xE8" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x0E", + "green" : "0x1F", + "red" : "0x0C" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green100.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green100.colorset/Contents.json new file mode 100644 index 0000000..7704b0c --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green100.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xC3", + "green" : "0xE1", + "red" : "0xB8" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x0C", + "green" : "0x36", + "red" : "0x0F" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green200.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green200.colorset/Contents.json new file mode 100644 index 0000000..17c271d --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green200.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xA6", + "green" : "0xD3", + "red" : "0x95" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x1C", + "green" : "0x59", + "red" : "0x20" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green300.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green300.colorset/Contents.json new file mode 100644 index 0000000..6f01ee3 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green300.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x7E", + "green" : "0xBF", + "red" : "0x65" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x36", + "green" : "0x81", + "red" : "0x3C" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green400.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green400.colorset/Contents.json new file mode 100644 index 0000000..3a82e16 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green400.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x65", + "green" : "0xB2", + "red" : "0x47" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x3C", + "green" : "0xA4", + "red" : "0x43" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengGreen.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green500.colorset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengGreen.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green500.colorset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green600.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green600.colorset/Contents.json new file mode 100644 index 0000000..c3ed7f8 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green600.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x38", + "green" : "0x91", + "red" : "0x17" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x8C", + "green" : "0xD5", + "red" : "0x93" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green700.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green700.colorset/Contents.json new file mode 100644 index 0000000..1e57919 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green700.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x2C", + "green" : "0x71", + "red" : "0x12" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xB9", + "green" : "0xE0", + "red" : "0xBB" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green800.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green800.colorset/Contents.json new file mode 100644 index 0000000..760c762 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green800.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x22", + "green" : "0x57", + "red" : "0x0E" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xC5", + "green" : "0xE2", + "red" : "0xC6" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green900.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green900.colorset/Contents.json new file mode 100644 index 0000000..cf857ed --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Green/system_green900.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x1A", + "green" : "0x43", + "red" : "0x0B" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xE2", + "green" : "0xF2", + "red" : "0xE2" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red050.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red050.colorset/Contents.json new file mode 100644 index 0000000..153843e --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red050.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xED", + "green" : "0xED", + "red" : "0xFE" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x11", + "green" : "0x14", + "red" : "0x2F" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red100.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red100.colorset/Contents.json new file mode 100644 index 0000000..4c28530 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red100.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xC7", + "green" : "0xC7", + "red" : "0xFC" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x1A", + "green" : "0x1C", + "red" : "0x57" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red200.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red200.colorset/Contents.json new file mode 100644 index 0000000..e6ddb9b --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red200.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xAC", + "green" : "0xAC", + "red" : "0xFA" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x2D", + "green" : "0x30", + "red" : "0x8C" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red300.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red300.colorset/Contents.json new file mode 100644 index 0000000..dfb45c4 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red300.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x86", + "green" : "0x86", + "red" : "0xF8" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x3A", + "green" : "0x3E", + "red" : "0xB5" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red400.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red400.colorset/Contents.json new file mode 100644 index 0000000..2f6637a --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red400.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x6F", + "green" : "0x6F", + "red" : "0xF7" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x4D", + "green" : "0x52", + "red" : "0xD7" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengRed.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red500.colorset/Contents.json similarity index 88% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengRed.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red500.colorset/Contents.json index 77b6a79..f11b40a 100644 --- a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengRed.colorset/Contents.json +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red500.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x54", - "green" : "0x54", - "red" : "0xF9" + "blue" : "0x4B", + "green" : "0x4B", + "red" : "0xF5" } }, "idiom" : "universal" diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red600.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red600.colorset/Contents.json new file mode 100644 index 0000000..5ee2325 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red600.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x44", + "green" : "0x44", + "red" : "0xDF" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x7B", + "green" : "0x80", + "red" : "0xFD" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red700.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red700.colorset/Contents.json new file mode 100644 index 0000000..cf05a59 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red700.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x35", + "green" : "0x35", + "red" : "0xAE" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xA4", + "green" : "0xA8", + "red" : "0xFB" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red800.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red800.colorset/Contents.json new file mode 100644 index 0000000..cf5f33e --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red800.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x29", + "green" : "0x29", + "red" : "0x87" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xC9", + "green" : "0xCB", + "red" : "0xFF" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red900.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red900.colorset/Contents.json new file mode 100644 index 0000000..8e48a4b --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Red/system_red900.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x20", + "green" : "0x20", + "red" : "0x67" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEE", + "green" : "0xEE", + "red" : "0xFF" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow050.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow050.colorset/Contents.json new file mode 100644 index 0000000..8581781 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow050.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEB", + "green" : "0xF8", + "red" : "0xFF" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x0F", + "green" : "0x25", + "red" : "0x30" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow100.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow100.colorset/Contents.json new file mode 100644 index 0000000..e91b08f --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow100.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xBF", + "green" : "0xE8", + "red" : "0xFE" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x13", + "green" : "0x3C", + "red" : "0x52" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow200.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow200.colorset/Contents.json new file mode 100644 index 0000000..4807df1 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow200.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xA1", + "green" : "0xDD", + "red" : "0xFE" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x1A", + "green" : "0x56", + "red" : "0x78" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow300.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow300.colorset/Contents.json new file mode 100644 index 0000000..436dd56 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow300.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x76", + "green" : "0xCD", + "red" : "0xFD" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x24", + "green" : "0x80", + "red" : "0xB3" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow400.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow400.colorset/Contents.json new file mode 100644 index 0000000..87408f9 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow400.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x5B", + "green" : "0xC3", + "red" : "0xFD" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x2E", + "green" : "0xA4", + "red" : "0xE5" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengYellow.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow500.colorset/Contents.json similarity index 88% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengYellow.colorset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow500.colorset/Contents.json index 60cff2d..c7832f6 100644 --- a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/System/PyeonHaengYellow.colorset/Contents.json +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow500.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x5B", - "green" : "0xC5", - "red" : "0xFF" + "blue" : "0x32", + "green" : "0xB4", + "red" : "0xFC" } }, "idiom" : "universal" @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x34", - "green" : "0xCE", - "red" : "0xF5" + "blue" : "0x5B", + "green" : "0xC5", + "red" : "0xFF" } }, "idiom" : "universal" diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow600.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow600.colorset/Contents.json new file mode 100644 index 0000000..f52012d --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow600.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x2E", + "green" : "0xA4", + "red" : "0xE5" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x76", + "green" : "0xCD", + "red" : "0xFD" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow700.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow700.colorset/Contents.json new file mode 100644 index 0000000..357b495 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow700.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x24", + "green" : "0x80", + "red" : "0xB3" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xA1", + "green" : "0xDD", + "red" : "0xFE" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow800.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow800.colorset/Contents.json new file mode 100644 index 0000000..01df13c --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow800.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x1C", + "green" : "0x63", + "red" : "0x8B" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xBF", + "green" : "0xE8", + "red" : "0xFE" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow900.colorset/Contents.json b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow900.colorset/Contents.json new file mode 100644 index 0000000..819aac5 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Colors.xcassets/System/Yellow/system_yellow900.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x15", + "green" : "0x4C", + "red" : "0x6A" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xE3", + "green" : "0xF2", + "red" : "0xFB" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Fonts/EF_jejudoldam.otf b/Shared/Sources/DesignSystem/Resources/Fonts/EF_jejudoldam.otf deleted file mode 100644 index 4c79cb7..0000000 Binary files a/Shared/Sources/DesignSystem/Resources/Fonts/EF_jejudoldam.otf and /dev/null differ diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/7-Eleven.imageset/7-Eleven.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/7-Eleven.imageset/7-Eleven.svg similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/7-Eleven.imageset/7-Eleven.svg rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/7-Eleven.imageset/7-Eleven.svg diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/7-Eleven.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/7-Eleven.imageset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/7-Eleven.imageset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/7-Eleven.imageset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/CU.imageset/CU.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/CU.imageset/CU.svg similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/CU.imageset/CU.svg rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/CU.imageset/CU.svg diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/CU.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/CU.imageset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/CU.imageset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/CU.imageset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Emart24.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Emart24.imageset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Emart24.imageset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Emart24.imageset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Emart24.imageset/Emart24.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Emart24.imageset/Emart24.svg similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Emart24.imageset/Emart24.svg rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Emart24.imageset/Emart24.svg diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/GS25.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/GS25.imageset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/GS25.imageset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/GS25.imageset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/GS25.imageset/GS25.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/GS25.imageset/GS25.svg similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/GS25.imageset/GS25.svg rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/GS25.imageset/GS25.svg diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Ministop.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Ministop.imageset/Contents.json similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Ministop.imageset/Contents.json rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Ministop.imageset/Contents.json diff --git a/Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Ministop.imageset/Ministop.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Ministop.imageset/Ministop.svg similarity index 100% rename from Shared/Sources/DesignSystem/Resources/Assets.xcassets/BrandImage/Ministop.imageset/Ministop.svg rename to Shared/Sources/DesignSystem/Resources/Images.xcassets/BrandImage/Ministop.imageset/Ministop.svg diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.fill.imageset/Contents.json new file mode 100644 index 0000000..1bbecf6 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "appstore.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.fill.imageset/appstore.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.fill.imageset/appstore.fill.svg new file mode 100644 index 0000000..2a6f1d1 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.fill.imageset/appstore.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.imageset/Contents.json new file mode 100644 index 0000000..4346872 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "appstore.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.imageset/appstore.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.imageset/appstore.svg new file mode 100644 index 0000000..3c6c96a --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/appstore.imageset/appstore.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.arrow.up.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.arrow.up.imageset/Contents.json new file mode 100644 index 0000000..54da0c9 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.arrow.up.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "arrow.down.arrow.up.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.arrow.up.imageset/arrow.down.arrow.up.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.arrow.up.imageset/arrow.down.arrow.up.svg new file mode 100644 index 0000000..0cf02ae --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.arrow.up.imageset/arrow.down.arrow.up.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.to.line.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.to.line.imageset/Contents.json new file mode 100644 index 0000000..69e8a14 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.to.line.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "arrow.down.to.line.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.to.line.imageset/arrow.down.to.line.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.to.line.imageset/arrow.down.to.line.svg new file mode 100644 index 0000000..053717a --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.down.to.line.imageset/arrow.down.to.line.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.up.to.line.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.up.to.line.imageset/Contents.json new file mode 100644 index 0000000..6a058d9 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.up.to.line.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "arrow.up.to.line.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.up.to.line.imageset/arrow.up.to.line.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.up.to.line.imageset/arrow.up.to.line.svg new file mode 100644 index 0000000..0615a75 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrow.up.to.line.imageset/arrow.up.to.line.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.down.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.down.fill.imageset/Contents.json new file mode 100644 index 0000000..59c0504 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.down.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "arrowtriangle.down.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.down.fill.imageset/arrowtriangle.down.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.down.fill.imageset/arrowtriangle.down.fill.svg new file mode 100644 index 0000000..5fb3dda --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.down.fill.imageset/arrowtriangle.down.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.up.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.up.fill.imageset/Contents.json new file mode 100644 index 0000000..ad91a70 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.up.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "arrowtriangle.up.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.up.fill.imageset/arrowtriangle.up.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.up.fill.imageset/arrowtriangle.up.fill.svg new file mode 100644 index 0000000..7a13854 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/arrowtriangle.up.fill.imageset/arrowtriangle.up.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.badge.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.badge.fill.imageset/Contents.json new file mode 100644 index 0000000..9050eb6 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.badge.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "bell.badge.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.badge.fill.imageset/bell.badge.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.badge.fill.imageset/bell.badge.fill.svg new file mode 100644 index 0000000..5bdc9a6 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.badge.fill.imageset/bell.badge.fill.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.fill.imageset/Contents.json new file mode 100644 index 0000000..f71b64b --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "bell.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.fill.imageset/bell.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.fill.imageset/bell.fill.svg new file mode 100644 index 0000000..3bb85a6 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.fill.imageset/bell.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.imageset/Contents.json new file mode 100644 index 0000000..83b2005 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "bell.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.imageset/bell.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.imageset/bell.svg new file mode 100644 index 0000000..61af028 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/bell.imageset/bell.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.fill.imageset/Contents.json new file mode 100644 index 0000000..cd4b3af --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "checkmark.circle.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.fill.imageset/checkmark.circle.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.fill.imageset/checkmark.circle.fill.svg new file mode 100644 index 0000000..b0879f8 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.fill.imageset/checkmark.circle.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.imageset/Contents.json new file mode 100644 index 0000000..ecdb272 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "checkmark.circle.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.imageset/checkmark.circle.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.imageset/checkmark.circle.svg new file mode 100644 index 0000000..e241a87 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/checkmark.circle.imageset/checkmark.circle.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.down.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.down.imageset/Contents.json new file mode 100644 index 0000000..60b5d34 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.down.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "chevron.down.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.down.imageset/chevron.down.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.down.imageset/chevron.down.svg new file mode 100644 index 0000000..b0f8e84 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.down.imageset/chevron.down.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.imageset/Contents.json new file mode 100644 index 0000000..2e59d79 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "chevron.left.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.imageset/chevron.left.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.imageset/chevron.left.svg new file mode 100644 index 0000000..1ce9c38 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.imageset/chevron.left.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.large.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.large.imageset/Contents.json new file mode 100644 index 0000000..d171494 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.large.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "chevron.left.large.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.large.imageset/chevron.left.large.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.large.imageset/chevron.left.large.svg new file mode 100644 index 0000000..9a1ac1f --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.left.large.imageset/chevron.left.large.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.imageset/Contents.json new file mode 100644 index 0000000..53575b0 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "chevron.right.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.imageset/chevron.right.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.imageset/chevron.right.svg new file mode 100644 index 0000000..dd380d2 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.imageset/chevron.right.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.large.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.large.imageset/Contents.json new file mode 100644 index 0000000..43906c4 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.large.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "chevron.right.large.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.large.imageset/chevron.right.large.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.large.imageset/chevron.right.large.svg new file mode 100644 index 0000000..822d0ad --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.right.large.imageset/chevron.right.large.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.up.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.up.imageset/Contents.json new file mode 100644 index 0000000..5f8819f --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.up.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "chevron.up.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.up.imageset/chevron.up.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.up.imageset/chevron.up.svg new file mode 100644 index 0000000..a0b1982 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/chevron.up.imageset/chevron.up.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.bold.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.bold.imageset/Contents.json new file mode 100644 index 0000000..4de528c --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.bold.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ellipsis.bold.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.bold.imageset/ellipsis.bold.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.bold.imageset/ellipsis.bold.svg new file mode 100644 index 0000000..d716647 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.bold.imageset/ellipsis.bold.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.imageset/Contents.json new file mode 100644 index 0000000..d4c35f1 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ellipsis.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.imageset/ellipsis.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.imageset/ellipsis.svg new file mode 100644 index 0000000..37ce170 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.imageset/ellipsis.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.bold.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.bold.imageset/Contents.json new file mode 100644 index 0000000..104fbe2 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.bold.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ellipsis.vertical.bold.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.bold.imageset/ellipsis.vertical.bold.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.bold.imageset/ellipsis.vertical.bold.svg new file mode 100644 index 0000000..fcdf9e1 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.bold.imageset/ellipsis.vertical.bold.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.imageset/Contents.json new file mode 100644 index 0000000..c681b47 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ellipsis.vertical.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.imageset/ellipsis.vertical.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.imageset/ellipsis.vertical.svg new file mode 100644 index 0000000..c2bc1aa --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/ellipsis.vertical.imageset/ellipsis.vertical.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.fill.imageset/Contents.json new file mode 100644 index 0000000..5eaa6cd --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "exclamationmark.circle.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.fill.imageset/exclamationmark.circle.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.fill.imageset/exclamationmark.circle.fill.svg new file mode 100644 index 0000000..e69ef4d --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.fill.imageset/exclamationmark.circle.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.imageset/Contents.json new file mode 100644 index 0000000..e120e00 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "exclamationmark.circle.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.imageset/exclamationmark.circle.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.imageset/exclamationmark.circle.svg new file mode 100644 index 0000000..2f7b6c1 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.circle.imageset/exclamationmark.circle.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.fill.imageset/Contents.json new file mode 100644 index 0000000..b43f5a3 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "exclamationmark.triangle.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.fill.imageset/exclamationmark.triangle.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.fill.imageset/exclamationmark.triangle.fill.svg new file mode 100644 index 0000000..23e246a --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.fill.imageset/exclamationmark.triangle.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.imageset/Contents.json new file mode 100644 index 0000000..f28e76b --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "exclamationmark.triangle.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.imageset/exclamationmark.triangle.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.imageset/exclamationmark.triangle.svg new file mode 100644 index 0000000..2916bb7 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/exclamationmark.triangle.imageset/exclamationmark.triangle.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.fill.imageset/Contents.json new file mode 100644 index 0000000..3f69eff --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "face.crying.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.fill.imageset/face.crying.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.fill.imageset/face.crying.fill.svg new file mode 100644 index 0000000..0327b75 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.fill.imageset/face.crying.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.imageset/Contents.json new file mode 100644 index 0000000..18fa35b --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "face.crying.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.imageset/face.crying.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.imageset/face.crying.svg new file mode 100644 index 0000000..a3ded45 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.crying.imageset/face.crying.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.fill.imageset/Contents.json new file mode 100644 index 0000000..5bfb1fb --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "face.frowning.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.fill.imageset/face.frowning.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.fill.imageset/face.frowning.fill.svg new file mode 100644 index 0000000..2e01cbe --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.fill.imageset/face.frowning.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.imageset/Contents.json new file mode 100644 index 0000000..26c45a1 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "face.frowning.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.imageset/face.frowning.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.imageset/face.frowning.svg new file mode 100644 index 0000000..6c40ad8 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.frowning.imageset/face.frowning.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.fill.imageset/Contents.json new file mode 100644 index 0000000..44a6d2b --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "face.thinking.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.fill.imageset/face.thinking.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.fill.imageset/face.thinking.fill.svg new file mode 100644 index 0000000..2e6dc23 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.fill.imageset/face.thinking.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.imageset/Contents.json new file mode 100644 index 0000000..61797da --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "face.thinking.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.imageset/face.thinking.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.imageset/face.thinking.svg new file mode 100644 index 0000000..8f69a7e --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.thinking.imageset/face.thinking.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.fill.imageset/Contents.json new file mode 100644 index 0000000..a6eba14 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "face.winking.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.fill.imageset/face.winking.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.fill.imageset/face.winking.fill.svg new file mode 100644 index 0000000..d1f9622 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.fill.imageset/face.winking.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.imageset/Contents.json new file mode 100644 index 0000000..92fc71b --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "face.winking.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.imageset/face.winking.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.imageset/face.winking.svg new file mode 100644 index 0000000..d879c94 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/face.winking.imageset/face.winking.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/figure.walk.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/figure.walk.imageset/Contents.json new file mode 100644 index 0000000..93bbf20 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/figure.walk.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "figure.walk.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/figure.walk.imageset/figure.walk.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/figure.walk.imageset/figure.walk.svg new file mode 100644 index 0000000..710aae0 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/figure.walk.imageset/figure.walk.svg @@ -0,0 +1,3 @@ + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.fill.imageset/Contents.json new file mode 100644 index 0000000..ce1327f --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filter.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.fill.imageset/filter.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.fill.imageset/filter.fill.svg new file mode 100644 index 0000000..d091951 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.fill.imageset/filter.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.imageset/Contents.json new file mode 100644 index 0000000..928c90e --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filter.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.imageset/filter.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.imageset/filter.svg new file mode 100644 index 0000000..ef28978 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/filter.imageset/filter.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.fill.imageset/Contents.json new file mode 100644 index 0000000..bb7172c --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "gearshape.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.fill.imageset/gearshape.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.fill.imageset/gearshape.fill.svg new file mode 100644 index 0000000..e95b30e --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.fill.imageset/gearshape.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.imageset/Contents.json new file mode 100644 index 0000000..111e3ba --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "gearshape.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.imageset/gearshape.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.imageset/gearshape.svg new file mode 100644 index 0000000..96233da --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/gearshape.imageset/gearshape.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.fill.imageset/Contents.json new file mode 100644 index 0000000..d762f5d --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "heart.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.fill.imageset/heart.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.fill.imageset/heart.fill.svg new file mode 100644 index 0000000..21a9638 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.fill.imageset/heart.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.imageset/Contents.json new file mode 100644 index 0000000..f32f571 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "heart.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.imageset/heart.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.imageset/heart.svg new file mode 100644 index 0000000..e4b4621 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/heart.imageset/heart.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.fill.imageset/Contents.json new file mode 100644 index 0000000..0ae0a38 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "info.circle.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.fill.imageset/info.circle.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.fill.imageset/info.circle.fill.svg new file mode 100644 index 0000000..e3bd64a --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.fill.imageset/info.circle.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.imageset/Contents.json new file mode 100644 index 0000000..4b3d03a --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "info.circle.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.imageset/info.circle.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.imageset/info.circle.svg new file mode 100644 index 0000000..deb5474 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/info.circle.imageset/info.circle.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.bold.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.bold.imageset/Contents.json new file mode 100644 index 0000000..fc9900a --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.bold.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "magnifyingglass.bold.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.bold.imageset/magnifyingglass.bold.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.bold.imageset/magnifyingglass.bold.svg new file mode 100644 index 0000000..1c39504 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.bold.imageset/magnifyingglass.bold.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.imageset/Contents.json new file mode 100644 index 0000000..18b4b00 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "magnifyingglass.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.imageset/magnifyingglass.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.imageset/magnifyingglass.svg new file mode 100644 index 0000000..ce8ccf5 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/magnifyingglass.imageset/magnifyingglass.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.fill.imageset/Contents.json new file mode 100644 index 0000000..1b609dd --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "map.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.fill.imageset/map.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.fill.imageset/map.fill.svg new file mode 100644 index 0000000..6b9e457 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.fill.imageset/map.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.imageset/Contents.json new file mode 100644 index 0000000..33f58f2 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "map.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.imageset/map.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.imageset/map.svg new file mode 100644 index 0000000..12c87a3 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/map.imageset/map.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.fill.imageset/Contents.json new file mode 100644 index 0000000..8fe17da --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "scope.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.fill.imageset/scope.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.fill.imageset/scope.fill.svg new file mode 100644 index 0000000..bc0bc16 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.fill.imageset/scope.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.imageset/Contents.json new file mode 100644 index 0000000..62c810d --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "scope.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.imageset/scope.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.imageset/scope.svg new file mode 100644 index 0000000..e34810b --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/scope.imageset/scope.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.fill.imageset/Contents.json new file mode 100644 index 0000000..70fe3e6 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "speaker.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.fill.imageset/speaker.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.fill.imageset/speaker.fill.svg new file mode 100644 index 0000000..50e0c33 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.fill.imageset/speaker.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.imageset/Contents.json new file mode 100644 index 0000000..44d0343 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "speaker.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.imageset/speaker.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.imageset/speaker.svg new file mode 100644 index 0000000..93f8037 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/speaker.imageset/speaker.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.fill.imageset/Contents.json new file mode 100644 index 0000000..9772353 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "store.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.fill.imageset/store.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.fill.imageset/store.fill.svg new file mode 100644 index 0000000..907c98f --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.fill.imageset/store.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.imageset/Contents.json new file mode 100644 index 0000000..5229400 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "store.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.imageset/store.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.imageset/store.svg new file mode 100644 index 0000000..47ec080 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/store.imageset/store.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.fill.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.fill.imageset/Contents.json new file mode 100644 index 0000000..9a0c68f --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.fill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "x.circle.fill.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.fill.imageset/x.circle.fill.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.fill.imageset/x.circle.fill.svg new file mode 100644 index 0000000..3d41401 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.fill.imageset/x.circle.fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.imageset/Contents.json b/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.imageset/Contents.json new file mode 100644 index 0000000..38eee30 --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "x.circle.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.imageset/x.circle.svg b/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.imageset/x.circle.svg new file mode 100644 index 0000000..f3223cb --- /dev/null +++ b/Shared/Sources/DesignSystem/Resources/Images.xcassets/x.circle.imageset/x.circle.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Shared/Sources/DesignSystem/Sources/Color+Resource.swift b/Shared/Sources/DesignSystem/Sources/Color+Resource.swift deleted file mode 100644 index 18de018..0000000 --- a/Shared/Sources/DesignSystem/Sources/Color+Resource.swift +++ /dev/null @@ -1,39 +0,0 @@ -// -// Color+Resource.swift -// -// -// Created by 홍승현 on 1/27/24. -// - -import SwiftUI - -public extension Color { - static let gray050: Color = .init(.gray050) - static let gray100: Color = .init(.gray100) - static let gray200: Color = .init(.gray200) - static let gray300: Color = .init(.gray300) - static let gray400: Color = .init(.gray400) - static let gray500: Color = .init(.gray500) - static let gray600: Color = .init(.gray600) - static let gray700: Color = .init(.gray700) - static let gray800: Color = .init(.gray800) - static let gray900: Color = .init(.gray900) - - static let green050: Color = .init(.green050) - static let green100: Color = .init(.green100) - static let green200: Color = .init(.green200) - static let green300: Color = .init(.green300) - static let green400: Color = .init(.green400) - static let green500: Color = .init(.green500) - static let green600: Color = .init(.green600) - static let green700: Color = .init(.green700) - static let green800: Color = .init(.green800) - static let green900: Color = .init(.green900) - - static let pyeonHaengBlue: Color = .init(.pyeonHaengBlue) - static let pyeonHaengGreen: Color = .init(.pyeonHaengGreen) - static let pyeonHaengRed: Color = .init(.pyeonHaengRed) - static let pyeonHaengYellow: Color = .init(.pyeonHaengYellow) - - static let blur: Color = .init(.blur) -} diff --git a/Shared/Sources/DesignSystem/Sources/Extensions/Image+Resource.swift b/Shared/Sources/DesignSystem/Sources/Extensions/Image+Resource.swift new file mode 100644 index 0000000..9200f3a --- /dev/null +++ b/Shared/Sources/DesignSystem/Sources/Extensions/Image+Resource.swift @@ -0,0 +1,82 @@ +// +// Image+Resource.swift +// +// +// Created by 홍승현 on 1/28/24. +// + +import SwiftUI + +public extension Image { + static let cu: Image = .init(ImageResource.CU) + static let gs25: Image = .init(ImageResource.GS_25) + static let _7Eleven: Image = .init(ImageResource._7Eleven) + static let emart24: Image = .init(ImageResource.emart24) + static let ministop: Image = .init(ImageResource.ministop) + + static let appstore: Image = .init(.appstore) + static let appstoreFill: Image = .init(.appstoreFill) + static let arrowDownArrowUp: Image = .init(.arrowDownArrowUp) + static let arrowDownToLine: Image = .init(.arrowDownToLine) + static let arrowUpToLine: Image = .init(.arrowUpToLine) + static let arrowTriangleDownFill: Image = .init(.arrowtriangleDownFill) + static let arrowTriangleUpFill: Image = .init(.arrowtriangleUpFill) + + static let bellBadgeFill: Image = .init(.bellBadgeFill) + static let bellFill: Image = .init(.bellFill) + static let bell: Image = .init(.bell) + + static let checkmarkCircleFill: Image = .init(.checkmarkCircleFill) + static let checkmarkCircle: Image = .init(.checkmarkCircle) + static let chevronDown: Image = .init(.chevronDown) + static let chevronLeft: Image = .init(.chevronLeft) + static let chevronLeftLarge: Image = .init(.chevronLeftLarge) + static let chevronRight: Image = .init(.chevronRight) + static let chevronRightLarge: Image = .init(.chevronRightLarge) + static let chevronUp: Image = .init(.chevronUp) + + static let ellipsisBold: Image = .init(.ellipsisBold) + static let ellipsis: Image = .init(.ellipsis) + static let ellipsisVerticalBold: Image = .init(.ellipsisVerticalBold) + static let ellipsisVertical: Image = .init(.ellipsisVertical) + static let exclamationmarkCircleFill: Image = .init(.exclamationmarkCircleFill) + static let exclamationmarkCircle: Image = .init(.exclamationmarkCircle) + static let exclamationmarkTriangleFill: Image = .init(.exclamationmarkTriangleFill) + static let exclamationmarkTriangle: Image = .init(.exclamationmarkTriangle) + + static let faceCryingFill: Image = .init(.faceCryingFill) + static let faceCrying: Image = .init(.faceCrying) + static let faceFrowningFill: Image = .init(.faceFrowningFill) + static let faceFrowning: Image = .init(.faceFrowning) + static let faceThinkingFill: Image = .init(.faceThinkingFill) + static let faceThinking: Image = .init(.faceThinking) + static let faceWinkingFill: Image = .init(.faceWinkingFill) + static let faceWinking: Image = .init(.faceWinking) + + static let figureWalk: Image = .init(.figureWalk) + static let filterFill: Image = .init(.filterFill) + static let filter: Image = .init(.filter) + + static let gearshapeFill: Image = .init(.gearshapeFill) + static let gearshape: Image = .init(.gearshape) + + static let heartFill: Image = .init(.heartFill) + static let heart: Image = .init(.heart) + + static let infoCircleFill: Image = .init(.infoCircleFill) + static let infoCircle: Image = .init(.infoCircle) + + static let magnifyingglassBold: Image = .init(.magnifyingglassBold) + static let magnifyingglass: Image = .init(.magnifyingglass) + static let mapFill: Image = .init(.mapFill) + static let map: Image = .init(.map) + + static let scopeFill: Image = .init(.scopeFill) + static let scope: Image = .init(.scope) + static let speakerFill: Image = .init(.speakerFill) + static let speaker: Image = .init(.speaker) + static let storeFill: Image = .init(.storeFill) + static let store: Image = .init(.store) + static let xCircleFill: Image = .init(.xCircleFill) + static let xCircle: Image = .init(.xCircle) +} diff --git a/Shared/Sources/DesignSystem/Sources/Extensions/ShapeStyle+Color.swift b/Shared/Sources/DesignSystem/Sources/Extensions/ShapeStyle+Color.swift new file mode 100644 index 0000000..fdaa323 --- /dev/null +++ b/Shared/Sources/DesignSystem/Sources/Extensions/ShapeStyle+Color.swift @@ -0,0 +1,82 @@ +// +// ShapeStyle+Color.swift +// +// +// Created by 김응철 on 2024/1/29. +// + +import SwiftUI + +public extension ShapeStyle where Self == Color { + static var gray050: Color { .init(.gray050) } + static var gray100: Color { .init(.gray100) } + static var gray200: Color { .init(.gray200) } + static var gray300: Color { .init(.gray300) } + static var gray400: Color { .init(.gray400) } + static var gray500: Color { .init(.gray500) } + static var gray600: Color { .init(.gray600) } + static var gray700: Color { .init(.gray700) } + static var gray800: Color { .init(.gray800) } + static var gray900: Color { .init(.gray900) } + + static var green050: Color { .init(.green050) } + static var green100: Color { .init(.green100) } + static var green200: Color { .init(.green200) } + static var green300: Color { .init(.green300) } + static var green400: Color { .init(.green400) } + static var green500: Color { .init(.green500) } + static var green600: Color { .init(.green600) } + static var green700: Color { .init(.green700) } + static var green800: Color { .init(.green800) } + static var green900: Color { .init(.green900) } + + static var systemBlue050: Color { .init(.systemBlue050) } + static var systemBlue100: Color { .init(.systemBlue100) } + static var systemBlue200: Color { .init(.systemBlue200) } + static var systemBlue300: Color { .init(.systemBlue300) } + static var systemBlue400: Color { .init(.systemBlue400) } + static var systemBlue500: Color { .init(.systemBlue500) } + static var systemBlue600: Color { .init(.systemBlue600) } + static var systemBlue700: Color { .init(.systemBlue700) } + static var systemBlue800: Color { .init(.systemBlue800) } + static var systemBlue900: Color { .init(.systemBlue900) } + + static var systemGreen050: Color { .init(.systemGreen050) } + static var systemGreen100: Color { .init(.systemGreen100) } + static var systemGreen200: Color { .init(.systemGreen200) } + static var systemGreen300: Color { .init(.systemGreen300) } + static var systemGreen400: Color { .init(.systemGreen400) } + static var systemGreen500: Color { .init(.systemGreen500) } + static var systemGreen600: Color { .init(.systemGreen600) } + static var systemGreen700: Color { .init(.systemGreen700) } + static var systemGreen800: Color { .init(.systemGreen800) } + static var systemGreen900: Color { .init(.systemGreen900) } + + static var systemRed050: Color { .init(.systemRed050) } + static var systemRed100: Color { .init(.systemRed100) } + static var systemRed200: Color { .init(.systemRed200) } + static var systemRed300: Color { .init(.systemRed300) } + static var systemRed400: Color { .init(.systemRed400) } + static var systemRed500: Color { .init(.systemRed500) } + static var systemRed600: Color { .init(.systemRed600) } + static var systemRed700: Color { .init(.systemRed700) } + static var systemRed800: Color { .init(.systemRed800) } + static var systemRed900: Color { .init(.systemRed900) } + + static var systemYellow050: Color { .init(.systemYellow050) } + static var systemYellow100: Color { .init(.systemYellow100) } + static var systemYellow200: Color { .init(.systemYellow200) } + static var systemYellow300: Color { .init(.systemYellow300) } + static var systemYellow400: Color { .init(.systemYellow400) } + static var systemYellow500: Color { .init(.systemYellow500) } + static var systemYellow600: Color { .init(.systemYellow600) } + static var systemYellow700: Color { .init(.systemYellow700) } + static var systemYellow800: Color { .init(.systemYellow800) } + static var systemYellow900: Color { .init(.systemYellow900) } + + static var blur: Color { .init(.blur) } + + // Semantic Colors + + static var primary: Color { .green500 } +} diff --git a/Shared/Sources/DesignSystem/Sources/Extensions/Text+Font.swift b/Shared/Sources/DesignSystem/Sources/Extensions/Text+Font.swift new file mode 100644 index 0000000..ec0e352 --- /dev/null +++ b/Shared/Sources/DesignSystem/Sources/Extensions/Text+Font.swift @@ -0,0 +1,84 @@ +// +// Text+Font.swift +// +// Created by 홍승현 on 1/25/24. +// + +import SwiftUI + +public extension View { + func font(_ style: PyeonHaengFont) -> some View { + let setting = fontSetting(for: style) + let uiFont = UIFont(name: setting.name, size: setting.size) ?? .systemFont(ofSize: setting.size) + return fontWithLineHeight(font: uiFont, lineHeight: setting.lineHeight) + .tracking(setting.trackingAmount) + } +} + +/// 폰트 스타일에 따른 설정을 반환하는 함수 +private func fontSetting(for style: PyeonHaengFont) -> FontSetting { + switch style { + case .h1: + return FontSetting(fontName: .bold, size: 32, lineHeight: 40) + case .h2: + return FontSetting(fontName: .bold, size: 28, lineHeight: 38) + case .h3: + return FontSetting(fontName: .bold, size: 24, lineHeight: 36) + case .h4: + return FontSetting(fontName: .bold, size: 20, lineHeight: 32) + case .h5: + return FontSetting(fontName: .bold, size: 18, lineHeight: 28) + case .title1: + return FontSetting(fontName: .bold, size: 18, lineHeight: 28) + case .title2: + return FontSetting(fontName: .bold, size: 16, lineHeight: 24) + case .title3: + return FontSetting(fontName: .bold, size: 14, lineHeight: 22) + case .body1: + return FontSetting(fontName: .medium, size: 18, lineHeight: 28) + case .body2: + return FontSetting(fontName: .medium, size: 16, lineHeight: 24) + case .body3: + return FontSetting(fontName: .medium, size: 14, lineHeight: 22) + case .b1: + return FontSetting(fontName: .semiBold, size: 16, lineHeight: 24) + case .b2: + return FontSetting(fontName: .semiBold, size: 14, lineHeight: 22) + case .b3: + return FontSetting(fontName: .semiBold, size: 12, lineHeight: 18) + case .c1: + let tracking = (-1.5 / 1000) * 16 + return FontSetting(fontName: .regular, size: 16, lineHeight: 24, tracking: tracking) + case .c2: + let tracking = (-1.5 / 1000) * 14 + return FontSetting(fontName: .regular, size: 14, lineHeight: 22, tracking: tracking) + case .c3: + let tracking = (-1.5 / 1000) * 12 + return FontSetting(fontName: .regular, size: 12, lineHeight: 18, tracking: tracking) + case .c4: + let tracking = (-1.5 / 1000) * 10 + return FontSetting(fontName: .regular, size: 10, lineHeight: 16, tracking: tracking) + case .x2: + return FontSetting(fontName: .regular, size: 12, lineHeight: 16) + } +} + +// MARK: - FontWithLineHeight + +private struct FontWithLineHeight: ViewModifier { + let font: UIFont + let lineHeight: CGFloat + + func body(content: Content) -> some View { + content + .font(Font(font)) + .lineSpacing(lineHeight - font.lineHeight) + .padding(.vertical, (lineHeight - font.lineHeight) / 2) + } +} + +private extension View { + func fontWithLineHeight(font: UIFont, lineHeight: CGFloat) -> some View { + ModifiedContent(content: self, modifier: FontWithLineHeight(font: font, lineHeight: lineHeight)) + } +} diff --git a/Shared/Sources/DesignSystem/Sources/Fonts.swift b/Shared/Sources/DesignSystem/Sources/Fonts/FontRegistrar.swift similarity index 76% rename from Shared/Sources/DesignSystem/Sources/Fonts.swift rename to Shared/Sources/DesignSystem/Sources/Fonts/FontRegistrar.swift index 292c7c8..aa2dbd5 100644 --- a/Shared/Sources/DesignSystem/Sources/Fonts.swift +++ b/Shared/Sources/DesignSystem/Sources/Fonts/FontRegistrar.swift @@ -1,5 +1,5 @@ // -// Fonts.swift +// FontRegistrar.swift // // // Created by 홍승현 on 1/26/24. @@ -8,22 +8,17 @@ import CoreText import Foundation -// MARK: - Fonts +// MARK: - FontRegistrar -/// `Fonts` 열거형은 커스텀 폰트를 등록하는 데 사용됩니다. -public enum Fonts { - /// 이 메서드는 `Pretendard`와 `DolDam` 폰트를 등록합니다. +/// `FontRegistrar` 열거형은 커스텀 폰트를 등록하는 데 사용됩니다. +public enum FontRegistrar { + /// 이 메서드는 편행 폰트인 `Pretendard`를 등록합니다. /// 각각의 폰트 이름을 순회하면서 `registerFont` 메서드를 호출하여 폰트를 등록합니다. public static func registerFonts() { // Pretendard 폰트 등록 for fontName in Pretendard.allCases.map(\.rawValue) { registerFont(bundle: .module, fontName: fontName, fontExtension: "otf") } - - // DolDam 폰트 등록 - for fontName in DolDam.allCases.map(\.rawValue) { - registerFont(bundle: .module, fontName: fontName, fontExtension: "otf") - } } /// 주어진 폰트 이름과 확장자를 사용하여 폰트를 동적으로 등록합니다. diff --git a/Shared/Sources/DesignSystem/Sources/Fonts/FontSetting.swift b/Shared/Sources/DesignSystem/Sources/Fonts/FontSetting.swift new file mode 100644 index 0000000..855b707 --- /dev/null +++ b/Shared/Sources/DesignSystem/Sources/Fonts/FontSetting.swift @@ -0,0 +1,30 @@ +// +// FontSetting.swift +// +// +// Created by 홍승현 on 1/30/24. +// + +import Foundation + +/// 폰트 설정을 위한 구조체 +struct FontSetting { + /// 폰트 이름 + let name: String + + /// 폰트 사이즈 + let size: CGFloat + + /// 폰트가 가져야할 행간 높이 + let lineHeight: CGFloat + + /// 자간 거리 값 + let trackingAmount: CGFloat + + init(fontName: Pretendard, size: CGFloat, lineHeight: CGFloat, tracking: CGFloat = 0) { + name = fontName.rawValue + self.size = size + self.lineHeight = lineHeight + trackingAmount = tracking + } +} diff --git a/Shared/Sources/DesignSystem/Sources/Fonts/PretendardFont.swift b/Shared/Sources/DesignSystem/Sources/Fonts/PretendardFont.swift new file mode 100644 index 0000000..a62c2d3 --- /dev/null +++ b/Shared/Sources/DesignSystem/Sources/Fonts/PretendardFont.swift @@ -0,0 +1,27 @@ +// +// PretendardFont.swift +// +// +// Created by 홍승현 on 1/30/24. +// + +import Foundation + +// MARK: - Pretendard + +enum Pretendard: String, CaseIterable { + case black = "Pretendard-Black" + + case extraBold = "Pretendard-ExtraBold" + case bold = "Pretendard-Bold" + case semiBold = "Pretendard-SemiBold" + + case medium = "Pretendard-Medium" + + case regular = "Pretendard-Regular" + + case light = "Pretendard-Light" + case extraLight = "Pretendard-ExtraLight" + + case thin = "Pretendard-Thin" +} diff --git a/Shared/Sources/DesignSystem/Sources/PyeonHaengFont.swift b/Shared/Sources/DesignSystem/Sources/Fonts/PyeonHaengFont.swift similarity index 100% rename from Shared/Sources/DesignSystem/Sources/PyeonHaengFont.swift rename to Shared/Sources/DesignSystem/Sources/Fonts/PyeonHaengFont.swift diff --git a/Shared/Sources/DesignSystem/Sources/Image+Resource.swift b/Shared/Sources/DesignSystem/Sources/Image+Resource.swift deleted file mode 100644 index a859302..0000000 --- a/Shared/Sources/DesignSystem/Sources/Image+Resource.swift +++ /dev/null @@ -1,16 +0,0 @@ -// -// Image+Resource.swift -// -// -// Created by 홍승현 on 1/28/24. -// - -import SwiftUI - -public extension Image { - static let cu: Image = .init(.CU) - static let gs25: Image = .init(.GS_25) - static let _7Eleven: Image = .init(._7Eleven) - static let emart24: Image = .init(.emart24) - static let ministop: Image = .init(.ministop) -} diff --git a/Shared/Sources/DesignSystem/Sources/Text+pyeonhaengStyle.swift b/Shared/Sources/DesignSystem/Sources/Text+pyeonhaengStyle.swift deleted file mode 100644 index 120220e..0000000 --- a/Shared/Sources/DesignSystem/Sources/Text+pyeonhaengStyle.swift +++ /dev/null @@ -1,87 +0,0 @@ -// -// Text+pyeonhaengStyle.swift -// -// Created by 홍승현 on 1/25/24. -// - -import SwiftUI - -// MARK: - Pretendard - -enum Pretendard: String, CaseIterable { - /// black - case black = "Pretendard-Black" - - /// bold - case extraBold = "Pretendard-ExtraBold" - case bold = "Pretendard-Bold" - case semiBold = "Pretendard-SemiBold" - - /// medium - case medium = "Pretendard-Medium" - - /// regular - case regular = "Pretendard-Regular" - - /// light - case light = "Pretendard-Light" - case extraLight = "Pretendard-ExtraLight" - - /// thin - case thin = "Pretendard-Thin" -} - -// MARK: - DolDam - -enum DolDam: String, CaseIterable { - case `default` = "EF_jejudoldam" -} - -public extension Text { - func font(_ style: PyeonHaengFont) -> Text { - switch style { - case .h1: - font(.custom(Pretendard.bold.rawValue, size: 32)) - case .h2: - font(.custom(Pretendard.bold.rawValue, size: 28)) - case .h3: - font(.custom(Pretendard.bold.rawValue, size: 24)) - case .h4: - font(.custom(Pretendard.bold.rawValue, size: 20)) - case .h5: - font(.custom(Pretendard.bold.rawValue, size: 18)) - case .title1: - font(.custom(Pretendard.bold.rawValue, size: 18)) - case .title2: - font(.custom(Pretendard.bold.rawValue, size: 16)) - case .title3: - font(.custom(Pretendard.bold.rawValue, size: 14)) - case .body1: - font(.custom(Pretendard.medium.rawValue, size: 18)) - case .body2: - font(.custom(Pretendard.medium.rawValue, size: 16)) - case .body3: - font(.custom(Pretendard.medium.rawValue, size: 14)) - case .b1: - font(.custom(Pretendard.semiBold.rawValue, size: 16)) - case .b2: - font(.custom(Pretendard.semiBold.rawValue, size: 14)) - case .b3: - font(.custom(Pretendard.semiBold.rawValue, size: 12)) - case .c1: - font(.custom(Pretendard.regular.rawValue, size: 16)) - .tracking((-1.5 / 1000) * 16) - case .c2: - font(.custom(Pretendard.regular.rawValue, size: 14)) - .tracking((-1.5 / 1000) * 14) - case .c3: - font(.custom(Pretendard.regular.rawValue, size: 12)) - .tracking((-1.5 / 1000) * 12) - case .c4: - font(.custom(Pretendard.regular.rawValue, size: 10)) - .tracking((-1.5 / 1000) * 10) - case .x2: - font(.custom(Pretendard.regular.rawValue, size: 12)) - } - } -} diff --git a/Shared/Sources/Log/Log.swift b/Shared/Sources/Log/Log.swift new file mode 100644 index 0000000..f3af4bd --- /dev/null +++ b/Shared/Sources/Log/Log.swift @@ -0,0 +1,40 @@ +// +// Log.swift +// +// +// Created by 홍승현 on 1/30/24. +// + +import OSLog + +// MARK: - Log + +/// 로그 +public enum Log { + /// Log를 생성합니다. + /// - Parameter category: Log를 구분하는 Category + public static func make(with category: LogCategory) -> Logger? { + #if DEBUG + Logger(subsystem: .bundleIdentifier, category: category.rawValue) + #else + nil + #endif + } +} + +// MARK: - LogCategory + +public enum LogCategory: String { + /// 네트워크 로그를 작성할 때 사용합니다. + case network + + /// 뷰에 관한 로그를 작성할 때 사용합니다. + case view + + /// 뷰모델에 관한 로그를 작성할 때 사용합니다. + case viewModel +} + +private extension String { + static let bundleIdentifier: String = Bundle.main.bundleIdentifier ?? "None" +}