mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 11:22:12 +00:00
Fix: Adding new repo
This commit is contained in:
parent
d2adb82625
commit
cfa6a7471a
@ -13,6 +13,8 @@ import androidx.compose.runtime.collectAsState
|
|||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import com.machiav3lli.fdroid.R
|
||||||
import com.machiav3lli.fdroid.ui.compose.RepositoriesRecycler
|
import com.machiav3lli.fdroid.ui.compose.RepositoriesRecycler
|
||||||
import com.machiav3lli.fdroid.ui.viewmodels.RepositoriesViewModelX
|
import com.machiav3lli.fdroid.ui.viewmodels.RepositoriesViewModelX
|
||||||
|
|
||||||
@ -23,9 +25,17 @@ fun RepositoryPage(viewModel: RepositoriesViewModelX) {
|
|||||||
Scaffold(
|
Scaffold(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier.fillMaxSize(),
|
||||||
floatingActionButton = {
|
floatingActionButton = {
|
||||||
ExtendedFloatingActionButton(onClick = { viewModel.showRepositorySheet(editMode = true) }) {
|
ExtendedFloatingActionButton(onClick = {
|
||||||
Icon(imageVector = Icons.Rounded.Add, contentDescription = "Add Repository")
|
viewModel.showRepositorySheet(
|
||||||
Text(text = "Add Repository")
|
editMode = true,
|
||||||
|
addNew = true
|
||||||
|
)
|
||||||
|
}) {
|
||||||
|
Icon(
|
||||||
|
imageVector = Icons.Rounded.Add,
|
||||||
|
contentDescription = stringResource(id = R.string.add_repository)
|
||||||
|
)
|
||||||
|
Text(text = stringResource(id = R.string.add_repository))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
|
@ -40,13 +40,17 @@ class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() {
|
|||||||
viewModelScope.launch { syncConnection.bind(context) }
|
viewModelScope.launch { syncConnection.bind(context) }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showRepositorySheet(repositoryId: Long = 0L, editMode: Boolean = false) {
|
fun showRepositorySheet(
|
||||||
|
repositoryId: Long = 0L,
|
||||||
|
editMode: Boolean = false,
|
||||||
|
addNew: Boolean = false
|
||||||
|
) {
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
_showSheet.emit(
|
_showSheet.emit(
|
||||||
if (editMode) {
|
if (addNew) {
|
||||||
SheetNavigationData(repositoryId, editMode)
|
|
||||||
} else {
|
|
||||||
SheetNavigationData(addNewRepository(), editMode)
|
SheetNavigationData(addNewRepository(), editMode)
|
||||||
|
} else {
|
||||||
|
SheetNavigationData(repositoryId, editMode)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -59,7 +63,7 @@ class RepositoriesViewModelX(val repositoryDao: RepositoryDao) : ViewModel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun addNewRepository(): Long = withContext(Dispatchers.IO) {
|
private suspend fun addNewRepository(): Long = withContext(Dispatchers.IO) {
|
||||||
repositoryDao.insert(newRepository())
|
repositoryDao.insert(newRepository(address = "new repository"))
|
||||||
repositoryDao.latestAddedId()
|
repositoryDao.latestAddedId()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user