11package com.cornellappdev.score.screen
22
33import androidx.compose.foundation.background
4+ import androidx.compose.foundation.clickable
45import androidx.compose.foundation.layout.Arrangement
5- import androidx.compose.foundation.layout.Box
66import androidx.compose.foundation.layout.Column
77import androidx.compose.foundation.layout.Row
88import androidx.compose.foundation.layout.Spacer
99import androidx.compose.foundation.layout.fillMaxSize
1010import androidx.compose.foundation.layout.fillMaxWidth
1111import androidx.compose.foundation.layout.height
1212import androidx.compose.foundation.layout.padding
13- import androidx.compose.foundation.layout.width
1413import androidx.compose.foundation.layout.wrapContentSize
15- import androidx.compose.foundation.lazy.LazyColumn
16- import androidx.compose.foundation.lazy.items
1714import androidx.compose.material3.Icon
1815import androidx.compose.material3.Surface
1916import androidx.compose.material3.Text
@@ -30,21 +27,20 @@ import androidx.compose.ui.unit.dp
3027import com.cornellappdev.score.R
3128import com.cornellappdev.score.components.EmptyStateBox
3229import com.cornellappdev.score.components.ScorePreview
33- import com.cornellappdev.score.components.highlights.ArticleHighlightCard
30+ import com.cornellappdev.score.components.highlights.HighlightsCardLazyColumn
3431import com.cornellappdev.score.components.highlights.HighlightsScreenSearchFilterBar
3532import com.cornellappdev.score.components.highlights.RecentSearches
36- import com.cornellappdev.score.components.highlights.VideoHighlightCard
3733import com.cornellappdev.score.model.HighlightData
3834import com.cornellappdev.score.model.Sport
39- import com.cornellappdev.score.theme.Style.bodyNormal
4035import com.cornellappdev.score.theme.Style.heading2
4136import com.cornellappdev.score.theme.White
4237import com.cornellappdev.score.util.highlightsList
4338import com.cornellappdev.score.util.sportList
4439
4540@Composable
4641fun HighlightsSubScreenHeader (
47- header : String
42+ header : String ,
43+ navigateBack : () -> Unit
4844) {
4945 Row (
5046 modifier = Modifier
@@ -54,7 +50,8 @@ fun HighlightsSubScreenHeader(
5450 ) {
5551 Icon (
5652 painter = painterResource(R .drawable.ic_left_arrowhead),
57- contentDescription = " back arrow"
53+ contentDescription = " back arrow" ,
54+ modifier = Modifier .clickable(onClick = { navigateBack() })
5855 )
5956 Text (header, style = heading2)
6057 }
@@ -64,7 +61,7 @@ fun HighlightsSubScreenHeader(
6461@Composable
6562private fun HighlightsSubScreenHeader () {
6663 ScorePreview {
67- HighlightsSubScreenHeader (" Past 3 Days" )
64+ HighlightsSubScreenHeader (" Past 3 Days" , {} )
6865 }
6966}
7067
@@ -83,25 +80,27 @@ fun HighlightsSubScreen(
8380 .padding(top = 24 .dp)
8481 ) {
8582 Surface (
86- modifier = Modifier .wrapContentSize().dropShadow(
87- shape = RectangleShape ,
88- shadow = Shadow (
89- radius = 2 .dp,
90- color = Color .Black .copy(alpha = 0.05f ),
91- offset = DpOffset (0 .dp, (2 ).dp)
92- )
93- ),
83+ modifier = Modifier
84+ .wrapContentSize()
85+ .dropShadow(
86+ shape = RectangleShape ,
87+ shadow = Shadow (
88+ radius = 2 .dp,
89+ color = Color .Black .copy(alpha = 0.05f ),
90+ offset = DpOffset (0 .dp, (2 ).dp)
91+ )
92+ ),
9493 color = White
9594 ) {
96- HighlightsSubScreenHeader (header)
95+ HighlightsSubScreenHeader (header, {} )
9796 }
9897 Spacer (modifier = Modifier .height(16 .dp))
9998 HighlightsScreenSearchFilterBar (
10099 sportList,
101100
102101 false
103102 ) // need viewmodel to handle comms between composables
104- Spacer (modifier = Modifier .height(24 .dp))
103+ Spacer (modifier = Modifier .height(8 .dp))
105104 Column (
106105 modifier = Modifier .padding(horizontal = 24 .dp)
107106 ) {
@@ -117,22 +116,8 @@ fun HighlightsSubScreen(
117116 title = " No results yet." ,
118117 )
119118 } else {
120- Text (" ${filteredList.size} Results" , style = bodyNormal)
121- LazyColumn (
122- verticalArrangement = Arrangement .spacedBy(16 .dp)
123- ) {
124- item { Spacer (Modifier .width(8 .dp)) }
125- items(filteredList) { item ->
126- when (item) {
127- is HighlightData .Video -> VideoHighlightCard (item.data, true )
128- is HighlightData .Article -> ArticleHighlightCard (item.data, true )
129- }
130- }
131- item { Spacer (Modifier .width(8 .dp)) }
132- }
133- Spacer (modifier = Modifier .height(24 .dp))
119+ HighlightsCardLazyColumn (filteredList)
134120 }
135-
136121 }
137122 }
138123 }
0 commit comments