1
1
package mihon.feature.upcoming
2
2
3
3
import androidx.compose.foundation.layout.PaddingValues
4
+ import androidx.compose.foundation.layout.Row
5
+ import androidx.compose.foundation.layout.fillMaxWidth
4
6
import androidx.compose.foundation.layout.padding
5
7
import androidx.compose.foundation.lazy.LazyListState
6
8
import androidx.compose.foundation.lazy.items
7
9
import androidx.compose.foundation.lazy.rememberLazyListState
8
10
import androidx.compose.material.icons.Icons
9
11
import androidx.compose.material.icons.automirrored.outlined.HelpOutline
12
+ import androidx.compose.material3.Badge
10
13
import androidx.compose.material3.Icon
11
14
import androidx.compose.material3.IconButton
15
+ import androidx.compose.material3.MaterialTheme
16
+ import androidx.compose.material3.Text
12
17
import androidx.compose.runtime.Composable
13
18
import androidx.compose.runtime.rememberCoroutineScope
19
+ import androidx.compose.ui.Alignment
14
20
import androidx.compose.ui.Modifier
15
21
import androidx.compose.ui.platform.LocalUriHandler
22
+ import androidx.compose.ui.text.font.FontWeight
16
23
import cafe.adriel.voyager.navigator.LocalNavigator
17
24
import cafe.adriel.voyager.navigator.currentOrThrow
18
25
import eu.kanade.presentation.components.AppBar
@@ -27,9 +34,9 @@ import tachiyomi.core.common.Constants
27
34
import tachiyomi.domain.manga.model.Manga
28
35
import tachiyomi.i18n.MR
29
36
import tachiyomi.presentation.core.components.FastScrollLazyColumn
30
- import tachiyomi.presentation.core.components.ListGroupHeader
31
37
import tachiyomi.presentation.core.components.TwoPanelBox
32
38
import tachiyomi.presentation.core.components.material.Scaffold
39
+ import tachiyomi.presentation.core.components.material.padding
33
40
import tachiyomi.presentation.core.i18n.stringResource
34
41
import java.time.LocalDate
35
42
import java.time.YearMonth
@@ -99,6 +106,33 @@ private fun UpcomingToolbar() {
99
106
)
100
107
}
101
108
109
+ @Composable
110
+ private fun DateHeading (
111
+ date : LocalDate ,
112
+ mangaCount : Int ,
113
+ ) {
114
+ Row (
115
+ verticalAlignment = Alignment .CenterVertically ,
116
+ modifier = Modifier .fillMaxWidth(),
117
+ ) {
118
+ Text (
119
+ text = relativeDateText(date),
120
+ modifier = Modifier
121
+ .padding(MaterialTheme .padding.small)
122
+ .padding(start = MaterialTheme .padding.small),
123
+ color = MaterialTheme .colorScheme.onSurfaceVariant,
124
+ fontWeight = FontWeight .SemiBold ,
125
+ style = MaterialTheme .typography.bodyMedium,
126
+ )
127
+ Badge (
128
+ containerColor = MaterialTheme .colorScheme.primary,
129
+ contentColor = MaterialTheme .colorScheme.onPrimary,
130
+ ) {
131
+ Text (" $mangaCount " )
132
+ }
133
+ }
134
+ }
135
+
102
136
@Composable
103
137
private fun UpcomingScreenSmallImpl (
104
138
listState : LazyListState ,
@@ -140,7 +174,10 @@ private fun UpcomingScreenSmallImpl(
140
174
)
141
175
}
142
176
is UpcomingUIModel .Header -> {
143
- ListGroupHeader (text = relativeDateText(item.date))
177
+ DateHeading (
178
+ date = item.date,
179
+ mangaCount = item.mangaCount,
180
+ )
144
181
}
145
182
}
146
183
}
@@ -188,7 +225,10 @@ private fun UpcomingScreenLargeImpl(
188
225
)
189
226
}
190
227
is UpcomingUIModel .Header -> {
191
- ListGroupHeader (text = relativeDateText(item.date))
228
+ DateHeading (
229
+ date = item.date,
230
+ mangaCount = item.mangaCount,
231
+ )
192
232
}
193
233
}
194
234
}
0 commit comments