Mercurial > public > lazybear
view LazyBear/Views/Home/Helpers/TradingDatesItem.swift @ 406:09d05e48462f
Change design TradingDateItem
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Sat, 05 Jun 2021 19:05:13 +0200 |
parents | 31f2838b2de7 |
children | 681fb377235e |
line wrap: on
line source
// // TradingDatesItem.swift // LazyBear // // Created by Dennis Concepción Martín on 30/3/21. // import SwiftUI struct TradingDatesItem: View { var date: Date @Environment(\.colorScheme) var colorScheme var body: some View { RoundedRectangle(cornerRadius: 20) .foregroundColor(Color(.secondarySystemBackground)) .frame(width: 100, height: 100) .overlay( VStack { Text(get(.month)) .fontWeight(.semibold) Text(get(.day)) .font(.title) .fontWeight(.semibold) .foregroundColor(Color("default")) Text(get(.year)) .font(.caption) .fontWeight(.semibold) } ) } private enum Components { case day, month, year } private func get(_ components: Components) -> String { let dateComponents = Calendar.current.dateComponents([.year, .month, .day], from: date) switch components { case .year: return "\(dateComponents.year ?? 2020)" case .day: return "\(dateComponents.day ?? 1)" case .month: let dateFormatter = DateFormatter() let monthNumber = dateComponents.month ?? 1 let monthLetters = dateFormatter.shortMonthSymbols[monthNumber-1] return "\(monthLetters)" } } } struct TradingDatesItem_Previews: PreviewProvider { static var previews: some View { TradingDatesItem(date: Date()) } }