Skip to content

Commit 1c19c03

Browse files
committed
feat(media): Implement the media database list refresh function
1 parent 2a27926 commit 1c19c03

File tree

1 file changed

+9
-12
lines changed
  • composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client

1 file changed

+9
-12
lines changed

composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/App.kt

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,10 @@ import androidx.compose.foundation.layout.PaddingValues
1212
import androidx.compose.foundation.layout.WindowInsets
1313
import androidx.compose.foundation.layout.WindowInsetsSides
1414
import androidx.compose.foundation.layout.fillMaxSize
15-
import androidx.compose.foundation.layout.fillMaxWidth
1615
import androidx.compose.foundation.layout.only
1716
import androidx.compose.foundation.layout.padding
1817
import androidx.compose.foundation.layout.size
1918
import androidx.compose.foundation.layout.windowInsetsPadding
20-
import androidx.compose.foundation.lazy.items
2119
import androidx.compose.runtime.Composable
2220
import androidx.compose.runtime.LaunchedEffect
2321
import androidx.compose.runtime.collectAsState
@@ -26,7 +24,6 @@ import androidx.compose.runtime.mutableStateListOf
2624
import androidx.compose.runtime.mutableStateOf
2725
import androidx.compose.runtime.remember
2826
import androidx.compose.runtime.setValue
29-
import androidx.compose.runtime.snapshotFlow
3027
import androidx.compose.ui.Alignment
3128
import androidx.compose.ui.Modifier
3229
import androidx.compose.ui.graphics.Color
@@ -53,6 +50,7 @@ import com.jankinwu.fntv.client.ui.component.common.ComponentItem
5350
import com.jankinwu.fntv.client.ui.component.common.ComponentNavigator
5451
import com.jankinwu.fntv.client.ui.component.common.HasNewVersionTag
5552
import com.jankinwu.fntv.client.ui.component.common.rememberComponentNavigator
53+
import com.jankinwu.fntv.client.ui.providable.LocalRefreshState
5654
import com.jankinwu.fntv.client.ui.providable.LocalStore
5755
import com.jankinwu.fntv.client.ui.screen.HomePageScreen
5856
import com.jankinwu.fntv.client.ui.screen.MediaDbScreen
@@ -64,27 +62,19 @@ import io.github.composefluent.ExperimentalFluentApi
6462
import io.github.composefluent.FluentTheme
6563
import io.github.composefluent.animation.FluentDuration
6664
import io.github.composefluent.animation.FluentEasing
67-
import io.github.composefluent.component.AutoSuggestBoxDefaults
68-
import io.github.composefluent.component.AutoSuggestionBox
6965
import io.github.composefluent.component.Icon
70-
import io.github.composefluent.component.ListItem
7166
import io.github.composefluent.component.MenuItem
7267
import io.github.composefluent.component.NavigationDefaults
7368
import io.github.composefluent.component.NavigationDisplayMode
7469
import io.github.composefluent.component.NavigationMenuItemScope
7570
import io.github.composefluent.component.NavigationView
7671
import io.github.composefluent.component.SideNavItem
7772
import io.github.composefluent.component.Text
78-
import io.github.composefluent.component.TextBoxButton
79-
import io.github.composefluent.component.TextBoxButtonDefaults
80-
import io.github.composefluent.component.TextField
8173
import io.github.composefluent.component.rememberNavigationState
8274
import io.github.composefluent.icons.Icons
8375
import io.github.composefluent.icons.regular.ArrowLeft
8476
import io.github.composefluent.icons.regular.Settings
8577
import kotlinx.coroutines.FlowPreview
86-
import kotlinx.coroutines.flow.debounce
87-
import kotlinx.coroutines.flow.map
8878
import okhttp3.Headers
8979
import okhttp3.Interceptor
9080
import okhttp3.Response
@@ -581,7 +571,14 @@ fun MediaLibraryNavigationComponent() {
581571

582572
val mediaDbListViewModel: MediaDbListViewModel = koinViewModel<MediaDbListViewModel>()
583573
val mediaUiState by mediaDbListViewModel.uiState.collectAsState()
584-
574+
val refreshState = LocalRefreshState.current
575+
// 监听刷新状态变化
576+
LaunchedEffect(refreshState.refreshKey) {
577+
// 当刷新状态变化时执行刷新逻辑
578+
if (refreshState.refreshKey.isNotEmpty()) {
579+
mediaDbListViewModel.loadData()
580+
}
581+
}
585582
// 动态生成组件列表
586583
LaunchedEffect(mediaUiState) {
587584
val categoryItems = listOf(

0 commit comments

Comments
 (0)