重命名消息页面

将消息页面重命名为通知页面,并将相关 ViewModel 和 Composable 函数也进行了重命名。
This commit is contained in:
2024-09-06 08:28:57 +08:00
parent 1e12eb42f7
commit 633e9a3945
7 changed files with 19 additions and 34 deletions

View File

@@ -29,9 +29,9 @@ import com.aiosman.riderpro.LocalNavController
import com.aiosman.riderpro.LocalSharedTransitionScope import com.aiosman.riderpro.LocalSharedTransitionScope
import com.aiosman.riderpro.ui.account.AccountEditScreen2 import com.aiosman.riderpro.ui.account.AccountEditScreen2
import com.aiosman.riderpro.ui.comment.CommentsScreen 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.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.follower.FollowingListScreen
import com.aiosman.riderpro.ui.gallery.OfficialGalleryScreen import com.aiosman.riderpro.ui.gallery.OfficialGalleryScreen
import com.aiosman.riderpro.ui.gallery.OfficialPhotographerScreen 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.IndexScreen
import com.aiosman.riderpro.ui.index.tabs.message.NotificationsScreen import com.aiosman.riderpro.ui.index.tabs.message.NotificationsScreen
import com.aiosman.riderpro.ui.index.tabs.search.SearchScreen 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.location.LocationDetailScreen
import com.aiosman.riderpro.ui.login.EmailSignupScreen import com.aiosman.riderpro.ui.login.EmailSignupScreen
import com.aiosman.riderpro.ui.login.LoginPage import com.aiosman.riderpro.ui.login.LoginPage
@@ -158,10 +158,10 @@ fun NavigationController(
CommentsScreen() CommentsScreen()
} }
composable(route = NavigationRoute.Likes.route) { composable(route = NavigationRoute.Likes.route) {
LikeScreen() LikeNoticeScreen()
} }
composable(route = NavigationRoute.Followers.route) { composable(route = NavigationRoute.Followers.route) {
FollowerNotificationScreen() FollowerNoticeScreen()
} }
composable( composable(
route = NavigationRoute.NewPost.route, route = NavigationRoute.NewPost.route,
@@ -219,7 +219,7 @@ fun NavigationController(
ChangePasswordScreen() ChangePasswordScreen()
} }
composable(route = NavigationRoute.FavouritesScreen.route) { composable(route = NavigationRoute.FavouritesScreen.route) {
FavouriteScreen() FavouriteNoticeScreen()
} }
composable(route = NavigationRoute.NewPostImageGrid.route) { composable(route = NavigationRoute.NewPostImageGrid.route) {
NewPostImageGridScreen() NewPostImageGridScreen()

View File

@@ -1,49 +1,31 @@
package com.aiosman.riderpro.ui.favourite package com.aiosman.riderpro.ui.favourite
import androidx.compose.foundation.Image
import androidx.compose.foundation.background 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.Box
import androidx.compose.foundation.layout.Column 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.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding 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.LazyColumn
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect 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.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource 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.dp
import androidx.compose.ui.unit.sp
import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems
import com.aiosman.riderpro.LocalNavController
import com.aiosman.riderpro.R import com.aiosman.riderpro.R
import com.aiosman.riderpro.ui.comment.NoticeScreenHeader import com.aiosman.riderpro.ui.comment.NoticeScreenHeader
import com.aiosman.riderpro.ui.composables.StatusBarMaskLayout import com.aiosman.riderpro.ui.composables.StatusBarMaskLayout
import com.aiosman.riderpro.ui.composables.BottomNavigationPlaceholder import com.aiosman.riderpro.ui.composables.BottomNavigationPlaceholder
import com.aiosman.riderpro.ui.like.ActionNoticeItem import com.aiosman.riderpro.ui.like.ActionNoticeItem
import com.aiosman.riderpro.ui.like.LikePageViewModel
/** /**
* 收藏消息界面 * 收藏消息界面
*/ */
@Composable @Composable
fun FavouriteScreen() { fun FavouriteNoticeScreen() {
val model = FavouritePageViewModel val model = FavouriteNoticeViewModel
val listState = rememberLazyListState() val listState = rememberLazyListState()
var dataFlow = model.favouriteItemsFlow var dataFlow = model.favouriteItemsFlow
var favourites = dataFlow.collectAsLazyPagingItems() var favourites = dataFlow.collectAsLazyPagingItems()

View File

@@ -21,7 +21,7 @@ import kotlinx.coroutines.launch
/** /**
* 收藏消息列表的 ViewModel * 收藏消息列表的 ViewModel
*/ */
object FavouritePageViewModel : ViewModel() { object FavouriteNoticeViewModel : ViewModel() {
private val accountService: AccountService = AccountServiceImpl() private val accountService: AccountService = AccountServiceImpl()
private val _favouriteItemsFlow = private val _favouriteItemsFlow =
MutableStateFlow<PagingData<AccountFavouriteEntity>>(PagingData.empty()) MutableStateFlow<PagingData<AccountFavouriteEntity>>(PagingData.empty())

View File

@@ -38,7 +38,7 @@ import kotlinx.coroutines.launch
* 关注消息列表 * 关注消息列表
*/ */
@Composable @Composable
fun FollowerNotificationScreen() { fun FollowerNoticeScreen() {
val scope = rememberCoroutineScope() val scope = rememberCoroutineScope()
StatusBarMaskLayout( StatusBarMaskLayout(
modifier = Modifier.padding(horizontal = 16.dp) modifier = Modifier.padding(horizontal = 16.dp)

View File

@@ -726,7 +726,7 @@ fun TimeGroup(time: String = "2024.06.08 12:23") {
text = time, text = time,
fontSize = 16.sp, fontSize = 16.sp,
color = Color.Black, color = Color.Black,
style = TextStyle(fontWeight = FontWeight.Bold) style = TextStyle(fontWeight = FontWeight.W600)
) )
} }
} }

View File

@@ -19,7 +19,7 @@ import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
object LikePageViewModel : ViewModel() { object LikeNoticeViewModel : ViewModel() {
private val accountService: AccountService = AccountServiceImpl() private val accountService: AccountService = AccountServiceImpl()
private val _likeItemsFlow = MutableStateFlow<PagingData<AccountLikeEntity>>(PagingData.empty()) private val _likeItemsFlow = MutableStateFlow<PagingData<AccountLikeEntity>>(PagingData.empty())
val likeItemsFlow = _likeItemsFlow.asStateFlow() val likeItemsFlow = _likeItemsFlow.asStateFlow()

View File

@@ -12,11 +12,13 @@ import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
@@ -38,8 +40,8 @@ import java.util.Date
@Preview @Preview
@Composable @Composable
fun LikeScreen() { fun LikeNoticeScreen() {
val model = LikePageViewModel val model = LikeNoticeViewModel
val listState = rememberLazyListState() val listState = rememberLazyListState()
var dataFlow = model.likeItemsFlow var dataFlow = model.likeItemsFlow
var likes = dataFlow.collectAsLazyPagingItems() var likes = dataFlow.collectAsLazyPagingItems()
@@ -118,7 +120,8 @@ fun ActionNoticeItem(
context, context,
imageUrl = avatar, imageUrl = avatar,
modifier = Modifier modifier = Modifier
.size(40.dp) .size(48.dp)
.clip(CircleShape)
.noRippleClickable { .noRippleClickable {
navController.navigate( navController.navigate(
NavigationRoute.AccountProfile.route.replace( NavigationRoute.AccountProfile.route.replace(
@@ -151,7 +154,7 @@ fun ActionNoticeItem(
CustomAsyncImage( CustomAsyncImage(
context, context,
imageUrl = thumbnail, imageUrl = thumbnail,
modifier = Modifier.size(64.dp), modifier = Modifier.size(48.dp),
contentDescription = action, contentDescription = action,
) )
} }