diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Scaffold.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Scaffold.kt index 1a951fa..8ef5ea0 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Scaffold.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/Scaffold.kt @@ -15,7 +15,6 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape @@ -61,8 +60,6 @@ fun Scaffold( tabIndex = tabIndex, onTabChanged = onTabChanged, tabColumnContent = tabColumnContent, -// primaryIconButtonId = primaryIconButtonId, -// onPrimaryIconButtonClick = onPrimaryIconButtonClick, modifier = Modifier .padding(LocalPlayerAwarePaddingValues.current) ) @@ -111,29 +108,3 @@ fun Scaffold( } } } - -@ExperimentalAnimationApi -@Composable -fun SimpleScaffold( - topIconButtonId: Int, - onTopIconButtonClick: () -> Unit, - modifier: Modifier = Modifier, - content: @Composable () -> Unit -) { - val (colorPalette) = LocalAppearance.current - - Row( - modifier = modifier - .background(colorPalette.background0) - .fillMaxSize() - ) { - VerticalBar( - topIconButtonId = topIconButtonId, - onTopIconButtonClick = onTopIconButtonClick, - modifier = Modifier - .padding(LocalPlayerAwarePaddingValues.current) - ) - - content() - } -} diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/VerticalBar.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/VerticalBar.kt index c21cf51..1eb24b0 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/VerticalBar.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/components/themed/VerticalBar.kt @@ -1,34 +1,26 @@ package it.vfsfitvnm.vimusic.ui.components.themed -import android.annotation.SuppressLint import androidx.compose.foundation.Image -import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.foundation.text.BasicText import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip -import androidx.compose.ui.draw.rotate import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import it.vfsfitvnm.vimusic.ui.components.TabColumn -import it.vfsfitvnm.vimusic.ui.components.vertical import it.vfsfitvnm.vimusic.ui.styling.Dimensions import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance import it.vfsfitvnm.vimusic.utils.semiBold -@SuppressLint("ModifierParameter") @Composable fun VerticalBar( topIconButtonId: Int, @@ -43,28 +35,18 @@ fun VerticalBar( Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier -// .width(Dimensions.verticalBarWidth) .padding(vertical = 16.dp) ) { -// Box( -// modifier = Modifier -// .clip(RoundedCornerShape(16.dp)) -// .clickable(onClick = onTopIconButtonClick) -// .background(color = colorPalette.background1) -// .size(48.dp) -// ) { - Image( - painter = painterResource(topIconButtonId), - contentDescription = null, - colorFilter = ColorFilter.tint(colorPalette.textSecondary), - modifier = Modifier - .clip(RoundedCornerShape(16.dp)) - .clickable(onClick = onTopIconButtonClick) - .padding(all = 12.dp) -// .align(Alignment.Center) - .size(22.dp) - ) -// } + Image( + painter = painterResource(topIconButtonId), + contentDescription = null, + colorFilter = ColorFilter.tint(colorPalette.textSecondary), + modifier = Modifier + .clip(RoundedCornerShape(16.dp)) + .clickable(onClick = onTopIconButtonClick) + .padding(all = 12.dp) + .size(22.dp) + ) Spacer( modifier = Modifier @@ -80,58 +62,5 @@ fun VerticalBar( textStyle = typography.xs.semiBold, content = tabColumnContent, ) - -// Spacer( -// modifier = Modifier -// .weight(1f) -// ) - -// primaryIconButtonId?.let { -// Box( -// modifier = Modifier -// .offset(x = 8.dp) -// .clip(RoundedCornerShape(16.dp)) -// .clickable(onClick = onPrimaryIconButtonClick) -// .background(colorPalette.background1) -// .size(62.dp) -// ) { -// Image( -// painter = painterResource(primaryIconButtonId), -// contentDescription = null, -// colorFilter = ColorFilter.tint(colorPalette.text), -// modifier = Modifier -// .align(Alignment.Center) -// .size(20.dp) -// ) -// } -// } - } -} - -@SuppressLint("ModifierParameter") -@Composable -fun VerticalBar( - topIconButtonId: Int, - onTopIconButtonClick: () -> Unit, - modifier: Modifier = Modifier -) { - val (colorPalette) = LocalAppearance.current - - Column( - horizontalAlignment = Alignment.CenterHorizontally, - modifier = modifier - .width(Dimensions.verticalBarWidth) - .padding(vertical = 16.dp) - ) { - Image( - painter = painterResource(topIconButtonId), - contentDescription = null, - colorFilter = ColorFilter.tint(colorPalette.textSecondary), - modifier = Modifier - .clip(RoundedCornerShape(16.dp)) - .clickable(onClick = onTopIconButtonClick) - .padding(all = 12.dp) - .size(22.dp) - ) } } diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumScreen.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumScreen.kt index a10d6b9..ac71200 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumScreen.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumScreen.kt @@ -3,24 +3,34 @@ package it.vfsfitvnm.vimusic.ui.screens.album import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.runtime.Composable +import androidx.compose.runtime.saveable.rememberSaveableStateHolder import it.vfsfitvnm.route.RouteHandler import it.vfsfitvnm.vimusic.R -import it.vfsfitvnm.vimusic.ui.components.themed.SimpleScaffold +import it.vfsfitvnm.vimusic.ui.components.themed.Scaffold import it.vfsfitvnm.vimusic.ui.screens.globalRoutes @OptIn(ExperimentalFoundationApi::class) @ExperimentalAnimationApi @Composable fun AlbumScreen(browseId: String) { + val saveableStateHolder = rememberSaveableStateHolder() + RouteHandler(listenToGlobalEmitter = true) { globalRoutes() host { - SimpleScaffold( + Scaffold( topIconButtonId = R.drawable.chevron_back, onTopIconButtonClick = pop, - ) { - AlbumSongList(browseId = browseId) + tabIndex = 0, + onTabChanged = {}, + tabColumnContent = { Item -> + Item(0, "Overview", R.drawable.sparkles) + } + ) { currentTabIndex -> + saveableStateHolder.SaveableStateProvider(key = currentTabIndex) { + AlbumSongList(browseId = browseId) + } } } } diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongList.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongList.kt index 08e442e..da56efc 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongList.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongList.kt @@ -54,11 +54,13 @@ import it.vfsfitvnm.vimusic.ui.styling.shimmer import it.vfsfitvnm.vimusic.ui.views.SongItem import it.vfsfitvnm.vimusic.utils.asMediaItem import it.vfsfitvnm.vimusic.utils.center +import it.vfsfitvnm.vimusic.utils.color import it.vfsfitvnm.vimusic.utils.enqueue import it.vfsfitvnm.vimusic.utils.forcePlayAtIndex import it.vfsfitvnm.vimusic.utils.forcePlayFromBeginning import it.vfsfitvnm.vimusic.utils.medium import it.vfsfitvnm.vimusic.utils.secondary +import it.vfsfitvnm.vimusic.utils.semiBold import it.vfsfitvnm.vimusic.utils.thumbnail @ExperimentalAnimationApi @@ -66,12 +68,12 @@ import it.vfsfitvnm.vimusic.utils.thumbnail @Composable fun AlbumSongList( browseId: String, - viewModel: AlbumViewModel = viewModel( + viewModel: AlbumSongListViewModel = viewModel( key = browseId, factory = object : ViewModelProvider.Factory { override fun create(modelClass: Class): T { @Suppress("UNCHECKED_CAST") - return AlbumViewModel(browseId) as T + return AlbumSongListViewModel(browseId) as T } } ) @@ -175,7 +177,7 @@ fun AlbumSongList( startContent = { BasicText( text = "${index + 1}", - style = typography.m.secondary.secondary.center, + style = typography.s.semiBold.center.color(colorPalette.textDisabled), maxLines = 1, overflow = TextOverflow.Ellipsis, modifier = Modifier @@ -215,7 +217,7 @@ fun AlbumSongList( .size(20.dp) ) } - } ?: viewModel.result?.exceptionOrNull()?.let { _ -> + } ?: viewModel.result?.exceptionOrNull()?.let { Box( modifier = Modifier .pointerInput(Unit) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumViewModel.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongListViewModel.kt similarity index 97% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumViewModel.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongListViewModel.kt index 3e6b3fe..ae14d16 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumViewModel.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/album/AlbumSongListViewModel.kt @@ -15,7 +15,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.launch -class AlbumViewModel(browseId: String) : ViewModel() { +class AlbumSongListViewModel(browseId: String) : ViewModel() { var result by mutableStateOf?>(null) private set diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/PlaylistsTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylistList.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/PlaylistsTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylistList.kt index e1714b2..464b229 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/PlaylistsTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylistList.kt @@ -54,8 +54,8 @@ import it.vfsfitvnm.vimusic.utils.medium @ExperimentalFoundationApi @Composable -fun PlaylistsTab( - viewModel: PlaylistsTabViewModel = viewModel(), +fun HomePlaylistList( + viewModel: HomePlaylistListViewModel = viewModel(), onBuiltInPlaylistClicked: (BuiltInPlaylist) -> Unit, onPlaylistClicked: (Playlist) -> Unit, ) { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/PlaylistsTabViewModel.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylistListViewModel.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/PlaylistsTabViewModel.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylistListViewModel.kt index a524665..257ef63 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/PlaylistsTabViewModel.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomePlaylistListViewModel.kt @@ -23,7 +23,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.launch -class PlaylistsTabViewModel(application: Application) : AndroidViewModel(application) { +class HomePlaylistListViewModel(application: Application) : AndroidViewModel(application) { var items by mutableStateOf(emptyList()) private set diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeScreen.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeScreen.kt index 8d4e28a..63c7046 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeScreen.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeScreen.kt @@ -102,8 +102,8 @@ fun HomeScreen() { ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(key = currentTabIndex) { when (currentTabIndex) { - 0 -> SongsTab() - 1 -> PlaylistsTab( + 0 -> HomeSongList() + 1 -> HomePlaylistList( onBuiltInPlaylistClicked = { builtInPlaylistRoute(it) }, onPlaylistClicked = { localPlaylistRoute(it.id) } ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/SongsTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongList.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/SongsTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongList.kt index dcb98ee..2cc16d6 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/SongsTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongList.kt @@ -55,8 +55,8 @@ import it.vfsfitvnm.vimusic.utils.semiBold @ExperimentalFoundationApi @ExperimentalAnimationApi @Composable -fun SongsTab( - viewModel: SongsTabViewModel = viewModel() +fun HomeSongList( + viewModel: HomeSongListViewModel = viewModel() ) { val (colorPalette, typography) = LocalAppearance.current val binder = LocalPlayerServiceBinder.current diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/SongsTabViewModel.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongListViewModel.kt similarity index 95% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/SongsTabViewModel.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongListViewModel.kt index e6cdd0f..596038f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/SongsTabViewModel.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/home/HomeSongListViewModel.kt @@ -23,7 +23,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.launch -class SongsTabViewModel(application: Application) : AndroidViewModel(application) { +class HomeSongListViewModel(application: Application) : AndroidViewModel(application) { var items by mutableStateOf(emptyList()) private set diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LibrarySearchTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearch.kt similarity index 97% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LibrarySearchTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearch.kt index 1579b83..ec87fdb 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LibrarySearchTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearch.kt @@ -47,15 +47,15 @@ import it.vfsfitvnm.youtubemusic.models.NavigationEndpoint @ExperimentalFoundationApi @ExperimentalAnimationApi @Composable -fun LibrarySearchTab( +fun LocalSongSearch( textFieldValue: TextFieldValue, onTextFieldValueChanged: (TextFieldValue) -> Unit, - viewModel: LibrarySearchTabViewModel = viewModel( + viewModel: LocalSongSearchViewModel = viewModel( key = textFieldValue.text, factory = object : ViewModelProvider.Factory { override fun create(modelClass: Class): T { @Suppress("UNCHECKED_CAST") - return LibrarySearchTabViewModel(textFieldValue.text) as T + return LocalSongSearchViewModel(textFieldValue.text) as T } } ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LibrarySearchTabViewModel.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearchViewModel.kt similarity index 91% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LibrarySearchTabViewModel.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearchViewModel.kt index 4572e75..7735846 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LibrarySearchTabViewModel.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/LocalSongSearchViewModel.kt @@ -9,7 +9,7 @@ import it.vfsfitvnm.vimusic.Database import it.vfsfitvnm.vimusic.models.DetailedSong import kotlinx.coroutines.launch -class LibrarySearchTabViewModel(text: String) : ViewModel() { +class LocalSongSearchViewModel(text: String) : ViewModel() { var items by mutableStateOf(emptyList()) private set diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearch.kt similarity index 98% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearch.kt index 9a8407f..63db5f4 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearch.kt @@ -56,18 +56,18 @@ import it.vfsfitvnm.vimusic.utils.secondary import kotlinx.coroutines.delay @Composable -fun OnlineSearchTab( +fun OnlineSearch( textFieldValue: TextFieldValue, onTextFieldValueChanged: (TextFieldValue) -> Unit, isOpenableUrl: Boolean, onSearch: (String) -> Unit, onUri: () -> Unit, - viewModel: OnlineSearchTabViewModel = viewModel( + viewModel: OnlineSearchViewModel = viewModel( key = textFieldValue.text, factory = object : ViewModelProvider.Factory { override fun create(modelClass: Class): T { @Suppress("UNCHECKED_CAST") - return OnlineSearchTabViewModel(textFieldValue.text) as T + return OnlineSearchViewModel(textFieldValue.text) as T } } ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchTabViewModel.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchViewModel.kt similarity index 94% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchTabViewModel.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchViewModel.kt index c334cc7..d96eb7f 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchTabViewModel.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/OnlineSearchViewModel.kt @@ -11,7 +11,7 @@ import it.vfsfitvnm.youtubemusic.YouTube import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.launch -class OnlineSearchTabViewModel(text: String) : ViewModel() { +class OnlineSearchViewModel(text: String) : ViewModel() { var history by mutableStateOf(emptyList()) private set diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/SearchScreen.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/SearchScreen.kt index 13d8b31..c5b025b 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/SearchScreen.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/search/SearchScreen.kt @@ -66,7 +66,7 @@ fun SearchScreen(initialTextInput: String, onSearch: (String) -> Unit, onUri: (U ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(currentTabIndex) { when (currentTabIndex) { - 0 -> OnlineSearchTab( + 0 -> OnlineSearch( textFieldValue = textFieldValue, onTextFieldValueChanged = onTextFieldValueChanged, isOpenableUrl = isOpenableUrl, @@ -77,7 +77,7 @@ fun SearchScreen(initialTextInput: String, onSearch: (String) -> Unit, onUri: (U } } ) - 1 -> LibrarySearchTab( + 1 -> LocalSongSearch( textFieldValue = textFieldValue, onTextFieldValueChanged = onTextFieldValueChanged ) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemSearchResult.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResult.kt similarity index 96% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemSearchResult.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResult.kt index a78686c..d718e25 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemSearchResult.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResult.kt @@ -27,12 +27,12 @@ inline fun ItemSearchResult( query: String, filter: String, crossinline onSearchAgain: () -> Unit, - viewModel: ItemSearchResultViewModel = viewModel( + viewModel: SearchResultViewModel = viewModel( key = query + filter, factory = object : ViewModelProvider.Factory { override fun create(modelClass: Class): T { @Suppress("UNCHECKED_CAST") - return ItemSearchResultViewModel(query, filter) as T + return SearchResultViewModel(query, filter) as T } } ), diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemSearchResultViewModel.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResultViewModel.kt similarity index 96% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemSearchResultViewModel.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResultViewModel.kt index e754cf5..bfbfaab 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/ItemSearchResultViewModel.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/searchresult/SearchResultViewModel.kt @@ -11,7 +11,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -class ItemSearchResultViewModel( +class SearchResultViewModel( private val query: String, private val filter: String ) : ViewModel() { diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AboutTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/About.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AboutTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/About.kt index 27951c1..5da3f39 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AboutTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/About.kt @@ -19,7 +19,7 @@ import it.vfsfitvnm.vimusic.utils.secondary @ExperimentalAnimationApi @Composable -fun AboutTab() { +fun About() { val (colorPalette, typography) = LocalAppearance.current val uriHandler = LocalUriHandler.current diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettingsTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettings.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettingsTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettings.kt index 842f644..a4c7d15 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettingsTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/AppearanceSettings.kt @@ -25,7 +25,7 @@ import it.vfsfitvnm.vimusic.utils.thumbnailRoundnessKey @ExperimentalAnimationApi @Composable -fun AppearanceSettingsTab() { +fun AppearanceSettings() { val (colorPalette) = LocalAppearance.current var colorPaletteName by rememberPreference(colorPaletteNameKey, ColorPaletteName.Dynamic) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettingsTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettings.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettingsTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettings.kt index 6694760..aaee5a0 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettingsTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/CacheSettings.kt @@ -30,7 +30,7 @@ import it.vfsfitvnm.vimusic.utils.rememberPreference @OptIn(ExperimentalCoilApi::class) @ExperimentalAnimationApi @Composable -fun CacheSettingsTab() { +fun CacheSettings() { val context = LocalContext.current val (colorPalette) = LocalAppearance.current val binder = LocalPlayerServiceBinder.current diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettingsTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettings.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettingsTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettings.kt index 716f69f..75868d1 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettingsTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/OtherSettings.kt @@ -47,7 +47,7 @@ import kotlinx.coroutines.Dispatchers @ExperimentalAnimationApi @Composable -fun OtherSettingsTab() { +fun OtherSettings() { val context = LocalContext.current val (colorPalette) = LocalAppearance.current diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettingsTab.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettings.kt similarity index 99% rename from app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettingsTab.kt rename to app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettings.kt index fcf907c..d82701a 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettingsTab.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/PlayerSettings.kt @@ -28,7 +28,7 @@ import it.vfsfitvnm.vimusic.utils.volumeNormalizationKey @ExperimentalAnimationApi @Composable -fun PlayerSettingsTab() { +fun PlayerSettings() { val context = LocalContext.current val (colorPalette) = LocalAppearance.current val binder = LocalPlayerServiceBinder.current diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/SettingsScreen.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/SettingsScreen.kt index a6e4037..9c57f7b 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/SettingsScreen.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/settings/SettingsScreen.kt @@ -52,11 +52,11 @@ fun SettingsScreen() { ) { currentTabIndex -> saveableStateHolder.SaveableStateProvider(currentTabIndex) { when (currentTabIndex) { - 0 -> AppearanceSettingsTab() - 1 -> PlayerSettingsTab() - 2 -> CacheSettingsTab() - 3 -> OtherSettingsTab() - 4 -> AboutTab() + 0 -> AppearanceSettings() + 1 -> PlayerSettings() + 2 -> CacheSettings() + 3 -> OtherSettings() + 4 -> About() } } } diff --git a/app/src/main/res/drawable/sparkles.xml b/app/src/main/res/drawable/sparkles.xml new file mode 100644 index 0000000..e0c6622 --- /dev/null +++ b/app/src/main/res/drawable/sparkles.xml @@ -0,0 +1,15 @@ + + + + +