重命名消息页面
将消息页面重命名为通知页面,并将相关 ViewModel 和 Composable 函数也进行了重命名。
This commit is contained in:
@@ -29,9 +29,9 @@ import com.aiosman.riderpro.LocalNavController
|
||||
import com.aiosman.riderpro.LocalSharedTransitionScope
|
||||
import com.aiosman.riderpro.ui.account.AccountEditScreen2
|
||||
import com.aiosman.riderpro.ui.comment.CommentsScreen
|
||||
import com.aiosman.riderpro.ui.favourite.FavouriteScreen
|
||||
import com.aiosman.riderpro.ui.favourite.FavouriteNoticeScreen
|
||||
import com.aiosman.riderpro.ui.follower.FollowerListScreen
|
||||
import com.aiosman.riderpro.ui.follower.FollowerNotificationScreen
|
||||
import com.aiosman.riderpro.ui.follower.FollowerNoticeScreen
|
||||
import com.aiosman.riderpro.ui.follower.FollowingListScreen
|
||||
import com.aiosman.riderpro.ui.gallery.OfficialGalleryScreen
|
||||
import com.aiosman.riderpro.ui.gallery.OfficialPhotographerScreen
|
||||
@@ -39,7 +39,7 @@ import com.aiosman.riderpro.ui.gallery.ProfileTimelineScreen
|
||||
import com.aiosman.riderpro.ui.index.IndexScreen
|
||||
import com.aiosman.riderpro.ui.index.tabs.message.NotificationsScreen
|
||||
import com.aiosman.riderpro.ui.index.tabs.search.SearchScreen
|
||||
import com.aiosman.riderpro.ui.like.LikeScreen
|
||||
import com.aiosman.riderpro.ui.like.LikeNoticeScreen
|
||||
import com.aiosman.riderpro.ui.location.LocationDetailScreen
|
||||
import com.aiosman.riderpro.ui.login.EmailSignupScreen
|
||||
import com.aiosman.riderpro.ui.login.LoginPage
|
||||
@@ -158,10 +158,10 @@ fun NavigationController(
|
||||
CommentsScreen()
|
||||
}
|
||||
composable(route = NavigationRoute.Likes.route) {
|
||||
LikeScreen()
|
||||
LikeNoticeScreen()
|
||||
}
|
||||
composable(route = NavigationRoute.Followers.route) {
|
||||
FollowerNotificationScreen()
|
||||
FollowerNoticeScreen()
|
||||
}
|
||||
composable(
|
||||
route = NavigationRoute.NewPost.route,
|
||||
@@ -219,7 +219,7 @@ fun NavigationController(
|
||||
ChangePasswordScreen()
|
||||
}
|
||||
composable(route = NavigationRoute.FavouritesScreen.route) {
|
||||
FavouriteScreen()
|
||||
FavouriteNoticeScreen()
|
||||
}
|
||||
composable(route = NavigationRoute.NewPostImageGrid.route) {
|
||||
NewPostImageGridScreen()
|
||||
|
||||
@@ -1,49 +1,31 @@
|
||||
package com.aiosman.riderpro.ui.favourite
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.paging.compose.collectAsLazyPagingItems
|
||||
import com.aiosman.riderpro.LocalNavController
|
||||
import com.aiosman.riderpro.R
|
||||
import com.aiosman.riderpro.ui.comment.NoticeScreenHeader
|
||||
import com.aiosman.riderpro.ui.composables.StatusBarMaskLayout
|
||||
import com.aiosman.riderpro.ui.composables.BottomNavigationPlaceholder
|
||||
import com.aiosman.riderpro.ui.like.ActionNoticeItem
|
||||
import com.aiosman.riderpro.ui.like.LikePageViewModel
|
||||
|
||||
/**
|
||||
* 收藏消息界面
|
||||
*/
|
||||
@Composable
|
||||
fun FavouriteScreen() {
|
||||
val model = FavouritePageViewModel
|
||||
fun FavouriteNoticeScreen() {
|
||||
val model = FavouriteNoticeViewModel
|
||||
val listState = rememberLazyListState()
|
||||
var dataFlow = model.favouriteItemsFlow
|
||||
var favourites = dataFlow.collectAsLazyPagingItems()
|
||||
@@ -21,7 +21,7 @@ import kotlinx.coroutines.launch
|
||||
/**
|
||||
* 收藏消息列表的 ViewModel
|
||||
*/
|
||||
object FavouritePageViewModel : ViewModel() {
|
||||
object FavouriteNoticeViewModel : ViewModel() {
|
||||
private val accountService: AccountService = AccountServiceImpl()
|
||||
private val _favouriteItemsFlow =
|
||||
MutableStateFlow<PagingData<AccountFavouriteEntity>>(PagingData.empty())
|
||||
@@ -38,7 +38,7 @@ import kotlinx.coroutines.launch
|
||||
* 关注消息列表
|
||||
*/
|
||||
@Composable
|
||||
fun FollowerNotificationScreen() {
|
||||
fun FollowerNoticeScreen() {
|
||||
val scope = rememberCoroutineScope()
|
||||
StatusBarMaskLayout(
|
||||
modifier = Modifier.padding(horizontal = 16.dp)
|
||||
@@ -726,7 +726,7 @@ fun TimeGroup(time: String = "2024.06.08 12:23") {
|
||||
text = time,
|
||||
fontSize = 16.sp,
|
||||
color = Color.Black,
|
||||
style = TextStyle(fontWeight = FontWeight.Bold)
|
||||
style = TextStyle(fontWeight = FontWeight.W600)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import kotlinx.coroutines.flow.collectLatest
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
|
||||
object LikePageViewModel : ViewModel() {
|
||||
object LikeNoticeViewModel : ViewModel() {
|
||||
private val accountService: AccountService = AccountServiceImpl()
|
||||
private val _likeItemsFlow = MutableStateFlow<PagingData<AccountLikeEntity>>(PagingData.empty())
|
||||
val likeItemsFlow = _likeItemsFlow.asStateFlow()
|
||||
@@ -12,11 +12,13 @@ import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
@@ -38,8 +40,8 @@ import java.util.Date
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
fun LikeScreen() {
|
||||
val model = LikePageViewModel
|
||||
fun LikeNoticeScreen() {
|
||||
val model = LikeNoticeViewModel
|
||||
val listState = rememberLazyListState()
|
||||
var dataFlow = model.likeItemsFlow
|
||||
var likes = dataFlow.collectAsLazyPagingItems()
|
||||
@@ -118,7 +120,8 @@ fun ActionNoticeItem(
|
||||
context,
|
||||
imageUrl = avatar,
|
||||
modifier = Modifier
|
||||
.size(40.dp)
|
||||
.size(48.dp)
|
||||
.clip(CircleShape)
|
||||
.noRippleClickable {
|
||||
navController.navigate(
|
||||
NavigationRoute.AccountProfile.route.replace(
|
||||
@@ -151,7 +154,7 @@ fun ActionNoticeItem(
|
||||
CustomAsyncImage(
|
||||
context,
|
||||
imageUrl = thumbnail,
|
||||
modifier = Modifier.size(64.dp),
|
||||
modifier = Modifier.size(48.dp),
|
||||
contentDescription = action,
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user