From cef44a2ed8ef89060dafd504ccd94dd476dec5a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=89=E1=85=A9=E1=86=BC=E1=84=8B=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=86=E1=85=A9?= Date: Thu, 28 Sep 2023 20:47:37 +0900 Subject: [PATCH 1/8] =?UTF-8?q?feat:=20trade,=20ticker=20optional=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Interface/Sources/DTO/TickerDTO.swift | 8 ++-- .../Interface/Sources/DTO/TradeDTO.swift | 26 ++++++------- .../Entity/TickerTypeChartDataEntity.swift | 2 +- .../{Model => PersistentModel}/Ticker.swift | 14 +++---- .../{Model => PersistentModel}/Trade.swift | 24 ++++++------ .../Sources/Repository/TickerRepository.swift | 39 +++++++++---------- .../Sources/Repository/TradeRepository.swift | 2 +- .../Interface/Sources/TickerClient.swift | 22 +++++------ .../Components/Cell/TickerItemCellView.swift | 10 ++--- .../Components/Cell/TradeItemCellView.swift | 6 +-- .../Sources/EditTicker/TickerEditStore.swift | 2 +- .../Sources/EditTicker/TickerItem.swift | 6 +-- .../Sources/EditTrade/TradeEditView.swift | 2 +- .../TickerDetail/TickerDetailStore.swift | 3 +- .../TradeDetail/TradeDetailStore.swift | 2 +- .../Sources/TradeDetail/TradeDetailView.swift | 6 +-- 16 files changed, 86 insertions(+), 88 deletions(-) rename Projects/Toolinder/Domain/Trade/Interface/Sources/{Model => PersistentModel}/Ticker.swift (58%) rename Projects/Toolinder/Domain/Trade/Interface/Sources/{Model => PersistentModel}/Trade.swift (56%) diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TickerDTO.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TickerDTO.swift index dc6b210..96a995b 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TickerDTO.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TickerDTO.swift @@ -9,9 +9,9 @@ import Foundation import SwiftData public class TickerDTO { - public var type: TickerType? - public var currency: Currency? - public var name: String? + public var type: TickerType + public var currency: Currency + public var name: String public init( type: TickerType, @@ -24,7 +24,7 @@ public class TickerDTO { } func toDomain() -> Ticker { - return .init( + return Ticker( type: type, currency: currency, name: name diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TradeDTO.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TradeDTO.swift index 10b68b7..22879c5 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TradeDTO.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TradeDTO.swift @@ -9,23 +9,23 @@ import Foundation import SwiftData public struct TradeDTO { - public var side: TradeSide? - public var price: Double? - public var volume: Double? - public var images: [Data] = [] - public var note: String? - public var date: Date = Date() + public var side: TradeSide + public var price: Double + public var volume: Double + public var images: [Data] + public var note: String + public var date: Date public var ticker: Ticker? public init( - side: TradeSide? = nil, - price: Double? = 0.0, - volume: Double? = 0.0, + side: TradeSide = .buy, + price: Double = 0, + volume: Double = 0, images: [Data] = [], - note: String? = "", - date: Date = Date(), - ticker: Ticker? = nil + note: String = "", + date: Date = .now, + ticker: Ticker ) { self.side = side self.images = images @@ -37,7 +37,7 @@ public struct TradeDTO { } func toDomain() -> Trade { - return .init( + return Trade( side: side, price: price, volume: volume, diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerTypeChartDataEntity.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerTypeChartDataEntity.swift index 1998c27..f45e408 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerTypeChartDataEntity.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerTypeChartDataEntity.swift @@ -19,7 +19,7 @@ public extension [Trade] { return TickerType.allCases.map { type in let trades = self.filter({ $0.ticker?.type == type }) let hold = trades.map { trade in - let sum: Double = (trade.price ?? 0.0) * (trade.volume ?? 0.0) + let sum: Double = trade.price * trade.volume let sign: Double = trade.side == .buy ? 1.0 : -1.0 return sum * sign diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Ticker.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Ticker.swift similarity index 58% rename from Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Ticker.swift rename to Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Ticker.swift index 4f1d680..6f75c36 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Ticker.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Ticker.swift @@ -10,16 +10,16 @@ import SwiftData @Model public class Ticker { - public var type: TickerType? = TickerType.stock - public var currency: Currency? = Currency.dollar - public var name: String? = "" + public var type: TickerType = TickerType.stock + public var currency: Currency = Currency.dollar + public var name: String = "" - @Relationship(deleteRule: .cascade, inverse: \Trade.ticker) public var trades: [Trade]? = [] + @Relationship(deleteRule: .cascade, inverse: \Trade.ticker) public var trades: [Trade] = [] public init( - type: TickerType?, - currency: Currency?, - name: String? + type: TickerType, + currency: Currency, + name: String ) { self.type = type self.currency = currency diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Trade.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift similarity index 56% rename from Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Trade.swift rename to Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift index 74c5cda..179b4a5 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Trade.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift @@ -10,23 +10,23 @@ import SwiftData @Model public class Trade { - public var side: TradeSide? - public var price: Double? - public var volume: Double? + public var side: TradeSide = TradeSide.buy + public var price: Double = 0 + public var volume: Double = 0 public var images: [Data] = [] - public var note: String? - public var date: Date = Date() + public var note: String = "" + public var date: Date = Date.now @Relationship public var ticker: Ticker? public init( - side: TradeSide? = nil, - price: Double? = 0.0, - volume: Double? = 0.0, - images: [Data] = [], - note: String? = "", - date: Date = Date(), - ticker: Ticker? = nil + side: TradeSide, + price: Double, + volume: Double, + images: [Data], + note: String, + date: Date, + ticker: Ticker? ) { self.side = side self.images = images diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Repository/TickerRepository.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/Repository/TickerRepository.swift index 63b73c1..3471bdf 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Repository/TickerRepository.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/Repository/TickerRepository.swift @@ -10,13 +10,13 @@ import SwiftData public protocol TickerRepositoryInterface { func fetchTickers(descriptor: FetchDescriptor) -> Result<[Ticker], TickerError> - func saveTicker(ticker: Ticker) -> Result - func updateTicker(model: Ticker, dto: TickerDTO) -> Result - func deleteTicker(ticker: Ticker) -> Result + func saveTicker(_ ticker: Ticker) -> Result + func updateTicker(_ ticker: Ticker, new newTicker: TickerDTO) -> Result + func deleteTicker(_ ticker: Ticker) -> Result - func isValidatedSaveTicker(new: Ticker) -> Bool - func isValidatedUpdateTicker(origin: Ticker, new: TickerDTO) -> Bool - func isValidatedDeleteTicker(origin: Ticker) -> Bool + func isValidatedSaveTicker(_ ticker: Ticker) -> Bool + func isValidatedUpdateTicker(_ ticker: Ticker, new newTicker: TickerDTO) -> Bool + func isValidatedDeleteTicker(_ ticker: Ticker) -> Bool } public class TickerRepository: TickerRepositoryInterface { @@ -32,8 +32,8 @@ public class TickerRepository: TickerRepositoryInterface { } } - public func saveTicker(ticker: Ticker) -> Result { - if isValidatedSaveTicker(new: ticker) { + public func saveTicker(_ ticker: Ticker) -> Result { + if isValidatedSaveTicker(ticker) { context?.insert(ticker) return .success(ticker) } else { @@ -41,20 +41,19 @@ public class TickerRepository: TickerRepositoryInterface { } } - public func updateTicker(model: Ticker, dto: TickerDTO) -> Result { - if isValidatedUpdateTicker(origin: model, new: dto) { - let ticker = model - ticker.type = dto.type - ticker.currency = dto.currency - ticker.name = dto.name + public func updateTicker(_ ticker: Ticker, new newTicker: TickerDTO) -> Result { + if isValidatedUpdateTicker(ticker, new: newTicker) { + ticker.type = newTicker.type + ticker.currency = newTicker.currency + ticker.name = newTicker.name return .success(ticker) } else { return .failure(.unknown) } } - public func deleteTicker(ticker: Ticker) -> Result { - if isValidatedDeleteTicker(origin: ticker) { + public func deleteTicker(_ ticker: Ticker) -> Result { + if isValidatedDeleteTicker(ticker) { context?.delete(ticker) return .success(ticker) } else { @@ -62,18 +61,18 @@ public class TickerRepository: TickerRepositoryInterface { } } - public func isValidatedSaveTicker(new: Ticker) -> Bool { + public func isValidatedSaveTicker(_ ticker: Ticker) -> Bool { return true } - public func isValidatedUpdateTicker(origin: Ticker, new: TickerDTO) -> Bool { - if new.type != nil && new.currency != nil && new.name?.isEmpty == false { + public func isValidatedUpdateTicker(_ ticker: Ticker, new newTicker: TickerDTO) -> Bool { + if !newTicker.name.isEmpty { return true } return false } - public func isValidatedDeleteTicker(origin: Ticker) -> Bool { + public func isValidatedDeleteTicker(_ ticker: Ticker) -> Bool { return true } } diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Repository/TradeRepository.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/Repository/TradeRepository.swift index 095c9bb..002d086 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Repository/TradeRepository.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/Repository/TradeRepository.swift @@ -110,7 +110,7 @@ public class TradeRepository: TradeRepositoryInterface { } public func isValidatedUpdateTicker(origin: Ticker, new: TickerDTO) -> Bool { - if new.type != nil && new.currency != nil && new.name?.isEmpty == false { + if new.type != nil && new.currency != nil && new.name.isEmpty == false { return true } return false diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/TickerClient.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/TickerClient.swift index ea278fb..528d2bf 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/TickerClient.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/TickerClient.swift @@ -17,16 +17,16 @@ public enum TickerError: Error { public struct TickerClient { public static let tickerRepository: TickerRepositoryInterface = TickerRepository() - public var fetchTickers: @Sendable () -> Result<[Ticker], TickerError> - public var saveTicker: @Sendable (Ticker) -> Result - public var updateTicker: @Sendable (Ticker, TickerDTO) -> Result - public var deleteTicker: @Sendable (Ticker) -> Result + public var fetchTickers: () -> Result<[Ticker], TickerError> + public var saveTicker: (Ticker) -> Result + public var updateTicker: (Ticker, TickerDTO) -> Result + public var deleteTicker: (Ticker) -> Result public init( - fetchTickers: @Sendable @escaping () -> Result<[Ticker], TickerError>, - saveTicker: @Sendable @escaping (Ticker) -> Result, - updateTicker: @Sendable @escaping (Ticker, TickerDTO) -> Result, - deleteTicker: @Sendable @escaping (Ticker) -> Result + fetchTickers: @escaping () -> Result<[Ticker], TickerError>, + saveTicker: @escaping (Ticker) -> Result, + updateTicker: @escaping (Ticker, TickerDTO) -> Result, + deleteTicker: @escaping (Ticker) -> Result ) { self.fetchTickers = fetchTickers self.saveTicker = saveTicker @@ -61,8 +61,8 @@ public extension DependencyValues { extension TickerClient: DependencyKey { public static var liveValue = TickerClient( fetchTickers: { tickerRepository.fetchTickers(descriptor: .init()) }, - saveTicker: { tickerRepository.saveTicker(ticker: $0) }, - updateTicker: { tickerRepository.updateTicker(model: $0, dto: $1) }, - deleteTicker: { tickerRepository.deleteTicker(ticker: $0) } + saveTicker: { tickerRepository.saveTicker($0) }, + updateTicker: { tickerRepository.updateTicker($0, new: $1) }, + deleteTicker: { tickerRepository.deleteTicker($0) } ) } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift index ff3ac8a..e7418a3 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift @@ -30,16 +30,16 @@ public struct TickerItemCellView: View { private func tradeView(viewStore: ViewStoreOf) -> some View { HStack(spacing: 10) { VStack { - viewStore.state.ticker.type?.image + viewStore.state.ticker.type.image .font(.title3) if viewStore.mode == .item { - Text("\(viewStore.state.ticker.type?.rawValue ?? "")") + Text("\(viewStore.state.ticker.type.rawValue)") .font(.caption2) } } - Text("\(viewStore.state.ticker.name ?? "") \(viewStore.state.ticker.trades?.count ?? 0)" ) + Text("\(viewStore.state.ticker.name) \(viewStore.state.ticker.trades.count)" ) .font(.body) .fontWeight(.semibold) @@ -50,7 +50,7 @@ public struct TickerItemCellView: View { HStack { Spacer() - Text("\(Int(viewStore.tickerSummaryDataEntity.profit)) \(viewStore.state.ticker.currency?.rawValue ?? "") (\(Int(viewStore.tickerSummaryDataEntity.yield))%)") + Text("\(Int(viewStore.tickerSummaryDataEntity.profit)) \(viewStore.state.ticker.currency.rawValue) (\(Int(viewStore.tickerSummaryDataEntity.yield))%)") .font(.caption) .fontWeight(.semibold) .foregroundStyle(Int(viewStore.tickerSummaryDataEntity.yield) > 0 ? .pink : .mint) @@ -59,7 +59,7 @@ public struct TickerItemCellView: View { HStack(spacing: .zero) { Spacer() - Text("\(Int(viewStore.tickerSummaryDataEntity.avgPrice)) \(viewStore.state.ticker.currency?.rawValue ?? "")") + Text("\(Int(viewStore.tickerSummaryDataEntity.avgPrice)) \(viewStore.state.ticker.currency.rawValue)") .font(.caption2) } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradeItemCellView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradeItemCellView.swift index 03a99b8..45c99e0 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradeItemCellView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradeItemCellView.swift @@ -59,7 +59,7 @@ public struct TradeItemCellView: View { } } - viewStore.state.trade.ticker?.type?.image + viewStore.state.trade.ticker?.type.image .font(.title3) .foregroundStyle(viewStore.state.trade.side == .buy ? .pink : .mint) @@ -70,10 +70,10 @@ public struct TradeItemCellView: View { Spacer() VStack(alignment: .trailing, spacing: 1) { - Text("\(Int(viewStore.state.trade.price ?? 0)) \(viewStore.state.trade.ticker?.currency?.rawValue ?? "")") + Text("\(Int(viewStore.state.trade.price)) \(viewStore.state.trade.ticker?.currency.rawValue ?? "")") .font(.caption) - Text("\(Int(viewStore.state.trade.volume ?? 0)) vol") + Text("\(Int(viewStore.state.trade.volume)) vol") .font(.caption) } } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift index 864a316..43623a8 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift @@ -113,7 +113,7 @@ public struct TickerEditStore: Reducer { case .deleteButtonTapped: state.alert = AlertState { - TextState("\(state.selectedTicker?.trades?.count ?? 0) records are also deleted.") + TextState("\(state.selectedTicker?.trades.count ?? 0) records are also deleted.") } actions: { ButtonState(role: .destructive, action: .confirmDeletion) { TextState("Delete") diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift index 724abfc..fc851c1 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift @@ -28,10 +28,10 @@ public struct TickerItem: View { public var body: some View { VStack(spacing: .zero) { HStack { - Image(systemName: ticker.type?.systemImageName ?? "") + Image(systemName: ticker.type.systemImageName) .font(.body) - Text("\(ticker.name ?? "") \(ticker.trades?.count ?? 0)") + Text("\(ticker.name) \(ticker.trades.count)") .font(.body) .fontWeight(.semibold) .padding(.trailing) @@ -59,7 +59,7 @@ public struct TickerItem: View { HStack(spacing: .zero) { Spacer() - Text("(avg) 12,000 \(ticker.currency?.rawValue ?? "")") + Text("(avg) 12,000 \(ticker.currency.rawValue)") .font(.caption2) } } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift index 785f4fd..f266740 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift @@ -86,7 +86,7 @@ public struct TradeEditView: View { private func inputView(viewStore: ViewStoreOf) -> some View { VStack(spacing: 20) { HStack { - Label(viewStore.state.selectedTicker.currency?.rawValue ?? "", systemImage: viewStore.state.selectedTicker.currency?.systemImageName ?? "") + Label(viewStore.state.selectedTicker.currency.rawValue, systemImage: viewStore.state.selectedTicker.currency.systemImageName) TextField("Price", value: viewStore.binding(get: \.price, send: TradeEditStore.Action.setPrice), format: .number) .keyboardType(.numberPad) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift index 614062e..ee7ca7e 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift @@ -60,10 +60,9 @@ public struct TickerDetailStore: Reducer { case .tickerTypeChartDataEntityRequest: return .send( .tickerTypeChartDataEntityResponse( - state.ticker.trades?.toTradeDateChartDataEntity( + state.ticker.trades.toTradeDateChartDataEntity( from: .now.add(byAdding: .month, value: -1), to: .now.add(byAdding: .month, value: 1)) - ?? [] ) ) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift index cb18e6c..69063be 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift @@ -48,7 +48,7 @@ public struct TradeDetailStore: Reducer { switch action { case .onAppear: state.tradeItem = .init( - uniqueElements: state.trade.ticker?.trades?.compactMap { trade in + uniqueElements: state.trade.ticker?.trades.compactMap { trade in return .init(trade: trade, dateStyle: .short, timeStyle: .short) } ?? [] ) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailView.swift index b3f1b6c..873a43f 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailView.swift @@ -28,7 +28,7 @@ public struct TradeDetailView: View { Divider() - if viewStore.state.trade.note?.isEmpty == false { + if viewStore.state.trade.note.isEmpty == false { noteView(viewStore: viewStore) } @@ -73,7 +73,7 @@ public struct TradeDetailView: View { .font(.title) .fontWeight(.semibold) - Text("\(viewStore.state.trade.ticker?.currency?.rawValue.lowercased() ?? "")") + Text("\(viewStore.state.trade.ticker?.currency.rawValue.lowercased() ?? "")") .fontWeight(.semibold) } @@ -119,7 +119,7 @@ public struct TradeDetailView: View { } HStack { - Text(viewStore.state.trade.note ?? "") + Text(viewStore.state.trade.note) .font(.caption) Spacer() From f8a55416cb0f67664dde9c0ecfc611e4c92df690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=89=E1=85=A9=E1=86=BC=E1=84=8B=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=86=E1=85=A9?= Date: Thu, 28 Sep 2023 20:51:19 +0900 Subject: [PATCH 2/8] =?UTF-8?q?feat:=20ticker=EC=9D=98=20trades=20?= =?UTF-8?q?=EC=98=B5=EC=85=94=EB=84=90=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Trade/Interface/Sources/PersistentModel/Ticker.swift | 2 +- .../Interface/Sources/Components/Cell/TickerItemCellView.swift | 2 +- .../Trade/Interface/Sources/EditTicker/TickerEditStore.swift | 2 +- .../Trade/Interface/Sources/EditTicker/TickerItem.swift | 2 +- .../Interface/Sources/TickerDetail/TickerDetailStore.swift | 3 ++- .../Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Ticker.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Ticker.swift index 6f75c36..5475a9b 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Ticker.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Ticker.swift @@ -14,7 +14,7 @@ public class Ticker { public var currency: Currency = Currency.dollar public var name: String = "" - @Relationship(deleteRule: .cascade, inverse: \Trade.ticker) public var trades: [Trade] = [] + @Relationship(deleteRule: .cascade, inverse: \Trade.ticker) public var trades: [Trade]? = [] public init( type: TickerType, diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift index e7418a3..fd1663b 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift @@ -39,7 +39,7 @@ public struct TickerItemCellView: View { } } - Text("\(viewStore.state.ticker.name) \(viewStore.state.ticker.trades.count)" ) + Text("\(viewStore.state.ticker.name) \(viewStore.state.ticker.trades?.count ?? 0)" ) .font(.body) .fontWeight(.semibold) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift index 43623a8..864a316 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift @@ -113,7 +113,7 @@ public struct TickerEditStore: Reducer { case .deleteButtonTapped: state.alert = AlertState { - TextState("\(state.selectedTicker?.trades.count ?? 0) records are also deleted.") + TextState("\(state.selectedTicker?.trades?.count ?? 0) records are also deleted.") } actions: { ButtonState(role: .destructive, action: .confirmDeletion) { TextState("Delete") diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift index fc851c1..8d8e261 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift @@ -31,7 +31,7 @@ public struct TickerItem: View { Image(systemName: ticker.type.systemImageName) .font(.body) - Text("\(ticker.name) \(ticker.trades.count)") + Text("\(ticker.name) \(ticker.trades?.count ?? 0)") .font(.body) .fontWeight(.semibold) .padding(.trailing) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift index ee7ca7e..614062e 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift @@ -60,9 +60,10 @@ public struct TickerDetailStore: Reducer { case .tickerTypeChartDataEntityRequest: return .send( .tickerTypeChartDataEntityResponse( - state.ticker.trades.toTradeDateChartDataEntity( + state.ticker.trades?.toTradeDateChartDataEntity( from: .now.add(byAdding: .month, value: -1), to: .now.add(byAdding: .month, value: 1)) + ?? [] ) ) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift index 69063be..cb18e6c 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift @@ -48,7 +48,7 @@ public struct TradeDetailStore: Reducer { switch action { case .onAppear: state.tradeItem = .init( - uniqueElements: state.trade.ticker?.trades.compactMap { trade in + uniqueElements: state.trade.ticker?.trades?.compactMap { trade in return .init(trade: trade, dateStyle: .short, timeStyle: .short) } ?? [] ) From 5b7ef22c5132d5f4d865ac319741546622a4ed4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=89=E1=85=A9=E1=86=BC=E1=84=8B=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=86=E1=85=A9?= Date: Thu, 28 Sep 2023 21:00:41 +0900 Subject: [PATCH 3/8] =?UTF-8?q?feat:=20trade=EC=97=90=20fee=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/PersistentModel/Trade.swift | 1 + .../Trade/Interface/Sources/TradeClient.swift | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift index 179b4a5..3c7d56b 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift @@ -13,6 +13,7 @@ public class Trade { public var side: TradeSide = TradeSide.buy public var price: Double = 0 public var volume: Double = 0 + public var fee: Double = 0 public var images: [Data] = [] public var note: String = "" public var date: Date = Date.now diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/TradeClient.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/TradeClient.swift index 9869763..deb9074 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/TradeClient.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/TradeClient.swift @@ -17,16 +17,16 @@ public enum TradeError: Error { public struct TradeClient { public static let tradeRepository: TradeRepositoryInterface = TradeRepository() - public var fetchTrades: @Sendable () -> Result<[Trade], TradeError> - public var saveTrade: @Sendable (TradeDTO) -> Result - public var updateTrade: @Sendable (Trade, TradeDTO) -> Result - public var deleteTrade: @Sendable (Trade) -> Result + public var fetchTrades: () -> Result<[Trade], TradeError> + public var saveTrade: (TradeDTO) -> Result + public var updateTrade: (Trade, TradeDTO) -> Result + public var deleteTrade: (Trade) -> Result public init( - fetchTrades: @Sendable @escaping () -> Result<[Trade], TradeError>, - saveTrade: @Sendable @escaping (TradeDTO) -> Result, - updateTrade: @Sendable @escaping (Trade, TradeDTO) -> Result, - deleteTrade: @Sendable @escaping (Trade) -> Result + fetchTrades: @escaping () -> Result<[Trade], TradeError>, + saveTrade: @escaping (TradeDTO) -> Result, + updateTrade: @escaping (Trade, TradeDTO) -> Result, + deleteTrade: @escaping (Trade) -> Result ) { self.fetchTrades = fetchTrades self.saveTrade = saveTrade From e825198284582a71710d3e11b19260b8c3c789fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=89=E1=85=A9=E1=86=BC=E1=84=8B=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=86=E1=85=A9?= Date: Thu, 28 Sep 2023 23:00:06 +0900 Subject: [PATCH 4/8] =?UTF-8?q?feat:=20ticker=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?=EC=9D=B4=ED=9B=84=20refresh=20=EB=A1=9C=EC=A7=81=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Interface/Sources/DTO/TradeDTO.swift | 4 ++ .../Sources/PersistentModel/Trade.swift | 2 + .../PortfolioNavigationStackStore.swift | 8 ++- .../Feature/Sources/MainTabStore.swift | 8 +++ .../Sources/EditTicker/TickerEditStore.swift | 1 - .../Sources/EditTrade/TradeEditStore.swift | 53 +++++++++++++++---- .../Sources/EditTrade/TradeEditView.swift | 17 ++++-- .../TradeDetail/TradeDetailStore.swift | 4 +- 8 files changed, 81 insertions(+), 16 deletions(-) diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TradeDTO.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TradeDTO.swift index 22879c5..8ea8e65 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TradeDTO.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/DTO/TradeDTO.swift @@ -12,6 +12,7 @@ public struct TradeDTO { public var side: TradeSide public var price: Double public var volume: Double + public var fee: Double public var images: [Data] public var note: String public var date: Date @@ -22,6 +23,7 @@ public struct TradeDTO { side: TradeSide = .buy, price: Double = 0, volume: Double = 0, + fee: Double = 0, images: [Data] = [], note: String = "", date: Date = .now, @@ -31,6 +33,7 @@ public struct TradeDTO { self.images = images self.price = price self.volume = volume + self.fee = fee self.note = note self.date = date self.ticker = ticker @@ -41,6 +44,7 @@ public struct TradeDTO { side: side, price: price, volume: volume, + fee: fee, images: images, note: note, date: date, diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift index 3c7d56b..e91b9aa 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/PersistentModel/Trade.swift @@ -24,6 +24,7 @@ public class Trade { side: TradeSide, price: Double, volume: Double, + fee: Double, images: [Data], note: String, date: Date, @@ -33,6 +34,7 @@ public class Trade { self.images = images self.price = price self.volume = volume + self.fee = fee self.note = note self.date = date self.ticker = ticker diff --git a/Projects/Toolinder/Feature/Portfolio/Interface/Sources/NavigationStack/PortfolioNavigationStackStore.swift b/Projects/Toolinder/Feature/Portfolio/Interface/Sources/NavigationStack/PortfolioNavigationStackStore.swift index d9e6295..5cc43da 100644 --- a/Projects/Toolinder/Feature/Portfolio/Interface/Sources/NavigationStack/PortfolioNavigationStackStore.swift +++ b/Projects/Toolinder/Feature/Portfolio/Interface/Sources/NavigationStack/PortfolioNavigationStackStore.swift @@ -27,6 +27,12 @@ public struct PortfolioNavigationStackStore: Reducer { case main(PortfolioMainStore.Action) case path(StackAction) + + case delegate(Delegate) + + public enum Delegate { + case deleted + } } public struct Path: Reducer { @@ -59,7 +65,7 @@ public struct PortfolioNavigationStackStore: Reducer { case let .path(.element(id: id, action: .tickerDetail(.delegate(.deleted)))): state.path[id: id] = nil - return .none + return .send(.delegate(.deleted)) default: return .none diff --git a/Projects/Toolinder/Feature/Sources/MainTabStore.swift b/Projects/Toolinder/Feature/Sources/MainTabStore.swift index 45bf948..1d975ac 100644 --- a/Projects/Toolinder/Feature/Sources/MainTabStore.swift +++ b/Projects/Toolinder/Feature/Sources/MainTabStore.swift @@ -38,6 +38,8 @@ public struct MainTabStore: Reducer { case binding(BindingAction) case onAppear + case refresh + case selectTab(Tab) case calendar(CalendarNavigationStackStore.Action) @@ -52,6 +54,9 @@ public struct MainTabStore: Reducer { return .none case .onAppear: + return .send(.refresh) + + case .refresh: state = .init() return .none @@ -59,6 +64,9 @@ public struct MainTabStore: Reducer { state.currentTab = tab return .none + case .portfolio(.delegate(.deleted)): + return .send(.refresh) + default: return .none } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift index 864a316..d1cef26 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerEditStore.swift @@ -24,7 +24,6 @@ public struct TickerEditStore: Reducer { public var name: String = "" public var tickerType: TickerType? public var currency: Currency? -// public var tickers: [Ticker] = [] public var selectedTicker: Ticker? diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditStore.swift index 5f942a5..b7fd8bc 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditStore.swift @@ -17,6 +17,7 @@ public struct TradeEditStore: Reducer { public enum Mode { case add + case bypassAdd case edit } @@ -25,8 +26,9 @@ public struct TradeEditStore: Reducer { public var selectedTicker: Ticker public var selectedTrade: Trade? - public var volume: Double public var price: Double + public var volume: Double + public var fee: Double public var selectedDate: Date = .now public var selectedTradeSide: TradeSide = .buy public var note: String = "" @@ -34,12 +36,20 @@ public struct TradeEditStore: Reducer { public var selectedPhotosPickerItems: [PhotosPickerItem] = [] - public init(selectedTicker: Ticker, selectedTrade: Trade? = nil, selectedDate: Date = .now) { - self.mode = selectedTrade == nil ? .add : .edit + @PresentationState var alert: AlertState? + + public init( + mode: Mode = .add, + selectedTicker: Ticker, + selectedTrade: Trade? = nil, + selectedDate: Date = .now + ) { + self.mode = mode self.selectedTicker = selectedTicker self.selectedTrade = selectedTrade - self.volume = selectedTrade?.volume ?? 0 self.price = selectedTrade?.price ?? 0 + self.volume = selectedTrade?.volume ?? 0 + self.fee = selectedTrade?.fee ?? 0 self.selectedDate = selectedTrade?.date ?? selectedDate self.note = selectedTrade?.note ?? "" self.images = selectedTrade?.images ?? [] @@ -49,8 +59,9 @@ public struct TradeEditStore: Reducer { public enum Action: Equatable { case onAppear - case setVolume(Double) case setPrice(Double) + case setVolume(Double) + case setFee(Double) case selectDate(Date) case selectTradeSide(TradeSide) case setNote(String) @@ -61,8 +72,13 @@ public struct TradeEditStore: Reducer { case photoToDataResponse([Data]) + case alert(PresentationAction) case delegate(Delegate) + public enum Alert: Equatable { + case confirmDeletion + } + public enum Delegate: Equatable { case cancel(Ticker) case save(Trade) @@ -78,12 +94,16 @@ public struct TradeEditStore: Reducer { case .onAppear: return .none + case let .setPrice(price): + state.price = price + return .none + case let .setVolume(volume): state.volume = volume return .none - case let .setPrice(price): - state.price = price + case let .setFee(fee): + state.fee = fee return .none case let .selectDate(date): @@ -116,6 +136,7 @@ public struct TradeEditStore: Reducer { side: state.selectedTradeSide, price: state.price, volume: state.volume, + fee: state.fee, images: state.images, note: state.note, date: state.selectedDate, @@ -123,8 +144,12 @@ public struct TradeEditStore: Reducer { ) case .deleteButtonTapped: - if let trade = state.selectedTrade, let _ = try? tradeClient.deleteTrade(trade).get() { - return .send(.delegate(.delete(trade))) + state.alert = AlertState { + TextState("Are you sure?") + } actions: { + ButtonState(role: .destructive, action: .confirmDeletion) { + TextState("Delete") + } } return .none @@ -132,6 +157,12 @@ public struct TradeEditStore: Reducer { state.images = data return .none + case .alert(.presented(.confirmDeletion)): + if let trade = state.selectedTrade, let _ = try? tradeClient.deleteTrade(trade).get() { + return .send(.delegate(.delete(trade))) + } + return .none + default: return .none } @@ -142,6 +173,7 @@ public struct TradeEditStore: Reducer { side: TradeSide, price: Double, volume: Double, + fee: Double, images: [Data], note: String, date: Date, @@ -149,12 +181,14 @@ public struct TradeEditStore: Reducer { ) -> Effect { guard !price.isZero else { return .none } guard !volume.isZero else { return .none } + guard fee < 100 else { return .none } if let unSavedTrade = trade { if let trade = try? tradeClient.updateTrade(unSavedTrade, .init( side: side, price: price, volume: volume, + fee: fee, images: images, note: note, date: date, @@ -167,6 +201,7 @@ public struct TradeEditStore: Reducer { side: side, price: price, volume: volume, + fee: fee, images: images, note: note, date: date, diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift index f266740..3434418 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift @@ -36,6 +36,12 @@ public struct TradeEditView: View { viewStore.send(.saveButtonTapped) } } + .alert( + store: self.store.scope( + state: \.$alert, + action: { .alert($0) } + ) + ) .padding() } } @@ -52,7 +58,7 @@ public struct TradeEditView: View { }) } - Text(viewStore.state.selectedTicker.name ?? "") + Text(viewStore.state.selectedTicker.name) .font(.title) Spacer() @@ -86,16 +92,21 @@ public struct TradeEditView: View { private func inputView(viewStore: ViewStoreOf) -> some View { VStack(spacing: 20) { HStack { - Label(viewStore.state.selectedTicker.currency.rawValue, systemImage: viewStore.state.selectedTicker.currency.systemImageName) + viewStore.state.selectedTicker.currency.image TextField("Price", value: viewStore.binding(get: \.price, send: TradeEditStore.Action.setPrice), format: .number) .keyboardType(.numberPad) - Label("Vol", systemImage: "cart.circle.fill") + Image(systemName: "plusminus.circle.fill") TextField("Volume", value: viewStore.binding(get: \.volume, send: TradeEditStore.Action.setVolume), format: .number) .keyboardType(.numberPad) + Image(systemName: "building.columns.circle.fill") + + TextField("Fee %", value: viewStore.binding(get: \.fee, send: TradeEditStore.Action.setFee), format: .number) + .keyboardType(.decimalPad) + Spacer() } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift index cb18e6c..bb2c12d 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift @@ -56,13 +56,13 @@ public struct TradeDetailStore: Reducer { case .editButtonTapped: if let ticker = state.trade.ticker { - state.tradeEdit = .init(selectedTicker: ticker, selectedTrade: state.trade) + state.tradeEdit = .init(mode: .edit, selectedTicker: ticker, selectedTrade: state.trade) } return .none case .newButtonTapped: if let ticker = state.trade.ticker { - state.tradeEdit = .init(selectedTicker: ticker) + state.tradeEdit = .init(mode: .bypassAdd, selectedTicker: ticker) } return .none From 526100896448073a2e3434020af38af9fea7b710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=89=E1=85=A9=E1=86=BC=E1=84=8B=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=86=E1=85=A9?= Date: Thu, 28 Sep 2023 23:46:20 +0900 Subject: [PATCH 5/8] =?UTF-8?q?feat:=20currency=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Interface/Sources/Model/Currency.swift | 27 ++++++++++++------- .../ExistingUserPolicyView.swift | 6 ++--- .../Components/Extension/Currency+Image.swift | 19 ++++++++++--- 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Currency.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Currency.swift index e32c567..150e50c 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Currency.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/Currency.swift @@ -8,22 +8,31 @@ import Foundation public enum Currency: String, Codable, CaseIterable, Equatable { - case dollar = "USD" - case yen = "JPY" - case sterling = "GBP" - case franc = "CHF" + case dollar = "USD" // 미국: 달러 + case euro = "EUR" // 유럽: 유로 + case yen = "JPY" // 일본: 옌 + case sterling = "GBP" // 영국: 스털링 + case australianDollar = "AUD" // 오스트레일리아: 오스트레일리아 달러 + case canadianDollar = "CAD" // 캐나다: 캐나다 달러 + case franc = "CHF" // 스위스: 프랑 + case krona = "SEK" // 스웨덴: 크로나 + case peso = "MXN" // 멕시코: 페소 + case newZealandDollar = "NZD" // 뉴질랜드: 뉴질랜드 달러 + case singaporeDollar = "SGD" // 싱가포르: 싱가포르 달러 + case hongKongDollar = "HKD" // 홍콩: 홍콩 달러 + case krone = "NOK" // 노르웨이: 크로네 + case won = "KRW" // 대한민국: 원 + + case bitcoin = "BTC" // 비트코인 + /* case florin = "AWG" case turkishlira = "TRY" case ruble = "RUB" - case euro = "EUR" case dong = "VND" case indianrupee = "INR" case tenge = "KZT" case peseta = "ESP" - case peso = "MXN" case kip = "LAK" - case won = "KRW" - case austral = "AUD" case hryvnia = "UAH" case naira = "NGN" case guarani = "PYG" @@ -34,6 +43,6 @@ public enum Currency: String, Codable, CaseIterable, Equatable { case manat = "AZN" case baht = "THB" case lari = "GEL" - case bitcoin = "BTC" case brazilianreal = "BRL" + */ } diff --git a/Projects/Toolinder/Feature/MyPage/Interface/Sources/ExistingUserPolicy/ExistingUserPolicyView.swift b/Projects/Toolinder/Feature/MyPage/Interface/Sources/ExistingUserPolicy/ExistingUserPolicyView.swift index 9d1f1e9..d851b3e 100644 --- a/Projects/Toolinder/Feature/MyPage/Interface/Sources/ExistingUserPolicy/ExistingUserPolicyView.swift +++ b/Projects/Toolinder/Feature/MyPage/Interface/Sources/ExistingUserPolicy/ExistingUserPolicyView.swift @@ -28,14 +28,14 @@ public struct ExistingUserPolicyView: View { Text("여러분께 아주 죄송한 마음 뿐입니다.") .font(.headline) - Text("우선 지금부터 하는 얘기는 기존 사용자들의 데이터를 살리지 못하는 결정을 내리게된 이유를 설명드리려고 합니다. 앱을 업데이트 했는데, 데이터가 모두 사라지는 현상이 있었습니다. 그래서 이를 해결하고자 하였지만, 아주 오래전 작성된 코드(물론 제가 작성했었음)는 문제가 있었고 현재 모두 새로운 것으로 고쳤습니다. 그래서 현재 버전부터는 모든 문제가 해결되었지만, 기존에 발생하고 있던 문제는 심지어 앱을 강제로 꺼지는 버그도 존재했습니다. 이를 해결하는 원인 파악이 어렵고 꽤 많은 곳에서 버그들이 발생하기 때문에 아예 새로 다시 만들자는 판단을 하였습니다. ") + Text("우선 지금부터 하는 얘기는 기존 사용자들의 데이터를 살리지 못하는 결정을 내리게된 이유를 설명드리려고 합니다. 앱을 업데이트 했는데, 데이터가 모두 사라지는 현상이 있었습니다. 그래서 이를 해결하고자 하였지만, 아주 오래전 작성된 코드(물론 제가 작성했었음)는 문제가 있었고 현재 모두 새로운 것으로 고쳤습니다. 그래서 현재 버전부터는 모든 문제가 해결되었지만, 기존에 발생하고 있던 문제는 심지어 앱을 강제로 꺼지는 버그도 존재했습니다. 이를 해결하는 원인 파악이 어렵고 꽤 많은 곳에서 버그들이 발생하기 때문에 아예 새로 다시 만들자는 판단을 하였습니다.") .font(.caption) .padding(.bottom, 5) - Text("여러분께 보상을 제공하겠습니다.") + Text("더 나은 사용성을 위하여 피드백을 적극적으로 수용하겠습니다.") .font(.headline) - Text("기존의 앱을 사용하던 사용자분들에게 어떻게 하면 다른 방식으로 고민을 하기 시작했고, 어쩌면 서비스 측면에서 이또한 하나의 방법이라고 생각했습니다. 모른척 넘어가기보다는 잘못한 것을 사과드리고 보상을 제공하는 방식을 선택하였습니다. 그래서 아래의 ID 값을 저에게 보내주시면, 다음버전부터 광고가 제거된 버전과 앞으로의 유료 결제 도입시에 모든 비용을 0원으로 해드리는 정책을 가져가도록 하겠습니다. 10월 말까지 이 페이지가 열려있으며, 저는 해당 ID를 앱스토어커넥트 측에 비교하여 실제 기존 유저였는지 체크를 하고 그 후에 보상을 진행하겠습니다.") + Text("앞으로는 유저 여러분의 소중한 피드백을 하나하나씩 반영해 나가겠습니다! 긴 글을 읽어주셔서 감사합니다. 다시 한번 죄송합니다. 마이페이지의 설문을 간단하게 달아놓았습니다. 언제든지 피드백을 주시면 곧바로 반영하겠습니다.") .font(.caption) .padding(.bottom, 5) } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Extension/Currency+Image.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Extension/Currency+Image.swift index a8ded12..b0ab46e 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Extension/Currency+Image.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Extension/Currency+Image.swift @@ -13,20 +13,31 @@ public extension Currency { var systemImageName: String { switch self { case .dollar: return "dollarsign.circle.fill" + case .euro: return "eurosign.circle.fill" case .yen: return "yensign.circle.fill" case .sterling: return "sterlingsign.circle.fill" + case .australianDollar: return "dollarsign.circle.fill" + case .canadianDollar: return "dollarsign.circle.fill" case .franc: return "francsign.circle.fill" + case .krona: return "dollarsign.circle.fill" // need + case .peso: return "pesosign.circle.fill" + case .newZealandDollar: return "dollarsign.circle.fill" + case .singaporeDollar: return "dollarsign.circle.fill" + case .hongKongDollar: return "dollarsign.circle.fill" + case .krone: return "dollarsign.circle.fill" // need + case .won: return "wonsign.circle.fill" + + case .bitcoin: return "bitcoinsign.circle.fill" + + /* case .florin: return "florinsign.circle.fill" case .turkishlira: return "turkishlirasign.circle.fill" case .ruble: return "rublesign.circle.fill" - case .euro: return "eurosign.circle.fill" case .dong: return "dongsign.circle.fill" case .indianrupee: return "indianrupeesign.circle.fill" case .tenge: return "tengesign.circle.fill" case .peseta: return "pesetasign.circle.fill" - case .peso: return "pesosign.circle.fill" case .kip: return "kipsign.circle.fill" - case .won: return "wonsign.circle.fill" case .austral: return "australsign.circle.fill" case .hryvnia: return "hryvniasign.circle.fill" case .naira: return "nairasign.circle.fill" @@ -38,8 +49,8 @@ public extension Currency { case .manat: return "manatsign.circle.fill" case .baht: return "bahtsign.circle.fill" case .lari: return "larisign.circle.fill" - case .bitcoin: return "bitcoinsign.circle.fill" case .brazilianreal: return "brazilianrealsign.circle.fill" + */ } } From 8822b2099eb959e0d8bc28003b6def10ff1f2c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=89=E1=85=A9=E1=86=BC=E1=84=8B=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=86=E1=85=A9?= Date: Fri, 29 Sep 2023 13:35:26 +0900 Subject: [PATCH 6/8] =?UTF-8?q?feat:=20width=20=EA=B0=92=20=EB=A7=9E?= =?UTF-8?q?=EC=B6=94=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entity/TickerSummaryDataEntity.swift | 53 ++++++- .../Interface/Sources/Model/TickerType.swift | 2 + .../Interface/Sources/TickerType+Image.swift | 24 --- .../Components/Cell/TickerItemCellView.swift | 1 + .../Components/Cell/TradeItemCellView.swift | 1 + .../Cell/TradePreviewItemCellView.swift | 2 + .../Extension/TickerType+Image.swift | 2 + .../Components/View/TickerTypeChartView.swift | 24 +-- .../Sources/EditTicker/TickerItem.swift | 150 +++++++++--------- .../Sources/EditTrade/TradeEditView.swift | 4 +- .../TickerDetail/TickerDetailStore.swift | 7 + .../TickerDetail/TickerDetailView.swift | 20 ++- .../TradeDetail/TradeDetailStore.swift | 2 +- 13 files changed, 170 insertions(+), 122 deletions(-) delete mode 100644 Projects/Toolinder/Feature/Portfolio/Interface/Sources/TickerType+Image.swift diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerSummaryDataEntity.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerSummaryDataEntity.swift index 5af20dc..6d378c9 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerSummaryDataEntity.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerSummaryDataEntity.swift @@ -29,13 +29,22 @@ public extension Ticker { var yield = 0.0 for trade in trades { - // 평단가 계산 - if trade.side == .buy { - totalAmount += (trade.price ?? 0) * (trade.volume ?? 0) - buyVolume += (trade.volume ?? 0) - } else { - sellVoume += (trade.volume ?? 0) + switch trade.side { + case .buy: + totalAmount += trade.price * trade.volume + buyVolume += trade.volume + + case .sell: + totalAmount -= (totalAmount / trade.volume) * trade.price * trade.volume + sellVoume += trade.volume + } +// // 평단가 계산 +// if trade.side == .buy { +// +// } else { +// sellVoume += trade.volume +// } totalVolume = buyVolume - sellVoume if !totalVolume.isZero { @@ -44,13 +53,43 @@ public extension Ticker { // 수익 계산 if trade.side == .sell { - profit += ((trade.price ?? 0) - avgPrice) * (trade.volume ?? 0) + profit += (trade.price - avgPrice) * trade.volume } } // 수익률 계산 if !totalAmount.isZero { yield = (profit / totalAmount) * 100 } +// +// var totalCost = 0.0 +// var totalQuantity = 0.0 +// +// for transaction in transactions { +// switch transaction.type { +// case .buy: +// +// case .sell: +// let sellQuantity = transaction.quantity +// if totalQuantity >= sellQuantity { +// +// } else { +// // 판매량이 보유량을 초과할 경우 예외 처리 +// print("오류: 보유량 부족") +// return 0.0 +// } +// } +// } +// +// guard totalQuantity > 0 else { +// // 보유량이 0이면 평단가를 계산할 수 없으므로 예외 처리 +// print("오류: 보유량이 0입니다.") +// return 0.0 +// } +// +// // 평단가 계산 +// let averageCost = totalCost / totalQuantity +// +// return averageCost let result = TickerSummaryDataEntity( avgPrice: avgPrice, diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/TickerType.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/TickerType.swift index bdd4908..fb7b138 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/TickerType.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/Model/TickerType.swift @@ -10,4 +10,6 @@ import Foundation public enum TickerType: String, Codable, CaseIterable, Equatable { case stock = "Stock" case crypto = "Crypto" + case gold = "Gold" + case realEstate = "Real Estate" } diff --git a/Projects/Toolinder/Feature/Portfolio/Interface/Sources/TickerType+Image.swift b/Projects/Toolinder/Feature/Portfolio/Interface/Sources/TickerType+Image.swift deleted file mode 100644 index 4efc03e..0000000 --- a/Projects/Toolinder/Feature/Portfolio/Interface/Sources/TickerType+Image.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// TickerType+Image.swift -// ToolinderFeaturePortfolioDemo -// -// Created by 송영모 on 2023/09/25. -// - -import Foundation -import SwiftUI - -import ToolinderDomain - -extension TickerType { - var systemImageName: String { - switch self { - case .stock: return "staroflife.circle.fill" - case .crypto: return "tornado.circle.fill" - } - } - - var image: Image { - return .init(systemName: self.systemImageName) - } -} diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift index fd1663b..2510b68 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift @@ -38,6 +38,7 @@ public struct TickerItemCellView: View { .font(.caption2) } } + .frame(width: 40) Text("\(viewStore.state.ticker.name) \(viewStore.state.ticker.trades?.count ?? 0)" ) .font(.body) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradeItemCellView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradeItemCellView.swift index 45c99e0..f20f91f 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradeItemCellView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradeItemCellView.swift @@ -58,6 +58,7 @@ public struct TradeItemCellView: View { .font(.caption2) } } + .frame(width: 70) viewStore.state.trade.ticker?.type.image .font(.title3) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradePreviewItemCellView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradePreviewItemCellView.swift index 0b074e0..1ed4e76 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradePreviewItemCellView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TradePreviewItemCellView.swift @@ -30,6 +30,8 @@ public struct TradePreviewItemCellView: View { .font(.caption2) .fontWeight(.light) .foregroundStyle(Color.blackOrWhite(!viewStore.state.isSelected)) + + Spacer() } } } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Extension/TickerType+Image.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Extension/TickerType+Image.swift index 0f93887..26bf86f 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Extension/TickerType+Image.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Extension/TickerType+Image.swift @@ -14,6 +14,8 @@ public extension TickerType { switch self { case .stock: return "staroflife.circle.fill" case .crypto: return "tornado.circle.fill" + case .realEstate: return "drop.circle.fill" + case .gold: return "moon.circle.fill" } } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/View/TickerTypeChartView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/View/TickerTypeChartView.swift index a54c869..38a6c3f 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/View/TickerTypeChartView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/View/TickerTypeChartView.swift @@ -35,18 +35,18 @@ public struct TickerTypeChartView: View { } } } - - VStack { - ForEach(tickerTypeChartDataEntity, id: \.self) { data in - HStack { - Label(data.tickerType.rawValue, systemImage: data.tickerType.systemImageName) - - Spacer() - } - } - - Spacer() - } + //TODO: 포트폴리오 고도화 +// VStack { +// ForEach(tickerTypeChartDataEntity, id: \.self) { data in +// HStack { +// Label(data.tickerType.rawValue, systemImage: data.tickerType.systemImageName) +// +// Spacer() +// } +// } +// +// Spacer() +// } Spacer() } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift index 8d8e261..6e214b8 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTicker/TickerItem.swift @@ -1,78 +1,78 @@ +//// +//// TickerItem.swift +//// ToolinderFeatureCalendarInterface +//// +//// Created by 송영모 on 2023/09/11. +//// // -// TickerItem.swift -// ToolinderFeatureCalendarInterface +//import SwiftUI // -// Created by 송영모 on 2023/09/11. +//import ToolinderDomain // - -import SwiftUI - -import ToolinderDomain - -public struct TickerItem: View { - private let ticker: Ticker - private let isSelected: Bool - - private var action: () -> Void - - public init( - ticker: Ticker, - isSelected: Bool, - action: @escaping () -> Void = {} - ) { - self.ticker = ticker - self.isSelected = isSelected - self.action = action - } - - public var body: some View { - VStack(spacing: .zero) { - HStack { - Image(systemName: ticker.type.systemImageName) - .font(.body) - - Text("\(ticker.name) \(ticker.trades?.count ?? 0)") - .font(.body) - .fontWeight(.semibold) - .padding(.trailing) - - Spacer() - - Image(systemName: "checkmark.circle") - .font(.caption) - } - .padding(.bottom, 10) - - HStack(spacing: .zero) { - Spacer() - - Text("++76 ") - .font(.caption2) - .foregroundStyle(.pink) - Text("--59") - .font(.caption2) - .foregroundStyle(.mint) - Text(" 12 vol") - .font(.caption2) - } - - HStack(spacing: .zero) { - Spacer() - - Text("(avg) 12,000 \(ticker.currency.rawValue)") - .font(.caption2) - } - } - .padding(10) - .background(isSelected ? Color(uiColor: .systemGray5) : Color(uiColor: .systemGray6)) - .clipShape( - RoundedRectangle( - cornerRadius: 8, - style: .continuous - ) - ) - .onTapGesture { - self.action() - } - } -} +//public struct TickerItem: View { +// private let ticker: Ticker +// private let isSelected: Bool +// +// private var action: () -> Void +// +// public init( +// ticker: Ticker, +// isSelected: Bool, +// action: @escaping () -> Void = {} +// ) { +// self.ticker = ticker +// self.isSelected = isSelected +// self.action = action +// } +// +// public var body: some View { +// VStack(spacing: .zero) { +// HStack { +// Image(systemName: ticker.type.systemImageName) +// .font(.body) +// +// Text("\(ticker.name) \(ticker.trades?.count ?? 0)") +// .font(.body) +// .fontWeight(.semibold) +// .padding(.trailing) +// +// Spacer() +// +// Image(systemName: "checkmark.circle") +// .font(.caption) +// } +// .padding(.bottom, 10) +// +// HStack(spacing: .zero) { +// Spacer() +// +// Text("++76 ") +// .font(.caption2) +// .foregroundStyle(.pink) +// Text("--59") +// .font(.caption2) +// .foregroundStyle(.mint) +// Text(" 12 vol") +// .font(.caption2) +// } +// +// HStack(spacing: .zero) { +// Spacer() +// +// Text("(avg) 12,000 \(ticker.currency.rawValue)") +// .font(.caption2) +// } +// } +// .padding(10) +// .background(isSelected ? Color(uiColor: .systemGray5) : Color(uiColor: .systemGray6)) +// .clipShape( +// RoundedRectangle( +// cornerRadius: 8, +// style: .continuous +// ) +// ) +// .onTapGesture { +// self.action() +// } +// } +//} diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift index 3434418..c621e53 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/EditTrade/TradeEditView.swift @@ -95,12 +95,12 @@ public struct TradeEditView: View { viewStore.state.selectedTicker.currency.image TextField("Price", value: viewStore.binding(get: \.price, send: TradeEditStore.Action.setPrice), format: .number) - .keyboardType(.numberPad) + .keyboardType(.decimalPad) Image(systemName: "plusminus.circle.fill") TextField("Volume", value: viewStore.binding(get: \.volume, send: TradeEditStore.Action.setVolume), format: .number) - .keyboardType(.numberPad) + .keyboardType(.decimalPad) Image(systemName: "building.columns.circle.fill") diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift index 614062e..8b6550a 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailStore.swift @@ -20,6 +20,7 @@ public struct TickerDetailStore: Reducer { public var tradeDateChartDataEntity: TradeDateChartDataEntity = .init() @PresentationState var tickerEdit: TickerEditStore.State? + public var tradeItem: IdentifiedArrayOf = [] public init( ticker: Ticker @@ -37,6 +38,7 @@ public struct TickerDetailStore: Reducer { case tickerTypeChartDataEntityResponse(TradeDateChartDataEntity) case tickerEdit(PresentationAction) + case tradeItem(id: TradeItemCellStore.State.ID, action: TradeItemCellStore.Action) case delegate(Delegate) @@ -49,6 +51,11 @@ public struct TickerDetailStore: Reducer { Reduce { state, action in switch action { case .onAppear: + state.tradeItem = .init( + uniqueElements: state.ticker.trades?.sorted(by: { $0.date < $1.date }).compactMap { trade in + return .init(trade: trade, dateStyle: .short, timeStyle: .short) + } ?? [] + ) return .concatenate([ .send(.tickerTypeChartDataEntityRequest) ]) diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailView.swift index 68a065d..b6a148d 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TickerDetail/TickerDetailView.swift @@ -26,6 +26,9 @@ public struct TickerDetailView: View { VStack { TradeDateChartView(tradeDateChartDataEntity: viewStore.state.tradeDateChartDataEntity) .padding() + + tradeListView(viewStore: viewStore) + .padding(.horizontal) } } } @@ -48,7 +51,7 @@ public struct TickerDetailView: View { } } } - .navigationTitle(viewStore.state.ticker.name ?? "") + .navigationTitle(viewStore.state.ticker.name) } } @@ -57,4 +60,19 @@ public struct TickerDetailView: View { } } + + private func tradeListView(viewStore: ViewStoreOf) -> some View { + VStack { + HStack { + Label("History", systemImage: "clock") + .font(.headline) + Spacer() + } + .padding(.bottom, 5) + + ForEachStore(self.store.scope(state: \.tradeItem, action: TickerDetailStore.Action.tradeItem(id:action:))) { + TradeItemCellView(store: $0) + } + } + } } diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift index bb2c12d..a5060ae 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/TradeDetail/TradeDetailStore.swift @@ -48,7 +48,7 @@ public struct TradeDetailStore: Reducer { switch action { case .onAppear: state.tradeItem = .init( - uniqueElements: state.trade.ticker?.trades?.compactMap { trade in + uniqueElements: state.trade.ticker?.trades?.sorted(by: { $0.date < $1.date }).compactMap { trade in return .init(trade: trade, dateStyle: .short, timeStyle: .short) } ?? [] ) From bde146e0ffc68e1f9740f429efd6d96d3c9a8830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=89=E1=85=A9=E1=86=BC=E1=84=8B=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=86=E1=85=A9?= Date: Sat, 30 Sep 2023 15:08:15 +0900 Subject: [PATCH 7/8] =?UTF-8?q?feat:=20=ED=8F=89=EB=8B=A8=EA=B0=80=20?= =?UTF-8?q?=EA=B3=84=EC=82=B0=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entity/TickerSummaryDataEntity.swift | 40 +------------------ 1 file changed, 2 insertions(+), 38 deletions(-) diff --git a/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerSummaryDataEntity.swift b/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerSummaryDataEntity.swift index 6d378c9..9cc31ed 100644 --- a/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerSummaryDataEntity.swift +++ b/Projects/Toolinder/Domain/Trade/Interface/Sources/Entity/TickerSummaryDataEntity.swift @@ -35,16 +35,10 @@ public extension Ticker { buyVolume += trade.volume case .sell: - totalAmount -= (totalAmount / trade.volume) * trade.price * trade.volume + totalAmount -= avgPrice * trade.volume sellVoume += trade.volume - } -// // 평단가 계산 -// if trade.side == .buy { -// -// } else { -// sellVoume += trade.volume -// } + totalVolume = buyVolume - sellVoume if !totalVolume.isZero { @@ -60,36 +54,6 @@ public extension Ticker { if !totalAmount.isZero { yield = (profit / totalAmount) * 100 } -// -// var totalCost = 0.0 -// var totalQuantity = 0.0 -// -// for transaction in transactions { -// switch transaction.type { -// case .buy: -// -// case .sell: -// let sellQuantity = transaction.quantity -// if totalQuantity >= sellQuantity { -// -// } else { -// // 판매량이 보유량을 초과할 경우 예외 처리 -// print("오류: 보유량 부족") -// return 0.0 -// } -// } -// } -// -// guard totalQuantity > 0 else { -// // 보유량이 0이면 평단가를 계산할 수 없으므로 예외 처리 -// print("오류: 보유량이 0입니다.") -// return 0.0 -// } -// -// // 평단가 계산 -// let averageCost = totalCost / totalQuantity -// -// return averageCost let result = TickerSummaryDataEntity( avgPrice: avgPrice, From 6ec8b0c411567d8ad5657de6a0effba98d0b484c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=89=E1=85=A9=E1=86=BC=E1=84=8B=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=86=E1=85=A9?= Date: Sat, 30 Sep 2023 17:16:43 +0900 Subject: [PATCH 8/8] build: v2.0.0 --- .../DeploymentTarget+Module.swift | 3 ++- .../AppIcon.appiconset/100.png | Bin 2947 -> 2477 bytes .../AppIcon.appiconset/1024.png | Bin 60379 -> 51931 bytes .../AppIcon.appiconset/114.png | Bin 3369 -> 2910 bytes .../AppIcon.appiconset/120.png | Bin 3444 -> 2973 bytes .../AppIcon.appiconset/128.png | Bin 3614 -> 3131 bytes .../AppIcon.appiconset/144.png | Bin 4305 -> 3643 bytes .../AppIcon.appiconset/152.png | Bin 4419 -> 3695 bytes .../Images.xcassets/AppIcon.appiconset/16.png | Bin 348 -> 395 bytes .../AppIcon.appiconset/167.png | Bin 5095 -> 4288 bytes .../AppIcon.appiconset/172.png | Bin 5299 -> 4397 bytes .../AppIcon.appiconset/180.png | Bin 5533 -> 4614 bytes .../AppIcon.appiconset/196.png | Bin 6271 -> 5025 bytes .../Images.xcassets/AppIcon.appiconset/20.png | Bin 434 -> 508 bytes .../AppIcon.appiconset/216.png | Bin 6858 -> 5644 bytes .../AppIcon.appiconset/256.png | Bin 8510 -> 6933 bytes .../Images.xcassets/AppIcon.appiconset/29.png | Bin 657 -> 716 bytes .../Images.xcassets/AppIcon.appiconset/32.png | Bin 733 -> 788 bytes .../Images.xcassets/AppIcon.appiconset/40.png | Bin 981 -> 968 bytes .../Images.xcassets/AppIcon.appiconset/48.png | Bin 1195 -> 1200 bytes .../Images.xcassets/AppIcon.appiconset/50.png | Bin 1257 -> 1264 bytes .../AppIcon.appiconset/512.png | Bin 22024 -> 17838 bytes .../Images.xcassets/AppIcon.appiconset/55.png | Bin 1436 -> 1375 bytes .../Images.xcassets/AppIcon.appiconset/57.png | Bin 1578 -> 1509 bytes .../Images.xcassets/AppIcon.appiconset/58.png | Bin 1538 -> 1477 bytes .../Images.xcassets/AppIcon.appiconset/60.png | Bin 1571 -> 1517 bytes .../Images.xcassets/AppIcon.appiconset/64.png | Bin 1706 -> 1592 bytes .../Images.xcassets/AppIcon.appiconset/66.png | Bin 1802 -> 1684 bytes .../Images.xcassets/AppIcon.appiconset/72.png | Bin 1947 -> 1847 bytes .../Images.xcassets/AppIcon.appiconset/76.png | Bin 2125 -> 1928 bytes .../Images.xcassets/AppIcon.appiconset/80.png | Bin 2227 -> 2060 bytes .../Images.xcassets/AppIcon.appiconset/87.png | Bin 2474 -> 2248 bytes .../Images.xcassets/AppIcon.appiconset/88.png | Bin 2443 -> 2246 bytes .../Images.xcassets/AppIcon.appiconset/92.png | Bin 2615 -> 2344 bytes .../App/Support/ToolinderAppIOS-Info.plist | 8 +++++--- .../Toolinder/App/ToolinderIOS.entitlements | 2 ++ .../Components/Cell/TickerItemCellView.swift | 2 +- 37 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Plugins/ModulePlugin/ProjectDescriptionHelpers/Taget+Extensions/DeploymentTarget+Module.swift b/Plugins/ModulePlugin/ProjectDescriptionHelpers/Taget+Extensions/DeploymentTarget+Module.swift index 6e350ab..60850ad 100644 --- a/Plugins/ModulePlugin/ProjectDescriptionHelpers/Taget+Extensions/DeploymentTarget+Module.swift +++ b/Plugins/ModulePlugin/ProjectDescriptionHelpers/Taget+Extensions/DeploymentTarget+Module.swift @@ -13,7 +13,7 @@ public extension DeploymentTarget { switch product { case .Minimal: return .iOS(targetVersion: "16.0", devices: [.iphone]) case .Dying: return .iOS(targetVersion: "16.0", devices: [.iphone]) - case .Toolinder: return .iOS(targetVersion: "17.0", devices: [.iphone]) + case .Toolinder: return .iOS(targetVersion: "17.0", devices: [.iphone, .ipad]) default: return .iOS(targetVersion: "16.0", devices: [.iphone]) } } @@ -33,6 +33,7 @@ public extension DeploymentTarget { case .macOS: return nil case .watchOS: return .watchOS(product) case .tvOS: return nil + case .visionOS: return nil @unknown default: return nil } } diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/100.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/100.png index 11e7593c3550e14f126861002cd3f471bdfbf7df..4f03c930e903beaa0b5231c695adfa89649bd0c7 100644 GIT binary patch literal 2477 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 G8uwoaJb4-b delta 2928 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

AGK2(B2X^&ij#_K-R>*UsW~D3 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

@;=|s&E({cJn7f-;}y< zh;4z(l>%rynZf77PVRkNzkHx~@WF_XK|_QPQ3E9(b7&glPU&+Jj8N6KhU=Ev$SqB& z&^QlO6uQ>#udoD!At5*gFYNkIUfgh>QG#8*&MR5+lTCjy7vvX$)-|f3-$Sq$sHvp# z^4GwR%7a^-*85I^3uei=deyQ9FswY^nwM*4FiL({Gk(IR$?TZAM+Z}S@}sRRsM+)< zTa)+zrsW^QUaJWUl*@;JV%@4zixrWo%&%0DWq5d0qbWGIEJprqL0Dk_Q5lOhF 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 diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/114.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/114.png index 30bf05f9f88e3f9e9c90fd6f3ed9b426d337dcba..7071df2340e169c7530fab021cc8ca83cd291e6d 100644 GIT binary patch literal 2910 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 literal 3369 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 diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/120.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/120.png index 37d3cb4079397c028ca870c020b07d83b2d72084..7a4a802511eec42cc4ef6434c58a4707ce44c11f 100644 GIT binary patch delta 2955 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 diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/128.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/128.png index 5eb7a085b844e8cd26c370d2e03d5d22ff013f74..d4d73eaea876927eb8704f503d0feeb5eb10d5bd 100644 GIT binary patch literal 3131 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 JtkB0t{0A2dlIj2e diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/144.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/144.png index 42f1bbde24d7be4e8232c4c1da3b863a822da0e3..55fbb5ffe4cbafffd08a5b7bf4bfff2f05c7ad03 100644 GIT binary patch literal 3643 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 Vvh;?2`RNAPhQJ-%pS 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 literal 5095 zcmdT|_d6Tj_earM)k>9`Rhyt{#jeuY(Q1v@dv75qs?}E2s2M_ty=P)awQAK0MXE-K zz4zAQllNcoeZD{3d!Ogt^PF?fJ>zxGjeZW+WT0iEB_kta(ALs0B(25&jT_XY8G2W5 zleCcg8)`lwtHN=tk&yv%wKddU1zBxn1yt~NF-85Qh`}^b!p6G@1cJ;@ZmkL1FJWd+N{eWBy+3A5LGA2mWPeQx6!&&g=R2{Y(#^w$x>)kLISnha-YAY? zfGADvCQ2TOX(+3Gdk@+D*puJJ=eMzp?8C@W){;s}dfa4LH?@-w+qL@Ch<1oM{?B)M zuzgMg(?gJZIU9R=yDRG2KsYeTxs3^(tmc1d@gGti|9ZBZDMki6^^I#CAZ|Y1LVr?^x*5>J2}53g z81`?!U&0F&cI?Yy;q#V!@@;H$C$T~Z^tO4U3fpopq^cS%R$HJ@Q_`8m!S2c}mDW7ZQRN;s|1m(@7TAbG+{tEuIODp$SN4<*KlkfR$;J^K zQGQt02Y(!+>ObOgy8X?QE*9(4t4wzZ!64Ed7E_uQJ8mita0V|XM(eUfaEG7fntRsc zr|BeGi2@le4;b&??>hp}B4IPZ%agi&Q$S~CwWFi6p#4-6E8hd0qBoN@t%~6@(j#P| z5Y>${Au~x#UqrU~?wI;^F<&TG_`L$}I?3z))LzRkOtYF)K3hz_5KzgWtVH*TY|lk; z2WEP=HDiw_-2p-}>eolkR#3BFkA9m|yU-vqmw>{2gCj!<8^Feu?AHQSW;QpuRi?$7 zi0>{}0ANtAft0@T(U@4(#cl^9Op`MprTI9?Pp%(wUr67koBK^DBcW~-JT*TOt@Z^p ze?txjT4xAB|hj5<)gA#kSdo@0!|> zTWfMlyCnQw_@X*Z@`;^|4cnQQS5|=&j$tk~`aIOmwUo5DTN>k*u&g1YB0&WMrM>q< z!H<3=$}F;t=oe&B7FMiIIHR^m+DZ6t@k`soF>witBgGkRWd#-p@a@}?+5R|r8jsHg zzDEUFBUKleAr*hpPVwKhVia%%a>ww+wivlDufc5>xBcg4S`ieiy+?_>ngUWjg`c(L z5(5pT&`d|B_&C`~Ay;a0D@8QF4IIO8k76q~ifccWyS)_6Cn*$g0R308;d9mx#OU=0 z$jt=h8^}YZCobJxeU^V}M%do7esdA9(_mC}r=T-uZ163xE&|=u6gpzyw`D8ue>~v~ zvkpHiY(5UOO>I8%Si4aZ$*A&&(|l7O^;wljDRmbL z_g?-qsDbj)E2p+31^MOyB~U6i0XnKrAlU`=y%Gwj%Jvh0^PO`Zvo3F2ygWCNmSX5L_-xB5dRvDgE+NP~tO-qY(}H zs;Q1TPQyL-!(FtWla-4jAn!7XT&PT8qXH9;U5HnF)SpU5W%_j6)Q5>;xHiQI$A_2p z`14R#)RD}M#P|+*z!BaAOA1o7;{$a|&Xmum=?Co zy3p1~q(2l)Q|Y?%vWXN%J^D&}onpfG*XPH2Vk}y`$`5W(-Bdmt9`F+o7BP;za}#)382DJkl+os7>DN z*TiAlPMhA*bC zwy`^b;}-sL*pr#p1i9JJB^Np+pdO9E_Gzk9ZS&(+}jgm}Ee7NalUMo3+C z;=EFGh-(IlPD%KJB=H0u->WxqFC;s2{D|+gx@BDiRc5GHjtFat`D78)#0?M@6z~A5 z3V@elM$5fa-9QKPKk+8k%F(=3WVD@3%j7iaJd_17=}%EUKWMg-4OG_H2I^i5@&^p7 zU6*fD0$%%-EBO)dD9m-l{@;3eb!aGUiL^!(R^;S|hKK@*nbuu|a6HoX<2_nJAlxWV z?%?fpuH8PT-~UM0Kl=-HmmGyl$C_)OlE7hdrUfH;ZCi!GZFL4yp}6u=`uoztIVyM= zk^RXa|DBZbJ)Zc^rTtX~6_E@*O^PQBw7MH9vfBdNl(o)Xi{Ej=?FE59ROk z=UW;?wP~#lc2K&p{`MIp<*yAM$469kuH{)Qfn!@MzrG7^e4ul%%Lf_O+NOe-_-oq9 z-GkGWF}L)4u3ifOYo5gXG`(x?A*mX?0HGm=-dH}Q6z>NRmt8^a0J8Oy**DhB5xd?L z>{Li}I?yxcSr&7Cs&80lV&iN$*5vLKv&c&6^SN0Zk5kuh$}3^oT}KO&H_@Ru)6tK+ zcsYWIZ!ael^`kDnsZ}Z?nHI^fa}dD_YkU&iIZ0i@83ZQHnKxG#Dy3nwVJE>Gx%s%{ zkHF^>+lsLU6Ay~@LfOCttL#mOBf9xyb-#W3QYBhb5tH@8N!< z6wN!4rW}iPu(bPAEhM4;EVQrx)+dADK|NN~zJ+U}#Ka3|d?wS*JZ*uPYQ66V!DY zFBqhujyopqpx_&AgzC2Qva5#v2fO}8J~f{U-lTiJjHxo`fEeF48cLpG9G857u?}8J z{VKEModFry*lNC6js8I^n!Z#a0?n%Kwx$GQG@9U=gRGC6ciR4*BN}fC-1^6*W$!bU z)hCz&AfvGS!-wu<(ruE$fjagY+s4*^tn_mg&9rcKthTiMhQCbaw2+n`9QM<>Pr}qn z>%9K=QGQlHK(-fihK#LUhuP%iDmu?QWsu{Cy3A`OdN|$=CtjD(nC~+qrh0Ms@|#d) zRcW5M#+<|;Mbc-c9CALXU=eU|ltS*Gi)~Vw){u^2|FD{=&y>-7v&K%j1K!Z;$5qaY zVC_lR) z#Ls3h1%G!E+SKet1HX7BPzTXj9C7Xqe^lO`2zlIhZhx<%K{Z4f!B^I=LwEGUDVf}O zG-5`aw!c&m{AK}?+_9O`$`y)BHvysM^}oifeN>sRWFZI3KT0?nuWwh~0ij;aDxrdNS%=?Xj53jNOy1 zH!`ur8wmWi@Yk1HD@Ya?vI^{_P8g}8E+Mo$wfsgZm0NVhoB3$e6{2~4r+|aQva(91 zoB{!kK)VV5yaptM5wUVyjBv_u7^R#at?l8OvYx5ZhLlSLyHn@>c)jy=d~aQM%c}9` zgP0)E>m_S754`R2i{>go=<$e6?S2T=So2D@V)Q`-KPSqm(!6J6tMvfKS!}zAn*c=P z({w&>U@(*9%$iPOjh|%Vf$lOF|ME2R1Yj|$0#Xhkyv_(mIDD!k_&ric%Ej%> zO-J}#@4{*ud75UK=vd$J%r#4wqcrYLh-5ra6!Wb89xcD9N?|z?|Ha(X|V)5WfJc1!{uyj=02II zo)RNRB1C@kHQ>WF=gGi|Czu$`OjH{p) zTi^b*6KxHFBf~SPcMZ{<1QtR$i%t1CJ+-rrU2Z+QN@!Ci33$vaIK4PoEFHEeIW{^G zYsHod5!Vzn6Pc^Z{#b!#i37uVIoF<8c(I8HXnY17_+>lJn* z#^PjcXoMoEmDH4QGM1MDnlLqvFcoi5%G+E687lzEUK!a)puByST}&b*c_?aXxWvCV z%!a>)Ev1??kO|bBOnIxq`h<)5B+JRDT)tE9mIa(!eU!ZLpmt{Wq!7_93#6Q1|OL0;GCl5P+Ul?8OqSBeau*M zAn;Nj9lw>0CwlO5He2+ir$`CA_sNJ-^W!yAHLEP%u%wETPg%4;a8>k)K%Qh4g{U78 zxo`O`0CByAj>%NfXf=cb#0z68<|I$&@Tw3=ld>p*=}YbNHfu(+>SWpa-2Evs{W%e$ zNZ4FkX0QP5+!+zAg^Z{*Kk{^}w19BwahJNBcy!aRyPdIH?VIfz#WWye-~A z1l&n8ta9j$!jF{q5`fNB!LEkVqy}EjuJeZ6Qp!sK0P4__Qd}`~*NoZfu8ppw$c?Fe zB>sKZ1UkI+SK9b9f3oaj`*9~sBsIhSLv+jyY*0GBLfjpL#5=+xy1T84vjQ_Zl8P7u z?<|Y;Y@%EV+nhHhfX>cO=){C1w5SYaD+(1lRW>&>gZH{vu%sq0qifTm)3|N(N#F+} zLUiX@i?R6*IHcVif4EP!Wy8|;uzrKlb(I0Q>`^jrALJ1!MJ*-+jiq*0XXfs(XGco9 zl;+w?gV@VXS-GZ&v1+;uocZk&&%1hd|4=*Ao4KvBGT=UnsC?{^1=$Z9s`t3~$iCW> zRBC9y7YS!mcovDt{rqLFmI23FH#RKEhGZ}brT^mT)16cJG5#0v|AWXYa+kFBPLLZm Sk@Ry%ru`JGQT4>;-Twe*mH4s% diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/172.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/172.png index 647d03bc47e5bd55ce5aa098d6342e85514f362c..5cff7e543a7ab323101dff37832c6d68b1ed05ee 100644 GIT binary patch literal 4397 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 diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/180.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/180.png index 1677a8e6eee378f7b7a96e47f3fea19eebf7269d..a7989e5c55a12dab0d8c38b4fc5c3e3106ce275b 100644 GIT binary patch literal 4614 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 literal 5533 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 literal 6271 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 LNkvXXu0mjfs^{Ri delta 395 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 literal 6858 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 VjW4v;7@Ttf*xS0QrOKAU{{_V;Y)1e9 literal 8510 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 IrDz%PKOxx80RR91 diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/29.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/29.png index b042f04a0c26582fdb5a8877bef06253e5174bf7..040323c43a514d9aa3faae72dad7534f94f16ad7 100644 GIT binary patch delta 679 zcmV;Y0$BZ#1oJ?nRIN=lR2A*}ONyWxjRy2tE`OJ}xVS*6R9fBBvrUI0 zsIWAhP9vF2B9qA=l}bUW)f+=~IvwWoInK_`SYa?2#P#(xE55n8f%twCwHraTS}hif z1$K9L@%s9T^Ye3*%VmT@AzWQuVQ+5_-EJ4+cXD7^C}l`02>SB!g4^3$BoYajOeTy* zBV@B#oSvRye}8|Uq2z{KzOqn}7b&va?eKU!oFPq4i=l1v`1pvYrzdt`lYAwiBBw|s z!ll{S*jly6sd^mH- z=IL~bLZN`8qa$uH#Ueh6>=i2V`8-=pnaK^xoLU@<#U#tLR;d660s&Mi6;?VN4nLf; zgTVk6i+_cmiSyWOHnY-`lM_^{)i1$op<)u7&Bn!{$;n1BtX3;$NE!G0{nc~Yv$Pm0 zRH*+00VD*-QCK?3k^UF!`9?x2`0^HO>6`ecjDn-1k1`Ip;a&xt9ZAhhKbg z{)7Ic;(w03TrL;8-3}ZM2ixuTYEgcFraT^xGBcS>NG6jA1b+gk)oLKjH=7M>##b>V z#R+J!ScF2MK(E)s{rx=!y+&r%piJSLn;VqNWmqg0lu9M&^?Hm(qpN^fff7JIpO58o ziFiB?olXa{*^Fwnih8|{NF)NGP>A>UcUFwgf|3~$mmW$tolX%7h4B3R46oOVL?QvH zRJxxhX^>p!czAe#N~J=--$y2sp~Y9L70oD7fyhdl@%#PMT%Aq_>2#W!?Xw)81Z4`oy}e<* zUc+v;qt$Bd88FY8JM%!R)#CN_mBvRVlYMHgvrO;q?tf?&H5v_u!y#q*^74YkVzFl` z7K`C>xhPY)Tuz%yrBc*nS1~;vic+bB+wF$a>BM|Kr!gTjCDJyVO^8GyYOJTHCkzII zug#Qs>y#5GlL^A%FmkyZd_Esyu^5%|+&jlzuyXHVP6^2E?JZq}WCao#qtWR1<@B&a zW+M@YR%9v_y8a4<0+o6^9)JHvI+Tuto`8`UwcBmjY&MW3@?#61`N|lLMm#<~A{Y$P ze-13wyLjwN@?NZZ;lRHG`T@h~HxNKyJ9+>B002ovPDHLk FV1hYTEDZnv diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/32.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/32.png index 192e83c80d6d525e8b8eb49008c85637061a5adc..0fefc409907e428ccfab0192403a56f4a36ece57 100644 GIT binary patch delta 751 zcmVb6-+Rt;&bg1* z0N?{Z_!xc({3`Gr1%`%(IKJI(ci1ovKb@+Tf#=5$?g4t}w)6*05 z+M$_%!C>GD$@g-(jE9E@xLhtKaD9CZtJMmN#li$gp^p!34OTM&@i-QX!EU!>W@d(S zKo8A5K0YFo$$!A>_3FxlCISNP_xllvM6kHHh*GJ<)ygqkSXe-@SVSNYz~$woW)i9d z#M7mvCFJvYxZQ5t+}wNu5P}rOL?VIZT;bc>8(v;s zAoJw+4eQ@!|Utor{iuinNTPcxE})s}QaKOVkp8fmwUTd8r z12DxeF4+cP(}C}FKqeyz0n_RFI$m3ZR9qCE{Vml{YXOLYJAXSn3^5oCur7pT0MYi{ z-Cb0xRlL8y!(=is#5&`U44_mh@%HwHP$-1!>ubp6a>V0tKEyRCV~`9$1t*gUn$0E` z-P+oM*XxDRXk-|=CS^$ipdHfE>-DHqD%juO=UsQZT^t=9q1|rtb?VTnYbgNDT%l0# ztcB`hu^7(I&VO)vddhW5r4pW>pAim+`TVQ@%mZ2qF#AWd*^JA}O9TP|I2;b-ayh>2 zbUN|)_=uaE8$3Nd;pOFJ)dpZLfUwox-X0flxm-9rJmlTp-rgdc&Hj-C1m^SkaB^~j zR;z_nDuqlYgMPoi(4t=g%v!BnE@L~zzcz9rd*VosD0MsSB-HxlPD{OCX!(y@U2IghN(h*SFQG00wq<#vYySqE2 z)9Fvkk^S6mH|N6f@iFT4I*)+#uq-7diI5(CadE+FCtXkhS_GF&CJ~KBSsS%l?fW7W zPY{-(fPWDoLu$9#Y_M9bd>g60P$(c0iSRjfgpOJ3{)i1l5b1O}9>u}I0S8g1(}BTY z_|(Ub2GQT-B5oUv1`>$`R4Nrb9uLp{pGPslh!;*U7=+*N=c1I11Vf1_W%rz#Qoo2q zMvyyb_B3bm`XZ|>Qlw-6k@fUm&}cNAhNIEw|1o`#%(~;(KFMYw<|W*!L9o^cR(<#? e_iX?+9ryrk^jHx6NdtQT0000(@!)2 diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/40.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/40.png index 783c8b8732c40981bebc6a3b518a73aac8b281fd..e8a482f466aed9e8ac983a9682931c5044da5592 100644 GIT binary patch delta 933 zcmV;W16usm2gnDIF@J(dL_t(oN9~wRD11>E#-A}ho5V`9va;|oi@}OSA%!Lr8)eGc z$JWAUiOj;*$JT3Dg0!NkM_Mn*;iaB^}IqoboxV`h|7_gDg? zN>q-DZEkL2e0&^KbZl%4t*x!1sG4II(lj8qm0MU?ScucpQyd>3qo$@tIQIAV;dZ-G zQc{9wG%6{;xqoKD6rjpGE_ir&h@zq*l$Ms_^72v`oKB}epP!$js;WwUGn##uMdrljo97YmF;A3+Z!4hu(Pv++1Xk2_xGF5N5g;$uB)pHi;IgG8XAJ%@Baj# z<_r!FVrps%KA#UuOG~C84FRfzFDom<$;k<}x3|&U+vz6n_*5Xl!uo>go!anVB+1pqrZ;R8&;RRaZqVz}STy4u^c5o}NZePY*mE4>mS7 zKIN9mRTgWG&CShWU|>L??(gq)vf^WoAwcC$uh)yUwKZ|*@bK`riLW5p_Be<4tgo*d zcCt30TCljdSlr0E*VNSXpMyVoXpEBsfdK03>wm?`XJ==IoU8@Nt>GstD@$5hZf>qD zc71&v_kgMnu*_M$)ZN{kIREMCNnEVsWGz6|OIesZIyz8YT`i@?NU+2l92{U}Wkm|N zZhuY)sPc}6V6rnVE-s|5eJvGKh(U#8gD|X{JXkP#dwVfIKd+UK2?5oc*4EZa4I?m} z9DfU^N=92-n*h)ZU&{!eLkF|Fu!ipK?P;l)5YWgr27^JFURPIV@o~?3tbZ=dbYNL@gAgVB#%@K9>uI4^*`!qGXLF*J+LNH zMt3|Z3hFLqW?oVOQ-6J!*@B(B delta 946 zcmV;j15NzM2h|6VF@KLqL_t(oN9~tOC~aXFhTrWrqL6{)mP;{GGB6=Yk}{H85*ZjM zmzXGF7s7y|7#N6w+!6y~qR7yINRmqtp%@T~+ zmH;ZC@bGYfJU>6T3{o4=+uK`8nv#-&wY4?*oR*e`t*tGvJK^W&hsMT6goK3P;o(8M)LIHsA*xqW zQiAdEam2>P3V-0<-X01H3NSl63$}ocirRo&e0_Z#VPRnc$m`_f1V=|l$jr>tF0(iEUEcmo3ik(ZYzP#GB+ zvIdo-g2t1ix3?D!4GnUCWn~2;BO_Q`Togs!3G+_@6gsB#02RHwywn3U_6m=(nwlEPJYQd5DeKtSm_tox!$Lwrf(WKIZ1;zIRwq=JEIUmvO7RyITP3>+5CQdVG8|}hic?cPEN+^>Z+VP>FMd%-rg4Vbl>o_6*R(!hK9j3U0U^A%K(4$Yo}wkHtrX052asf5-V2^x8j~_*)u$Vy2^SK{O=X~01N;5 U5b_-yYXATM07*qoM6N<$f&>1?{r~^~ diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/48.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/48.png index 3513fec1950d236b20fbd3706ac30b7091992bdf..30f8d9e222eb42ced54d1f0bf4c7a30afc37e636 100644 GIT binary patch delta 1167 zcmV;A1aSMS39t!}F@I`FL_t(&L+x2hC~aXBUdQ`A!9bK0r6?kA$w(d(#6Tp4p+^iD z$TKBHm|~!i@|<{OLLm}TlroSa158BT+`e^Nw|#Ht+;jHh+?zV9bWVH!|G&R)ecxLD zzYh};ebF}#lY_v2R?nfpe-?lo3OE$dnE|_6$jQlx;eCF7>VJf3dAi*Qm`o=6`ue#? zD!&`e#4ZE`a8OVX&KSg+4w$ep$;1I~hs<00F+ey`9?H+Gt{8f-#nsmh!cZ zjt(Y)F-C=91b>iuWH&cAmlhWn>Fn%`Vq#(#=h4v-MMOkUUS1w8EiJK17;8irLIA#p zw?jiiX>V_j{QUeVEiH}q_xBlNe0)4@ZEey0{XHclB+$jh1<4$}By+91E(lnrs;Y{HhliO+W@aYW0Z2=$)k;J+0e|uI(9jUo)YLF=5KwwuzJmaW zU~FAoogww0i+}(_k&cg#vt`oL)9LN)?YHcTO0KT1w7I#-mMSYN<098v)S3xMAx1|> z)6UKg+XVhb@tX6uTthLVP5?Y9DTz)_PIMKuCIZMP{yaTBX?J&*qN1XxxVV^RW@ZRk zh63h7?tc{(718wcG=m3;r>7^b1ugZUiGXAiwt;=n^E*2`Rn=i@Yb);yuo3K}wJWJ6 zAl7MUXrR8nKK42+^!obBneXoIrj3n_-v9}?jEoFwX=!1V+}zwKIXRifH8wUHp1+x42_>hN(2P;rfQ9)y4V`jThd4G91-$Oh{6-rnB)X(<8%0{GVL?XATz*a#mVA9+Kpt*ur4!ecW5B?72{Vl;Q2 zSE_-79Rde9ggK?;q>96!mbWz31l0V-1B)TVBGzg}&Dye-Y66l;OJI~B&d<+zSbtbp zm_-GY>-@9R=-)D_Byf3o$wNazLTn;nO(AplH7Q{2K|D%PDHLkV1mfcEWtVE~j#-QC@Bd3h;7C?T?PeSMAR z=Vt^31>x!G$xuTZ27sBRd9$;#F*`eJ$~ZIK)zyWnsw!k=W@3JR9xSU|Ys6+X0A`*6 zG1JWM#KZ*h^72fYXOPMh!^6WUDJcvM8)B)gTBl~REi95?!* zuC5O4?d^DYc)-le3`Ryqu&}To-_`b+KA{VMGAch)Q&W+jpO1oq0{Hs+N(?(YI~W)k zkl@LTl79!+ySTUrFiI#UCPvoZ-riz-d|aB`+S;0&)7!B%15on}188VyKxAa3{2(jL z*w~l^v9YnC$(Qs5!50=5!q3l7?xFNrT3RqVIx3#hDk)6>)B`!&oSdA9S^N6>LeTs4Agf^G^$c5X2=SAMR9R4Dk>^Oa`e&p`G2`)5V`<_hKAzw^i*nke}BJZiyimz z@$olP{tJNlHTowdB}M#GT3Rad2?+_2BA}H8O#m33dLT8=jv5yiCqduc-HDF5udJ+m zC?N)!mX;>o;qLA2E%$70Zlbxl8Pn6#nu8bC_587AZm@)e1gZDbaX>(T1aWY1AQLD@ z34gLgsqh|dtWK;%^iX(sxSV6A>7S{oDQsguY+9=fX?J(G zG%3{I> zP$Z*9X^zo6);i;S#I{W&WX=MIwV|OQ37De-N9fOt%O3&J)rmiPn5Cil4otJs)OyEc z&A(-&i7gx5kNs;=0r}B??rN2Qwd-u+0c(TObH5#co^07-t(^f|WL3{I?F{J2mMzx) ccm{p}#i(Z==1dm700000NkvXXt^-0~f`ElV+yDRo diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/50.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/50.png index ba854eadd7024bfd726bb634a3223512c69cc3e7..119b02235e0e2ffb2f433013dd1a9fa2c892f869 100644 GIT binary patch delta 1231 zcmV;=1Tg#Q3GfM!F@LH_L_t(&L+x2hD0OQXem4e0xnv*-MTCKYkld0&E-_F{445F7 zl3SrrOe6!>7%(s)DGH$^M6LrRA#zDFa4llsa(do#zTN)+vmI-FYp?o`_E)>T+WULg z_df6QyqCSUfrvio2P}gX$REa{m61P;5VA62Wkjb4Sf!;juz$9;w!HQI{avYv)IMDq zF>=`T6(YV0ta(={H8Y0RaL;yX)&u{a|l>XDI=w6d~7FE20bvx9>J#m2_c#>R#&%vcnNjg1XE?c(A>o12^D z=jTURSy}wq#DByDot&IdL_`EVJUsAcA0HnUBgSGtkj!8Ml7iEjnVHnp)kWpyez=i$#Elyhut)qS@J5y1BWb@bGXtKR+iSH^|7x$A5>mwzkOK-JMcWQfPjD-eUQp z83-JOlU`n4?4*Z>2c@N@(ag-uFHQ=usi~*zOk{9mX?+%F)`7Y_*(Ks6AJwY8bmy8u&NUCn#8x3?)HBZHa2*n)T2B@INBUPQIG zw||$4i;HP|e4Mhgvl#^P=689R+Ki2j@m|M|CtcNCGp|?(VLl5-RLNLqmqko8b==}C@7$zp&_!jw|`fxb1?e)`bzov`7}55FqUXp7*}u~+%r8roy+!r$+>cFnrip6TtnTZg^1*Hf@ip-fpE|AP6*D{ph z9+{P)kW87CNF+m1hRm5l#(Nj0ueIvcq4WK|bGE(fe80{r(cbU7_j=Z|*0a{T836di zUtk7$AUejPo)H}*1bRmFj3^WVeQGHbSjmr7lo1010~i__vVU_QA0PPqRBnh+6o};T zO4z6f5MqI%Z)0PFs;VkxqoSe$_xJbgq7uv~285iSnwmmXR1`ZuIy#EP#6%bw8R7l? zT|&(NyhU~(#0G(|x3|aH*%=NG57~Ja7Z*4=IpOZ^j_Zcj$Z4_zF*Y{F+uIw8i;GcT zUyq!e9GIDzp?|Tl5&8M~XlrYOSfkTGNU5j>wzjt5?d=U)TU(f#n&R^E66@>h@b~xE zeMUt7dwF?bcXt;{OG^k24(7nGt*yb&&kr6R9ymHWk{yh!sbykf!f91gQ-jjdQeYjVvrI;OOXx=jUg3*2>C? z)9d>B8m_Lce2u_R(aTZzl7W!(^g|2?BSzBG)6vz{h2i00Bqt{`Kr)itiHQls#KiEL z!NI|=y;N7U?l+*c20|~TAJr)O`1l|xDG4blDR6dnX2(NAL$SEH_-#Z94-d!e>@43u zJw3(1z<&TnMnT?j+?@B3n)UbhV{&qm(@%v2Y7AfkzNcYk*yBO?Rb+uLYqY2j3%0v4uP6Y3(X z?!JSA1A{6oECfk+dwV;poHmV9YapGSoyf|{!rtBg7v^NYw)g@7DSCvwAjy zdn={Zwf`KXPJTT-J&}-*fYj7fP7SiKurSQe&wrC&ssjQ@c5raO@=N3W{{H^A)Rc0X zl+1`|h}7r={d6rYEe*ZBz2D9sLI6KofwwyE{%!PIP;WSC!q(%}vk@W@l%|2Y)L{ zx7F2E1Ox=g4uan+_dj|>6QePMj8RV#(7+9kny5C7PE#$G9f(LTV&eS#9LLAU z>^OaRpyGdccu?CcHFfyk*2xZpUL>S+Y-|kF0Lke5L9+Y5`5Ywbgnp9*(}y`~aHM2H zilz37Ke46=Bfm`(Df<-#B95@4vq3AtgaEB55Gj$Bx#o)M{$ mQ)-`{5v3w4^|^lyBmV#|v~M4U^%i6R0000`Ef#j}~_P%lV)!ph}L{J0<0z+akT5w%C2zt>; z;?lq0yn`bla2Ol~0UuGaFa#E!rJlk{_ymC=Af|+SAaGPH3JS*rs~7hC^9cflLj?c5 z1gRVgfuUpzM=bt*J_LrnO1J_16|D?`#^Od+g#LXv1d1X1X9y5DH5v<19$ayw|M%fo z2#WZh_d{T$)EEf*w_5|*zk|a-kVOB!F$hkIf>66j7=`}(a1HPPS|4s+?-`)AIv7sRU^_~BZLqVbHlf@)Gv7Ox!4ViJ4Bi=2~73w$3NaZj9 zz1K`eMxK*)q0V;)WF~WH{TF<99z2T`5NebQ)7(ER-5Cg2V$DXoe)`tyb5W~i9M zM5=MKPuhEj$#gZb@y@f&1Py6H{?^kfdU3~0Z}6V=t$P(JSuFT4%maYA5v%&g7lPu0 z{MO3q#Pp24^KUQ2-d$Z_t0pr05-qx%<(ch$jz6G+$|KhL61KVA1o^6UA>fUm(CJ!*nYaI*J{8@hVP&I6xqk@yZ+R&Kl3F*ncwgCGd6(# zFK?wg7Tm>%pNcw6d@EmZYFH`QFEf#sz0HE(JU!aoFovd4#il{Uh?DQeY++E$AkKOD zy~sxvrC`avu|dp{Ik%p@SsBVz(sw$mW&Du_u`vU)s+*IAWBdydtD>>|Aau1OF%bCt zMY15wBHTQ}gm~-e$I!GOA`(l6)9)8)p?AY5MDK=@RrZkVNJ@i9D~JHA_e;qK8kAmp zoGs;>{%8KnWV?a*zD0X3BeBJ7iWt}Z)V2UDFRGpx76bwxeD!K?Fy=18+M_l3=Hm%r zJXrGVtn$%LX>yyAy+)x8{+^4M==el7CTfLum-F@t|>b zyX=au1PZf#Y!%kd+^3Zfh`OYX54HvZAg0u?3*h0`v6olm8sKi*Ta$Ga^rE(jDeWdJ zZxOM+QOr^dRI!d@L%YFXacDZ@+}NdH4V$eWDI~|9OO;f#G`!GUX$Ukzi<;rkr12J^ z;xm2;c*x3&Yf^kjKq-PURrH2gaUo6ShZ&-F$u{5LCXKkCHz=KUXc|wq+DE`7 zKJ9Qdt6;GdXN5Td4fUH1YcAJL?Y2mejG>e)(FkSK=5NzKgdJMe_IdaOX0TAGn!;zf zv(PPScV;loUs0aId|~}ZSw@q8Nh~X^-NXA?3tt!}B40G1SSMBsgnLu^Crd z_zoCySER^65GD=oHj;DYNZ+CM`?^m}`UlLEeLO$VtFdfB2WiErgR8<2F`U)_X+e-NovM3yT9hTIRQ8FsJt0Bd z0OcN1N!O{TU^duf2=MlTwbk>_Q2Y5$-z`!6@n0Uh?a>neEOs%sm#!AF;lMtxlcb6} zF)M@^-pUk1#RdUyA`;;X!f?Rd!dmawYorN%>Pl>kaX$yhGUB#AR@tuNB|<;MU|0Gy zh1{UdapRlx#u|XXSD9pBwK#@4Ymr?bPQ_+j)00D8hUO>)h)iai|FoNFY4$$Zs1t5} zx<;l@qFdHms$XqyDMw43CSkP37C~H(Q)WaKy@J4SLIH;4LBv##jN@32vLZEXShI6u zq$j{D3S_m_o{?-5D6X-Iyl#e?84wg#$)dH9IT9dS;=r)=|3hggBY2!v6YOPmL%2Cj;09W zBunmIY^ExpkU{`5zG6G|P@1IBEX5R?qqXwJ{*_r1fc58RCzHX_(k>fz8CuH9{aYv8 z4Co%R_`tSLI|>}q^9G1K3|Q~rlohk@hy|SmtL@o#%dvM)jY<0NL=bn|hw?t{(h8+y z)vm?Nenuh)=_ID`iIyP3Isk9kmp)z$LS2Th{y~nw)8IJ!;M&O34+W`uLpb2l8GyuS ziFDNx0lcaO14NJ_yimB1{8Eda#QFg?na0hAlB2muetUj%m9}N2V~(7^qb4&E3=zaf zd1{l$ZB^hkDg0$z_b`P$76t*cZ9)B`c#F4&oeFi1)32Cr^tv_}ZgD6bpc7aXLa51I z8m>u!?c3waBYI6W2o=g>lPRZP)Dcm>`juKK8}>z%XCees1n}Us4{_rgv?hSf`$;`Y zh5bAm4>=S9xSKsU)^y;n7(~DBZA^|H@rF$~{pxrT3P4;+$rpKe4(^nP!I`MGf&WMT zR{q>XaZMtXLp6C!G;jvQt1)6^ z&i3Q}q>~d5iIzx_*E6-42rxrU!iw{n_=+w-r4n>bIpSF6Ex-860*`*A6jBQ_SU zscUIS5@ZWd_u(Ybl#DH`YDGg@Ye9+lT(``?`$n>`|FPRht(~4P|83Z#G7!`=ldOhN z1&i8w!J0VQuGBAj7|iEW%=2j*fYEb^&}&W^Ko_@-Mj5f4|OvR%Q1Cwr39( zX8gl5TDWb&oQ1*Jgk6Pu0GYZ6KC*3Ff8k3lBVjHtl0aBzUT_JwE2trXnt(f6x`rKJ zlY+UV0cY4KX@WLNZ{;Y(v5ZE4&9#obf4`7hp#@v@_4K*R0LA z=n5+6PQ)pVg-^yCStzjp zr!4L{P)(e%AWZIX?+8C>gAl-z#xx{j;En8@m|85L5<(%V6|xY5f`WSr-wU5y%5ZZ0 zC(J)~lJcc6+J%Ue)|v!7CaF5vY#d;6?G=1+^|UsH8@AbeU_2?lVVB>#;G=(#!a=Ri z9fyYiru1M?iNk0wO$;>~0TG6jD-WwbCH>vdO17_Es9rn%+tAT=swIs2nF*7bfNfJ+8O^&n#acE1Ep&gC#xWmBpQcWaw?_T^e10M{mPBY9xeAO06mo|reXs>!^SsyArJxra^I{r`ZanGNA~ zP}IPTmgTqL3D6zKqK27&(GqamNupnyFEEcW>?l2SxC-~w9COATw~t_`|3CBM~n#pHD*xwR@7A5`>|(U4!f zJ}bzf55UyiNaIV25~_kt25^5tkOQchPPdjT=UO8JLy$#$z^vSlTo14a>$BqmwTuaK znVSYR+f|$VqVT-Vitwn!fs<I@|gp%E^z+i(deXz*j!KhXnR3`vJ=SR*mprp{uoa zqy4;(-l4t%#KGsiDN#w_)OB-sKW-V$HyR7T&m9aK$$%6nu;ex_SR^55Sn!)Rnb|9T zdfwwaVnNsa?t0o41)8pya3MODK1x(eQho|e^y7wEMaEAA`)!F?c`60Br8|mK^N}XT zvC$qqyY^5zlGw)f$sgCRjQmC?ulDD_h2b+{dpH=(2VG{-lk9QPV0H9_Z-*Urce8yt z5We7GLTv5*_&{Ie`uE(FP6l|g5-?apv?>N*>TH^jMZ_qWO7qR5Gwq*ydM3DHnHp=& zwI5~8>m;$I(N#3;Ep04+y=S!x#p%c zPiK8(+QO;W@1LLH$AJR})zHy`yB=RcA)EyrTjxx^i(#(FbvkJ!cKI8HZI_Gb?1wSaXJ z=&9iq4ltlZ$B(~D;d^~rt3y3B)jjEZRj=<8^LeCO{q3(BeIU|Bu4E8|F#?<2sVGEn zes-Gxj%ogpuSsFaLhD1hVHVuMY5~hWAQuQ=koLQk0pszczbP*dQn$Ej0Z~clHDw9U zO?ys_YAYVj&_0vJEf@TD6z#eug4Nf1|0 zQ4RX-_N9wfcLxAoyt(LCpSYiN-&N>I-1?WS^Lq*KBR&TCEMm`q-281o6*~^7uIOSg zB$V{A7TDxs^J$2#Y_(|0*Nj{Q8Fzm@PT!M}dk(Fg8-A;Ms%YJ4O5aS5N0e>OP%}Sj z5Zo?zfZW#sSzAmPIin>p1=DYb<3~b0-Ene1@H{S~7x{JHUz7BxNn^ahun;49vk>@m zY-moxx&>f~_NYi1GCw-<_%ukp(m=LU-*eK-NVh*>WKxfyK!^VIKpE!q+iDZY6ZMAgx36*ldx?O}8E`1S|!x4}M31k9HI z0Wqv|>#mPxB!*cb0PUJ-9($PzS51D4O$PSW50Jt-U;aGn*ch{{JlFn#!l@g9!0%7f zT$N(}9~tqkT3~}B??w!>RC=c%v%kK{NW+(0Kwo3fvWE@Q8rxfyfcti?-d;bu5Ht)N zL6p~h(LXVMu}mOywx`h=SuOSJkXe-*cv(><>rFTY%O(T8_4*=bqNQ76ZV*U&cH)H~s@{=vbM zlzXq>m)Mm`Xv?pXr(mkjH&{w}LNLZ)s(lsam(k-I^y=M5JgW(WWan6U-}Z2fMtKOA zd97!o35?n6lj?j6DIqFG3@X27p=E42Q8*#z!nM$gSjYZNs(2$i-RLO}lB&B1u_*;Z zs;j{6pHQ@C?hs;c+`o7i&te>T8a@`g2q{K=;kpB&0C_wIjvzsS1Z_;Mfcml@3ds&` zd}aJ`Dcz+-=sV8^!@RDT9`P2iR#ltlpXf}s-^HLd%`wR_;EfDs1|oCJ7zEneSy>Ech|h;J3LPb@iclwRYB zTz`Lo6anRl>Xc@L-1^u_FgqZtk^JvLU>jI4&$C$cD*t&I83kE&I;6+ve2xN&uvf@qvMeG8u=8Ca34K2kPK8 zw}Y0%#u2|WG5|@BA5!yh3EUe}T3_g2D!5+GeUo8tr-wg-Q!V{b`?8M=wsUnziKS0S zi{?Sx`#1!)2G8QQbz|ppjqe+gau1-N+(ut#pt0~mTZzC>w^P0hJ@wbzdOzv7RKJ|f zp7EH;F|y+xZE^?+<@>Z#!-7~oBe{6qcpCBuHgvowH8i$#?c>IWD@QgHHN|no6aS_f zqkfy~hm_)1{PYW?Q|`yd_YGJ`lTK3tX~g7bu8|&?03b}!mthV1B{f|!F=5rE2dWBn zFD}t(Eqr;oJZCGfP(VXY9aleYnc+>F2HwRZtyOsi8XHl_zEaqdrt+G$cx}_pM^~s0 zAfS}p<)?X8EcnIT8KdAFa*^ddZ_mKCB+;(GDyAAXm=ioR+U|S?E1PDC* zGoM9qW||X08gcqzTUT%b5Qrj?C3FE$6tT0sieoedbO>z62cgaA-&AElOiaJ+x-{mq z$roe2A_P;anTx*6@?#lfF3Fjg5>N&$v82TV=k{zaQRFkGx-REf59(Pc43!> zVP#xOtppKA8Yjnmo_Y3OoMZYMS#R&elf=6qDWTwKnU4Y-3*`L5>`Kvl?>8$H0><{1 z`;vylODlf?K)g`+hBB$c4P1Lw@AD{?|Lnaik2Ig8hK(loPs?A}^h<;H06P-~oAdVu zOlEgEe=Y)6|E`Yo~;1h2ARF8dPY+lY>d383_GwSq9P zkca4)?q&#rDF68TedUAnqeizC)9k=A?`4I6y{;rn6T5Fkaal&&_@Q>$PLeN|@Pj|@ z`!{6HFY}$-={#Q@&R31H%y&zR2g}&ftaP#nIA7x3ms_`3WA);4fR^65w>drevQM93 z$aN7B#Jd;Z9koeU%sEhL_9gu;rPQ~c0LTr78j!bZrF5u$7`#UWT$uq9Sz*bAqI~9m z0&;q0DW6;ZsSy@Cx*P}I8?~doK%B7H;%eQ+#|5o`+C!~^MPA1&qf^sUr|!6qU%OL; z5~JQwi(iv)6JT`w@H#9003YWSFMbY!(C9jl_Cy7jR$C-WG!4?U0#cNw8dixmIzdK? ztk`-}WeDudmXLC*i{oFw<(PlQNFNu~&jw%W_1$U?Llm{$mN=}l9_lc3>E>7pXO9*r zDSK~l;by3JvE#+W{7}}rp_(Gs?~Bt8bHg#L(+s+W$$AS)0n2Y!4K{v$W%T~(r0F9= zC9y+D|9e3SVHL?BczJN!>!GE~^W7j4W&uWrnm7mf1J}cdtOnli^FicWDtNu$0gx48 zg^<s_}n#j*f5P+8Lp+QV(RA1n*cLw=B}b9+NZEv%Nx@N*YZ? z5!+rvuU{`bre`dIi-a6a{#IBAQcA81uyau+Dt#yah?N5|pJur1soTB6=EbJg(nZ_g zY=P2Urxz_7fuLApNvH$O`0Ykzby!|`a0)vX82PcFw(P;HJ@=;x`+q;C? zz#H8ercKs4bbv~~pRncG-3mNs9J=~@#)GO?4nor&3Eh_^X_)qy?CVOmjG%OV7I}Z= z;-z9}k)$b-s)D|B$LXNeYDM`cfy_K2N*Zt`w?SDZ_NeY>R1*=9@If2F z)Kb`!0jUEK7Z~a{ju=)?Z z52b@OWb=Ia@H61Vp?dXg3Fi&ip7khe7?UZeWeLLDF1}Gy$Ylyjz*FCdP~50qkQ(!t zbm$9X3FuP9@M~OWpamK6TpJ^_FI&v2pQ(C8U6RB1;_ReTYi%JU&lpk&S)~xS*j+O@ zpXkk!94&1L+x`Bv#PHwhqE=W-P_0De$4`}4|Y{~Mm8)iQS2Rn|2xW6 zSFAdEt`x)UaJ;|KV_7aF_t5c z&*iN3R6tu-$WF-iTM>Frfh6##0^OGmDl>xG0bSdDuRuhmZ-1tL1m6qdTQpqstLsHr z_qlq{mwaZZ81P-47d`c`ipcR99QyNfnb|e zhC15*NGW`16;97*a|`g%k7>^oh+)T=l;S?Sism26!8o>nJvDW)XYPR7@ak7Rx0xb~ z{z0C%Gt-^G^*C99?uj$aJmdhPVn&7CN%0$0&zYFj^>``BadbbM0xB%s6MZ@_d7taq1)K6*&uKn^YGM1## zZvmRQtVF%jHCsybvcz|-;XFUZ*p{#1Hyd%F-jk@}r{0_O%jrDjA36XdoVMUUpAJ07 z_X!W&nIGIa&KPbb>OUDBh;aG<%*%No@d_iRZQ1gU=v@uw8r$z*b<;+^J}2F?-5GvrnQZVl>4~RQVz83`r>Di{%ux;&1&K?E+=Dm18 z-W)Rf=ZeBF2VGavT|D2_-E5B&p{D^>p}E<1brfE67;Qc;dHg#!tL65pARqnph4uFc zGO=g%`?Kd0BceN5o&g<>6p=^S45-Oy}VG-F`_b=$X;iYi~hIm8Qbs)C5b= zFxhi0{qjA-`pCvr%rk&WsWbRZPcj-lT=IBm1Qx{O_Dqin8+8S2|7v(3fokN%(pF1Y zNQ71>0AU81)g$mh8kVkM+#l6LgLL;S7=fIf9ZsZY7?5YVLn>2_a#?$*G`P^z>uaW@XEI;Ilg-LQ5EJg zg_$l9^+!t?-rIWXf`R1LyiC69m5MvUA4=&^x^})?S#I(58}BE>F9eq7EoOq~-~#J& zn7TYzC#~{P60~4Abq8#=oH)9k{`s=o=D8)ed~+!dt(*)u7gJs(jzxFXU$PNU0w~Ay z)Ro5*E;2r#$mn1`5ad+V&51sF7A8KCEJFFb^9yKCak?y8KShcAlw&T8v%iQ|(X4qL z{Oj{oIOHkv8q~k5NARZiE`XxO-LNJM>$ry7>!;*=K)>RWL$l`r{_Mi58BG$8zTSVU z-4^s8B3YqXOZeTKbNhaYHQqwIW+6@Ms+9IR!hx7M$6|b`As|0hZXIfi@EqJmq z8~M4(V9|(pd0CoZ7uh7S9nLl~%+Jnx69xF5tnWgcQu@hO>&(h5f9OgGepr=Xl+MVF zigG`qNoP7zRJUJp>yGQuVv1x`lGbalL0OWtXY-$_c)q)fdkzrFTTq6ShhbRt4aZje z{{F3O^vRI$EFbT1t*N(JqPfidjRu@Svlvj-q)xX#7I<#`1b)d$dJOVhH3EH{s&`eP zekkSXx=cn0Ww>W5XK<0+9I|7f!$`z-ZM|y5Y3w>zAj`=IGn;tScx@}#FrRT=ZXGTT zl|e%EIAH9eWI;R!!Vt0{?A-wM;L4Ps+2>Sg|KnT!2_uEpjEdnnp66J4ksi(D3+OoMwb$UQa)M1uA>|jA!QaITdhzzyhl37n2`*Vd>cI zlUH7R)@%*H_jbjxzkCflPUREL1jVRdy&u?=V8{EMO8AAY9Oh-0=8TNGI;Jdx{Ks+V zB0{N(&}Q1+K>QKd$7e<-d-EurvyzvO3>?Q*#YoFzR`PE%vn~^^hf4k%GJZ+=VF1(bRI|AlsU-(*uDXZP57L; zM!bmA )qnBL8%e-kqB&Rv)+?Q_lEs+yK+IRZ0~{* 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 delta 1404 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 delta 1548 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 A-2eap delta 1507 zcmV<91swXt3xW)gF@L;CL_t(&L+x5yNR(X^U7Be5l0qSwl;kDLvZx0sdI~l0ie{n) zMMXUX5)#ox!6*yq$+Q;{#0V7giV|UwBISd2(d=d_gr=B@iV&iC`&k>#$2g2R7r&A5 zpA7@w%y&EMti9J>=co&SMf?xK#R+tsvFv1Yoe>HrqfSO0bbkh%sq3J`Ejw%{qfSO` zm;qN;SGc$^iGan$MJy~V*zh#VZnazL5+K1DhN<5y8@~Bh+XX0@Bzyb!??+ZvmK@)` zdl%oneSS)BuhJc;0#R00hSbzl+`fGq z9v&XJapMLaKYon!=g&JnP$f27w{DeG-Mo1-_U_#art$mt?=dzuhM=GzOiWCO8XJq1 zmE@VcO;<)$+MYXi4kaZe=<4di!Gi~d!B3w)AtWROr+-hMMtOO;{Kgd5D|7{_6qR)t z5fOo#H*X>@FHf*Ag>!Op@a)+$#Ky+zuD-efRUiWc1M%g{7fH>~&`?QX29G~}{D|4v zSz)%nzh76dx&S3ecXxM8Pfz3e_3Ogot5>gtRi0z8m%e`e8pnhi*c3sR@7TL$a#^5x5T^ym@ZzI}`E@Nlg>IT`%0 z<*b%K*#wl}6hnr6aL=ASNJvOPa&j^bA3ltknHlWZu>-$<|CSWyhm)~=`*ulLPDp!u zJ1Q$HrPucK^k|@YPGx{CpsfaKY~5%8qNAgcl7Etd>yhYgQ?3jfBN((ojDxm6xo}QlKZpa)#dV70oY1!1&Bn(kihlhtv z_DS^|G8+>UgHxwY$t0;PVV~vwRaI5upjh+Pg0&bZ2f-AgPbHAx;9zaWKYaKggQ}~m z6Mw_5;$Ozy_#6#IVq&699&1|#pLg=)NpyF2YpHKZ&$Sq+vUJte)ksQ8!oa|Qh)hjQ zjhFyKaOMh%DIw!;VPRqN4%$RNKR?h$(qJefVi%xfle0cJIEW`to}jk279AZOn!7PI z_~iy>N@dxe4jnoqKnc#**H_+i=FA!U0Do1fOJ${Cu<@(-{P{D;G(po0Sd+R690Bqj zD)>AK9Sw(4ZCx4V!<8U#)+rto5sHbAkB|25mX;Q&;f96=N$-E{F!=lXBR)P}oy;>O-&^VKA-_1=@IbkLym>-K9&HP+VNR!~)VRJbd^NZEbBha^%R8npSma ziyJZ=qs8sT904#i_1CUl!-EG8(0| zHpR#gO~&`{-{n#scXoD)58l0dH-7&7>3GXDW5J@R&?;tUXXDURI+@s zNm4$@P)bpb`N9Xa@kNvmSo@?fhvm>5Qj(mN(TtTSY>chnRkz;xzh3YAKF{;==e


Lp^zICFqj3auU@@ke66jmB!0VbfbZVD zOTT~rrlh1KYHx36e96hl)X~vF;+i2q8-!tzx}Kh%G%+zjwzjs6ZEtUn0s;bPadFXL z>8&_m6B82#V}E95Mk6C5o!p>?{tiu35JUmPY%+k^l1qKFkGea#aQO}A17OC9X*+~fr3AD4bLqS17 z3`m{uKtRUE#>n2@o<4l|K#7Toilw&ffCbpX!a}O3sNmGa+6(aN)?4u#0)sIy+*?&u zr3h$Q0e_3SefI1bb$54jEy8gC&?GLzwaUs$DkvymH5MBiOMQKPve&b0fRU=GIVUG4 z78m%0!!a>2XHH*Klc;wQtlr*ULcqR#`^KUKpSUjcw^TJI3t-_eoci?X6GcTu(f9A) zxe;w{ZgLYRb>g=PnCo(V_J* zbZRh-E?-kqLvP={l`XX;0~TP>S+Nno+S=CEMzyuIbno6hR#s3{+OXsA@6XC>e}A9y z^71G(HI-{$G(9vGqvyze$DlIM5*rkh$i>a)vOzr&;B@Z4v zpnvV{ZBBb_f_G77Nd}CGk$PQSUF7BEb*7-~?CjV%b8~ab&d#QWh6c51DOk(O%HlCc zM@I~3cX#(pk_X^73-_D@&`h$RE+2+LD{e?RMB5eQv7s;bO{9*>TW zrmd|lmYH9_e$}cx6k%928h{=g9Hh|DP;NAE?ANbfa+DjPi6M|ro;=|_GbF1x_tG_x z!XdpG77W(c*HcbT4mT{wz|WsQvwx$S-YOtSFirXz^CNH(5fLm`(YWgB>L@oiS5j*0 z1z3PZ#F4^=w8+Rv4ywK~Q!l`xcHQ0G`RxG&hp@|bMPSO+)s=^%CXpGMOk@MbKw9Fh z#mdTx-nFb3;PVcOL%GWwM=%~fe8_7v%-h?WR##WGb{-oOsU``qE<#?61%F_iZNYGs z1;F~uqc3ntfX_Og38v9(q72;J+-PB8fd@Z&^hl@l)VDLMdL|3t%fRBgDqy@zg5h10 zlzP@}(8k8b%>)d9qB*6drSW$x zX}UD5{}sb>I4j2-2CHFJXGd?E)hR_Jpcdz07*qoM6N<$f-;QXj{pDw delta 1540 zcmV+f2K)K#3!@B>F@N1jL_t(&L+x2xNK|VSUS^g-ndbFD=t+#cUtYut?;47fcLYV$ z2SxDmB0dR95{Re|SsbZ>XF7UvwtJs( z&MXkenZ5V?-~WBK@nlZjyy!+%D$113ou8KJ+yF)?gn zSb-fdH#et)g9F;%-&f%2M?X?^Nt>COF<6B3wOYtk1uOvi`S~%s6B84vgH{djnKNe? zgdXR>pth8l^*Vz{p#Kg@px8PfwGJiwh+tCenoq z7pS?pnLd8}$jn0l!pxKetvFyI=diFa>hJHTA3uK3)vH(O{Q2{=u&}_uZ{EB~Z{NNp zajj7Re*E|`WoBklM@I)GBqT7V7cX8=baXU5di03$@_+JFk+q@>i!x+wZB27?bL8OQ zK=JYM3>uM|no2D#E%fc%H*$4#W%iY>&58ns5up?%CnwX>r%$zj0kDmY4R3_Ky*+P4 zS63IiwUXwg2w<>;e8lfxzkX47cQ?hv#Arzu1_h&PXlS5}j0}4I{5hK$%nh4_A0v*ndF)hzMU_Um6)1p^FzU(yd#!XmoUxH$z+(9v)7wU%#gH^>sF{si`T=z2dr) z1TPyfK@StUMD9f&3|IS8rsQs@7`&3RHCKCeGeWy;0+P6 zw6sJ$Jw4Rk-cE1cyrG?)9sWpe8!8Jh7U1vi&xUj7&K({S( zx$I$pVP={dadwcsx)3UU*Wa+}R02ZJ{z^FPqJGmtVvvS%`y#ec%2;?>-CtMa%6oERMlYf)L zbFfr~;x!BkWeKCBh{eT49xmYWC}*Pn>LX*#L*+0mbzj}a!^+Bv^A6wv20ioV&!4$$ zp-)CSh%`X`o}ZuRGK5A0seqJ#AHelR7)0ZtwR4BGmN1yHu`#-I=@JD82Q$mk))Hk0 zrEG0&jRFD!Xm)m1FVmB*<*3)PB!7L_gN5UQc?=I|8e(H(slL9Rr46>k@X*xM#10JU zVyc2cq12sZ|9qm7K591s42y@`wzjqsj0|%xdS=9xD_6M3wzak8P7PBP*gtjSp{|o( zzI>Sn1T+x<4>l2LX=z-)QM-}fKY#v|<-mU;Yegh2{bJFXLC)FP*(`6AF@MCXSFb24 zDvBLCKR^HUAMpT`01U%I3knvchj^&Jfq{W+Y({a2Cq1T}oSftwPDx4O)5^xiMjrUl zrYdDpx-wT>()dDg$X-!V!EGUqWbq!#P-$r?-Me>B6**%qssI+hN#*^Y{OT(R~51+(E$L0kfne z{}5M8#{U_^;)}&`uG|yIQ^Bx4i#*ADRB`E(T(I0{nE=b(K|{aa#IT_=BzJu#hUM;{ qq2F&}*w7i0yFL@ca(B?s@Ba%%k5MjXsK1r~0000 diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/64.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/64.png index b0e3885a878a5504543b0a649701e856200a8064..ea5ba4e21be401f39949bc5d0ae00e5ae1dae4a7 100644 GIT binary patch delta 1563 zcmV+$2ITpw4Y&-DFnOoKvdPqeuBP7X}QUtY!Aceq7N~M(-@PZf$8TwF43PmAm@y-9w&oR7g z&slq)_}vS{&Dm@1v*w#`zL{B@<3L2eXb%qu69AI|W(b%Xuz!a&kW3LYvw)ce%q(DL z0W%BO2>~Z3C;sNu)m1y~fb5qB9UL6!*ROw~&+^)6BegZ(amzbEy%z#FSNa~4%Apl5h-@bjDN=r-Go|`vsviM;@ z3@a)s_`1BjoXX0|4ATSM0g$+dXP-ZR&PKMiwNYwn>VF0eXl-q!^XJd={iLKMYHx2h zL=SWY0JH|x4<9~EgM)({{~tblppz$0(zkElHq-%bZf^AM-8(vV>=-R9EbyFJ zVogzzjOGEjg9Fdib?^10r+!qaetw=Z{Jd2U?43mEwP|YPfu$SG!eZc zM~=|@_wVVzfde!#F+t(s;q>Fj57q*edY}{lp>ShkBV}Y{Foo07(g-Qe+1Z&^R#r6C zG%^>dvZbYk*EBUX(Z!1wm4|{d0EGI|lTjggO!53j@As;VmT^77*A=;&yr zO_LG;B=#pKC+Xi0bb3f%DJdzucYKDJ zNA(BKLBJqnQ&Ur$c6;&+0EmhZLJDBf9e+X-q#Ats^eN@$<|^wLl>lJrEe{V57AjPI zr~#6blNpTk^mG=q?c!JNp(lWF!sutuo>5j-7FUPpCcl3DYLlk?xmYOxmS=nU`T1PQ zVW8_n_owB=N9I60u?7Rrdhp-@U#mVpR0@E25F*yq)y1Cg?ChlY`1t=kzf%sEvws6* zkryvsP+VLb7f`XWvDDk!tGpOe27tt{x3@P}euoYnqPe*_uI7*tc5})j&pLSUAV163 z*VpQ2?G!Ic0I>8LJRTDh!|@8Qp%b(wZ_ApqXU|f1cQ=O*SOrGNy`9*!lkpr%LyU-s;L{}36ezrGJu$L61f=?NcX#I! z7ws?98ifu-51vCFmr{5$k7#)}h&YFlU=qq<6iQe(Iy%Z)v%I`)Q&ng+0DqPu1);OY zfIz-_^~x%dmHk=`fD|S0MqXYXp?{Zhbvt#ILIx>LT4uDmU%q_VvB(iNfe|=gsH>}E zX4sMqYy!X*ulxJ^vk@2oZ)Rr3md9DWRtW$S%UX6Jq7@t*%uNr*sZ*zDWMpL5f@W)m zu{jH9G5F6p0sxM{@s1E9G=DUdkIHRTbZhpbgaNzxViSOW-}J!is2wnn)4_&4#ekro zAU^8GKn*cIKE5{qkn{;}7ZnvT0M*siy1xF}E<_F2fZgbY5p(SdfR<8NZxHMXfZoPw zdA*yCB?Hx$#|XD%1(bW#8S N002ovPDHLkV1nwY?y&#> delta 1678 zcmV;9266eg45|%~FnLqNd7RALM=BCcNDiu%65#xQWP!yQ&t)hxj;rM&-uD9@7R1XjWc(? zPu~mT=-heVd!BQibDnc%#)^o3&^%sN8UR`ZXcW+Lz&y@@q<-gTx+L zC|Cplct0T_fq%NXy4c|D+qcuzt5@mh(W7%00KxqgD^^f{e?P5Uxst=)&d!c5UAjag zBO|nF(Du))s+@6UQ91uyr6{(7t*0ahp4)` znxo+B*RN7oAPoQ{J|sABKR7s;u3x`Sp`oE{(D>E~b&Ye4_ z!*QYhva_=(EiH|=!bs2oQ2{`PhK7`Dn6isB2>{|`t5>h)@Q#m<=dxyRZ?7DBaBz?+ zDk|vw`STp+Fi_nMB2pGDT102ho@G7Y=H{ln7S#cz5*h(z6iL)nU8K((v$^y!m9xy-@Af%fg&$3Wtm&d$!t>)yS4$N8hOvXZYo zTOf=EKyVTnU37Ig3=|%WMOKHm-oJmZ6S{vIegITlSG@;-0^qo~I6}i@Yip}q4~i0U zS|mz?(4Dc#C;$X!ckkZKr41qd1hTc>~lsoUP(&iUZx&70in8nPT69Xa_S3F6xLTdY^FUQtU+3nxJg zP-Z(%G>QUhBh&|Qa&po+IJCX`-~a+;4kAcj8AOwWG6_kn2J+*_j|z}CZrq^p@$p$_ ze{rr^1Aq(Z6DAurY~av^F?;sxVSnL+1%(GysBU&dQq9fHrPHTR^S&=%zR-gQ512}5 zlV87n{aao!#W>w004QkwDr4}jTDyCCdQwJ421Q0j66!cqA~XS_2Mha`E?vsW6BDD_ z+FFi;o}M1X=>N17*2inn4B#;seoax(;PM?^$0kJXU_$qaA9^Oy-h`hSY3`QJ1{ z`hZY3NYD)4-rg*U6B8440D#w{qoe8m{rfDVWsSv5N`ZgN@PhAW&YYnO7cTH11T|e~ z`n7A<@<3$SvSpN#l0y0U`EzF=A~XZS7>Tj3uaBD~NZ4!Ft}$jOPoCt-Fv=vt|Lxni zMhhE5%B)Tmll2i9G2?4)ZhvOI0DXX3k9GI%UGnwyrTY4MI(YEl+#8C*NHG=%_wmLE zv;bOOjKv2A2KafDO!WV<_>Xf*$pL($U+)G(EWuz*e$doF{N&~3aoBI(yqP8^Cugnh z{)Pt901$!+;ss3;A^}Ydyp4HbK|ui>KYmE6A2 zQu!~H0>W6K=!%MplrGW~U7ev$n7L0X1!mrS$BrE=nL!0hEsFs#Z$BcV_OuvonCnds zL!!!J5n#ySWbDxZkR^p>c+;4BXc3@AfcAX>?fU}S_XUi}o^$0jS{2Z$fK~v Y4bo>WLdlR}00000Ne4wvM6N<$g1k&Cy#N3J diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/66.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/66.png index 876dd72466f921bbcb0ee41a2174a474171e2ba6..02d375f84d90b9eddb2464d76c1375356022d39d 100644 GIT binary patch delta 1654 zcmV-+28sEK4wMa$F@H`;L_t(|UhP|1NR(|9KIVd=m=`L6B`y&LCZu4th=!4h8eN%* z=^Cr>@X0Tf3`#oXfYtb1hC-5i4*+p`T2Pg|8``6 z5Zd?i^P~6g-}Ae#T)9GDzI?G5GtABiXdOV<+1XKle?Of&caDJ=9UY|$7cS7o#s-^< zxqXJ&fv~Z$p?|HdEvl)hp*wf(9I%4g+FD9ZP9`zOoF-ycAjAXj-@i{UUcBIUR#sN> zXL@=%e`aK4P{rl+SVC@6?l zR#tdSgjgj3Q5*<3M`#v)p{1pT;^N}?J&B2l)X>ntCIG?s?c2AhzP_IS-rCwqH*VbE zaWF|~=czal!Y@2}^oR-z3;B^{Wo49=m36=mhKa(8#9#l=Oo{h65=t%;LZbL!M7UgPHGMhgoIyk>TGR?%cj5g;_R`}XZy&Ke=n z(b3EdUC}^{MMg&QTnM7f)vH(k#Uh!`QxPD9y?;M@_KbZ25RbTZ>lQUOHu9ZbzkW@zv9Sh60L@7A>eVZXiHYHT5)u-qsi{d3 zFr)&ZSxgNK3~)~H?b|mB3=E{@kDGY#OKNlAl_80IqKYsk+++$*5Lb|_@ z27iQTu-Mz%Q(s>n1q1}p_wV1?`%g|z8ua-8nsnyO8ICrtuC6pPGD0CCA+)}}&eLV( z7t(+bPVVK)mz0u{!bwn1PY>1A)scgP180Y0V`Bv8sjKfG#t>qWa)T9XYipF0l*CRK z=Tui$Q)+6e)Q~C#2mwMwL3`FwX=-XpXZZB-@!>hTUXoPuKyoP%!G z&6_tFEUb}Hi%0=NQ*(GYiYr{$+1Z&H;_dCtPV&;FOI&p6>Q9O>RHYw2eBde-0DppQ zDAXV*#sG{=kqX2=Z6Bd7K0coBd-v{Ls;a6oh|0p$;0Le~Xyib!=hLT8_s{ri8KJGnf~}*`0y{RQ7b((o zn993%?>J<_+)%*5++;Uxq%lHU!GE;0w8RC|*RNj>l>mu7Jv}`+sX`v1R1qcx2%$ZE zqJ)N1gcwp}>7%#MJj(I5wlW4pS7GF|_Lp|AF!vf>xZUD0SNMURN9@h;vFx zO4t-lH4l@3(7do_drluS#DArc8=yjkpt3~yZp?#ZMGTxT1qfs9Q_KetA3uI%ATD0K z$Uq!+FMZ(a8CJ(naBrgqf=0~T+?=$I zld%f2h-nDtdgOmhCbXs5Ws==-`rj}@6AYPQ&{zQW@1g$Zwm(o<%tstnb4smKf!IS< z1wsYlppmJJP#K{zLTlhrO+z&e)ihMo(3O?`2HjwsE-OcBjsO4v07*qoM6N<$f}~9q A$N&HU delta 1773 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 KMNUMnLSTZCC1}3@ delta 1920 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
N~`3NyeI2`Gjeg&AOq1Qf%K!VEA)0*c{AVFs8Y n0mX2mFau1HfMU2&m?E%WMHfyzCzD+g00000NkvXXu0mjfUha^6 delta 2100 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 LZ);g&?w$Bwwhqwy delta 2203 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 E2g_cz!2kdN diff --git a/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/88.png b/Projects/Toolinder/App/Resources/Images.xcassets/AppIcon.appiconset/88.png index 6d75be82dc38a7dc572ca0101c8c4ad1a5d78294..45f5dd2c580d239fd52d8bb18316f6f2dfb8ff45 100644 GIT binary patch delta 2222 zcmV;f2vPTo6UGscFn2FEwaN%G6d z|DN-|naL56pW=o!0yz$_HMSsLddXwjl_>((u4-n_Yd{`}c!^Ut5jTpUjJT8z*bltdUQjK1qoZC4Xe&#*GH>s8OT5&&H1*FKgGX zO)TWZ0ai_I(V~T%IdjH5{>6$FlRJ0rNW+E=4dCn7uS=aeb>z#JFGfb%wrwjHFJ4Tf z9w!R0HWFpamX&MQu1U3O)l3C}Bs6Q*Om5%4Z2;G;TURb$zHB6eY=8Xtu{3JbNZ!4B zm$*hGF@J!W)W}|d9y)YLdi3aFCNL&BGY|1v3kHd!#OV6G?%{EjX zNtyH#16Xx;)~s1FckWyd92z`f!h~EJtJ|(#y;{&9yLRm= zM~@!$GWWuT3(~G#JClw6QcO!Y{ylyAw6tv5(tq2hTeog$&*C1)3E~9Oau&>*s4`4FB8$=BS((> zF%vcOyLay{Xs~MbxpU{Fef##_gcqkC#|l`rbmhvGGI8QWPfO9@IdkR&(o&7V_Gqx` zF@G^9O_~%aM)(c#?})JhRxkqx4wRiccY4`}29uFNs{w!YLB^xOn#qF(4U%2EcEt)g z7Qm{XYT{6e@wh*I`qb#>>({RZa6yfA;voa&%a=ELjGj}f0a{I=xa`fy0q14n(2)U{ zisAhE^BGkDs>f6mbbtV+1B}}giX3pNiGQP-i3U^G7R2M#eW{yQty<;jah#@5q=54? zanN8ovx30YX+>ku`Jusj1LHDZGd{z|j~~5;BB=JJ&i?2uU&v6& zk|m8_QL9!h<7Mz!9HvktfOQh0iBJ;I}rFJ5deR97a*4B+?&Pmm9oj!fKELpN7P=EY_WUskC+rNmY0M4F0E3I3%&hvc9Za@Q{ns~*E z6*779dGe%m=+ME7-KS3<*?+%(znNUAR)SV1VPtt^8O+IQ=1}}opHiOj*~^zNjmh)k z#fw0?o8N`29#^VV$<*8Yi|!%|)Z1~q(-s+EzsbX7RKI?GuVm}gsgs;Kbt;reNA(uN zolGWUsVZ*VxM7x-cw(Y_6DTsk`I$WE<+5eVGSc1rGFgvBsYh(}BY${HXxOk}p&sjR zG7<@3y05`40nzZrfc^%sJZ5ys2UB77GyvlS?XNB$rJX( zgCwcx!^?xbtfIa%@JhMF%vT(PRcF4`^H{iWq0E>u!|GFH1+c=^W`Zo` zGvtA{ZWw58*t(nFO;bJQ=e#|n%?#PCO^7Y23LUT-EBFo%AAdfS3Kc5ka<=pZzBn?N zW2z*ngGZB7qecz$gr(y_2R(l)fH^pA>D8-O&8z=m4ccG^*%sEgdGn?;Y0|_4ANErf zI$(cG%nAc53QT5H*I~z1;V0NJ^Q@b&f^*e<~*3x`Ddi2QJdu&z!2LYGv zHvF2v*s){HZh!06tuvl(HVmtPb(OauAhaV}zka=p7%{?x+PrzQj2SZ~ln#(5Ad{yc z=rvgd9P}jqw4DOx7hpz?9BDS)v}u$1MVL%{<1o%Cofr;qI!YSM&p?!-vEM3|HO?>#mDALOv%8-xYbA15mS`yr=(Zv#r0F|!6R7w!Hi zQkb{?ABmM!8JvyG9bn6M%>j0REfcUD-es@@Y?*-N@GgTLV9Nw7hj$t509z(tIlRkY w2iP(J%O~Mo20Or(30MyAGS~sOOu%yZU%f?ZOeNmU4FCWD07*qoM6N<$g2z5fHvj+t delta 2420 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 NU)x0Mo#sD@{{gWT3}FBO diff --git a/Projects/Toolinder/App/Support/ToolinderAppIOS-Info.plist b/Projects/Toolinder/App/Support/ToolinderAppIOS-Info.plist index 90b2428..16f5986 100644 --- a/Projects/Toolinder/App/Support/ToolinderAppIOS-Info.plist +++ b/Projects/Toolinder/App/Support/ToolinderAppIOS-Info.plist @@ -2,6 +2,8 @@ + UIRequiresFullScreen + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -15,9 +17,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1 + 2 CFBundleVersion - 1 + 2.0.0 GADApplicationIdentifier ca-app-pub-2392187154020666~7018659983 GADIsAdManagerApp @@ -232,6 +234,6 @@ remote-notification UILaunchStoryboardName - Launch + LaunchScreen diff --git a/Projects/Toolinder/App/ToolinderIOS.entitlements b/Projects/Toolinder/App/ToolinderIOS.entitlements index bd01650..90bda52 100644 --- a/Projects/Toolinder/App/ToolinderIOS.entitlements +++ b/Projects/Toolinder/App/ToolinderIOS.entitlements @@ -2,6 +2,8 @@ + com.apple.security.app-sandbox + aps-environment development com.apple.developer.icloud-container-identifiers diff --git a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift index 2510b68..c800732 100644 --- a/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift +++ b/Projects/Toolinder/Feature/Trade/Interface/Sources/Components/Cell/TickerItemCellView.swift @@ -36,9 +36,9 @@ public struct TickerItemCellView: View { if viewStore.mode == .item { Text("\(viewStore.state.ticker.type.rawValue)") .font(.caption2) + .frame(width: 40) } } - .frame(width: 40) Text("\(viewStore.state.ticker.name) \(viewStore.state.ticker.trades?.count ?? 0)" ) .font(.body)