diff --git a/app/src/main/java/com/aiosman/ravenow/ui/group/AddGroupMemberScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/group/AddGroupMemberScreen.kt
index eec8ce3..b4c1f44 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/group/AddGroupMemberScreen.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/group/AddGroupMemberScreen.kt
@@ -21,6 +21,10 @@ import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.Text
import androidx.compose.runtime.*
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.rememberLottieComposition
import androidx.compose.runtime.snapshotFlow
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -433,10 +437,10 @@ fun AddMemberAiAgentListScreen(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
- Text(
- text = "加载中...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
} else {
@@ -465,10 +469,10 @@ fun AddMemberAiAgentListScreen(
.padding(16.dp),
contentAlignment = Alignment.Center
) {
- Text(
- text = "加载更多...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
}
@@ -533,10 +537,10 @@ fun AddMemberFriendListScreen(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
- Text(
- text = "加载中...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
} else {
@@ -565,10 +569,10 @@ fun AddMemberFriendListScreen(
.padding(16.dp),
contentAlignment = Alignment.Center
) {
- Text(
- text = "加载更多...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
}
diff --git a/app/src/main/java/com/aiosman/ravenow/ui/group/AiAgentListScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/group/AiAgentListScreen.kt
index 95ad19d..8a1367f 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/group/AiAgentListScreen.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/group/AiAgentListScreen.kt
@@ -11,6 +11,10 @@ import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.Text
import androidx.compose.runtime.*
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.rememberLottieComposition
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
@@ -78,10 +82,10 @@ fun AiAgentListScreen(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
- Text(
- text = "加载中...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
} else {
@@ -111,10 +115,10 @@ fun AiAgentListScreen(
.padding(16.dp),
contentAlignment = Alignment.Center
) {
- Text(
- text = "加载更多...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
}
diff --git a/app/src/main/java/com/aiosman/ravenow/ui/group/FriendListScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/group/FriendListScreen.kt
index a0e28f9..8d9322f 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/group/FriendListScreen.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/group/FriendListScreen.kt
@@ -11,6 +11,10 @@ import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.Text
import androidx.compose.runtime.*
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.rememberLottieComposition
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
@@ -78,10 +82,10 @@ fun FriendListScreen(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
- Text(
- text = "加载中...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
} else {
@@ -111,10 +115,10 @@ fun FriendListScreen(
.padding(16.dp),
contentAlignment = Alignment.Center
) {
- Text(
- text = "加载更多...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
}
diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/ai/Agent.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/ai/Agent.kt
index 3de1824..f0c1bb6 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/ai/Agent.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/ai/Agent.kt
@@ -91,6 +91,10 @@ import androidx.compose.ui.graphics.Brush
import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.layout.aspectRatio
import androidx.compose.ui.platform.LocalConfiguration
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.rememberLottieComposition
// 检测是否接近列表底部的扩展函数
fun LazyListState.isScrolledToEnd(buffer: Int = 3): Boolean {
@@ -382,25 +386,19 @@ fun Agent() {
}
}
- // 加载更多指示器(仅在展示“发现更多”时显示)
+ // 加载更多指示器(仅在展示"发现更多"时显示)
if (viewModel.isLoadingMore) {
item {
- Row(
+ Box(
modifier = Modifier
.fillMaxWidth()
.padding(vertical = 24.dp),
- horizontalArrangement = Arrangement.Center
+ contentAlignment = Alignment.Center
) {
- androidx.compose.material3.CircularProgressIndicator(
- modifier = Modifier.size(24.dp),
- color = AppColors.text,
- strokeWidth = 2.dp
- )
- Spacer(modifier = Modifier.width(12.dp))
- androidx.compose.material3.Text(
- text = "加载中...",
- color = AppColors.secondaryText,
- fontSize = 14.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
}
@@ -920,26 +918,16 @@ fun ChatRoomCard(
modifier = Modifier
.size(120.dp)
.background(
- color = AppColors.background,
+ color = Color.Transparent,
shape = RoundedCornerShape(12.dp)
),
contentAlignment = Alignment.Center
) {
- Column(
- horizontalAlignment = Alignment.CenterHorizontally,
- verticalArrangement = Arrangement.Center
- ) {
- CircularProgressIndicator(
- modifier = Modifier.size(32.dp),
- color = AppColors.main
- )
- Spacer(modifier = Modifier.height(12.dp))
- androidx.compose.material3.Text(
- text = "加入中...",
- fontSize = 14.sp,
- color = AppColors.text
- )
- }
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(96.dp)
+ )
}
}
}
diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/message/tab/AgentChatListScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/message/tab/AgentChatListScreen.kt
index ef44a4c..636e662 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/message/tab/AgentChatListScreen.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/message/tab/AgentChatListScreen.kt
@@ -49,6 +49,10 @@ import com.aiosman.ravenow.ui.composables.rememberDebouncer
import com.aiosman.ravenow.ui.modifiers.noRippleClickable
import com.aiosman.ravenow.utils.NetworkUtils
import com.aiosman.ravenow.ui.network.ReloadButton
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.rememberLottieComposition
/**
* 智能体聊天列表页面
@@ -187,9 +191,10 @@ fun AgentChatListScreen() {
.padding(16.dp),
contentAlignment = Alignment.Center
) {
- CircularProgressIndicator(
- modifier = Modifier.size(24.dp),
- color = AppColors.main
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
}
diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/recommend/RecommendScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/recommend/RecommendScreen.kt
index 7a1ae26..d5d2507 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/recommend/RecommendScreen.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/recommend/RecommendScreen.kt
@@ -6,10 +6,14 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
import androidx.compose.foundation.pager.VerticalPager
import androidx.compose.foundation.pager.rememberPagerState
-import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.Text
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.rememberLottieComposition
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
@@ -75,17 +79,11 @@ fun RecommendScreen() {
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
- Column(
- horizontalAlignment = Alignment.CenterHorizontally
- ) {
- CircularProgressIndicator(color = AppColors.main)
- Text(
- text = "",
- modifier = Modifier.padding(top = 16.dp),
- color = AppColors.text,
- fontSize = 14.sp
- )
- }
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(96.dp)
+ )
}
}
diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/shorts/ShortVideoScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/shorts/ShortVideoScreen.kt
index 1fe62a1..ba0d18f 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/shorts/ShortVideoScreen.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/moment/tabs/shorts/ShortVideoScreen.kt
@@ -3,11 +3,13 @@ package com.aiosman.ravenow.ui.index.tabs.moment.tabs.shorts
import android.util.Log
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.foundation.layout.padding
-import androidx.compose.material3.CircularProgressIndicator
+import androidx.compose.foundation.layout.size
import androidx.compose.material3.Text
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.rememberLottieComposition
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
@@ -77,19 +79,11 @@ fun ShortVideoScreen(
.background(AppColors.background),
contentAlignment = Alignment.Center
) {
- Column(
- modifier = Modifier.padding(16.dp),
- horizontalAlignment = Alignment.CenterHorizontally,
- verticalArrangement = androidx.compose.foundation.layout.Arrangement.Center
- ) {
- CircularProgressIndicator(color = AppColors.main)
- Text(
- text = "",
- modifier = Modifier.padding(top = 16.dp),
- color = AppColors.text,
- fontSize = 14.sp
- )
- }
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(96.dp)
+ )
}
}
// 错误状态
@@ -130,10 +124,10 @@ fun ShortVideoScreen(
.background(AppColors.background),
contentAlignment = Alignment.Center
) {
- Text(
- text = "准备加载...",
- color = AppColors.text,
- fontSize = 16.sp
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
}
diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/profile/composable/GroupChatEmptyContent.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/profile/composable/GroupChatEmptyContent.kt
index 12133ea..2098d8b 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/profile/composable/GroupChatEmptyContent.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/profile/composable/GroupChatEmptyContent.kt
@@ -25,6 +25,10 @@ import androidx.compose.material.pullrefresh.rememberPullRefreshState
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Text
+import com.airbnb.lottie.compose.LottieAnimation
+import com.airbnb.lottie.compose.LottieCompositionSpec
+import com.airbnb.lottie.compose.LottieConstants
+import com.airbnb.lottie.compose.rememberLottieComposition
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
@@ -184,9 +188,10 @@ fun GroupChatEmptyContent(
.padding(16.dp),
contentAlignment = Alignment.Center
) {
- CircularProgressIndicator(
- modifier = Modifier.size(24.dp),
- color = AppColors.main
+ LottieAnimation(
+ composition = rememberLottieComposition(LottieCompositionSpec.Asset("star_Loader.lottie")).value,
+ iterations = LottieConstants.IterateForever,
+ modifier = Modifier.size(80.dp)
)
}
}
diff --git a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/search/SearchScreen.kt b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/search/SearchScreen.kt
index 27539a5..aca469e 100644
--- a/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/search/SearchScreen.kt
+++ b/app/src/main/java/com/aiosman/ravenow/ui/index/tabs/search/SearchScreen.kt
@@ -274,14 +274,14 @@ fun HistorySection(
verticalAlignment = Alignment.CenterVertically
) {
Text(
- text = "历史搜索",
+ text = stringResource(R.string.recent_search),
color = AppColors.text,
fontSize = 16.sp,
fontWeight = FontWeight.W600
)
Spacer(modifier = Modifier.weight(1f))
Text(
- text = "清空",
+ text = stringResource(R.string.clear),
color = AppColors.secondaryText,
fontSize = 14.sp,
modifier = Modifier.noRippleClickable { onClear() }
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 1406143..b69080a 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -219,6 +219,7 @@
利用可能上限:
記憶がありません
上部のボタンをクリックしてグループ記憶を追加してください
+ けんさくりれき
作成
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 64708db..f8d63d9 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -221,6 +221,7 @@
草稿箱
暂无草稿
仅保存最近5个草稿
+ 历史搜索
创建
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cac5317..a890cb7 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -218,6 +218,7 @@
Available Limit:
No memory yet
Click the button above to add group memory
+ Recent Search
Create