重命名消息页面
将消息页面重命名为通知页面,并将相关 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.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()
|
||||||
|
|||||||
@@ -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()
|
||||||
@@ -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())
|
||||||
@@ -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)
|
||||||
@@ -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)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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()
|
||||||
@@ -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,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user