File tree Expand file tree Collapse file tree
app-ios/Sources/TimetableFeature Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ public struct TimetableReducer : Sendable{
1313
1414 @ObservableState
1515 public struct State : Equatable {
16+ var selectedDay : DayTab = . day1
1617 var timetableItems : [ TimetableTimeGroupItems ] = [ ] //Should be simple objects
1718
1819 public init ( timetableItems: [ TimetableTimeGroupItems ] = [ ] ) {
@@ -70,14 +71,13 @@ public struct TimetableReducer : Sendable{
7071
7172 case let . requestDay( dayTab) :
7273 return . run { send in
73- let internalDay : DroidKaigi2024Day = switch dayTab {
74- case DayTab . day1:
75- DroidKaigi2024Day . conferenceDay1
76- case DayTab . day2:
77- DroidKaigi2024Day . conferenceDay2
78- }
79-
8074 for try await timetables in try timetableClient. streamTimetable ( ) {
75+ let internalDay : DroidKaigi2024Day = switch dayTab {
76+ case DayTab . day1:
77+ DroidKaigi2024Day . conferenceDay1
78+ case DayTab . day2:
79+ DroidKaigi2024Day . conferenceDay2
80+ }
8181 await send ( . response( . success( timetables. dayTimetable ( droidKaigi2024Day: internalDay) . contents) ) )
8282 }
8383 }
@@ -92,7 +92,8 @@ public struct TimetableReducer : Sendable{
9292 case . view( . timetableItemTapped) , . view( . searchTapped) :
9393 return . none
9494 case . view( . selectDay( let dayTab) ) :
95-
95+ state. selectedDay = dayTab
96+
9697 return . run { send in
9798 await send ( . requestDay( dayTab) )
9899 }
@@ -113,6 +114,3 @@ public struct TimetableReducer : Sendable{
113114 }
114115 }
115116}
116-
117-
118-
Original file line number Diff line number Diff line change @@ -13,20 +13,18 @@ public struct TimetableView: View {
1313
1414 @State private var timetableMode = TimetableMode . list
1515 @State private var switchModeIcon : ImageResource = . icGrid
16- @State private var selectedTab : DayTab = DayTab . day1
1716
1817 public var body : some View {
1918 VStack {
2019 HStack {
2120 ForEach ( DayTab . allCases) { tabItem in
2221 Button ( action: {
2322 store. send ( . view( . selectDay( tabItem) ) )
24- selectedTab = tabItem
2523 } , label: {
2624 HStack ( spacing: 6 ) {
27- Text ( tabItem. rawValue) . textStyle ( . titleMedium) . underline ( selectedTab == tabItem)
25+ Text ( tabItem. rawValue) . textStyle ( . titleMedium) . underline ( store . selectedDay == tabItem)
2826 }
29- . foregroundStyle ( selectedTab == tabItem ? AssetColors . Custom. iguana. swiftUIColor : AssetColors . Surface. onSurface. swiftUIColor)
27+ . foregroundStyle ( store . selectedDay == tabItem ? AssetColors . Custom. iguana. swiftUIColor : AssetColors . Surface. onSurface. swiftUIColor)
3028 . padding ( 6 )
3129 } )
3230 }
@@ -59,7 +57,7 @@ public struct TimetableView: View {
5957 }
6058 . frame ( width: 40 , height: 40 )
6159 }
62-
60+
6361 Button {
6462 switch timetableMode {
6563 case . list:
You can’t perform that action at this time.
0 commit comments