AutorÃa | Ultima modificación | Ver Log |
import SwiftUI
struct TimeLineView: View {
@EnvironmentObject private var networkMonitor : NetworkMonitor
@EnvironmentObject private var appNavigation : AppNavigation
private let config = [
GridItem(.flexible())
]
private var viewModel : TimeLineViewModel = TimeLineViewModel()
var body: some View {
GeometryReader { geometry in
VStack(spacing: 0) {
HStack {
Image("logo")
.resizable()
.frame(width: 32, height: 32, alignment: .center)
.aspectRatio(contentMode: .fit)
.foregroundColor(networkMonitor.status == .disconnected ? Color("color_network_disconnected_foreground") : Color("color_app_bar_foreground"))
.padding(.leading, 16)
Text(Config.LANG_TAB_BAR_BUTTON_TIME_LINE)
.font(Font.custom(Config.FONT_NAME_REGULAR, size: Config.FONT_SIZE_APP_BAR_HEAD1 ))
.foregroundColor(networkMonitor.status == .disconnected ? Color("color_network_disconnected_foreground") : Color("color_app_bar_foreground"))
.padding(.leading, 4)
Spacer()
}
.edgesIgnoringSafeArea(.top)
.frame(height: 50)
.background(networkMonitor.status == .disconnected ? Color("color_network_disconnected_background") : Color("color_app_bar_background"))
Divider().background(networkMonitor.status == .disconnected ? Color("color_network_disconnected_background") : Color("color_app_bar_background"))
ScrollView {
ForEach(0..<self.viewModel.userlogs.count) { i in
TimeLinePointView(userLogModel: self.viewModel.userlogs[i], highlight: i == 0 || i == self.viewModel.userlogs.count - 1)
.listRowInsets(.init()).frame(width: geometry.size.width, height: 70, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
.background(i == 0 || i == self.viewModel.userlogs.count - 1 ?
Color("color_timeline_list_item_background_highlight")
:
Color("color_timeline_list_item_background"))
}
}
.padding(.top, 5)
.background(Color("color_app_bar_background"))
}
}
}
}
struct TimeLineView_Previews: PreviewProvider {
static var previews: some View {
TimeLineView()
}
}