ADD: Edit Notes from Grid

This commit is contained in:
sebastian 2025-05-10 15:16:57 +02:00
parent 8989dcd21d
commit 0c1bc5265e
2 changed files with 14 additions and 7 deletions

View File

@ -71,7 +71,7 @@ class MainActivity : ComponentActivity() {
NoteVaultTheme {
val navController = rememberNavController()
val viewModel: NoteViewModel = viewModel(factory = viewModelFactory)
val noteBrowserViewModelFactory: NoteBrowserViewModel = viewModel(factory = noteBrowserViewModelFactory)
val noteBrowserViewModel: NoteBrowserViewModel = viewModel(factory = noteBrowserViewModelFactory)
var selectedUris by remember { mutableStateOf<List<Uri>>(emptyList()) }
var showDialog by remember { mutableStateOf(false) }
var noteToEdit by remember { mutableStateOf<NoteEntity?>(null) }
@ -213,7 +213,11 @@ class MainActivity : ComponentActivity() {
composable("notes") {
NotesScreen(collectionRepository, noteRepository, onImportNotes = {
imagePickerLauncher.launch(arrayOf("image/*"))
}, noteBrowserViewModelFactory)
}, noteBrowserViewModel,
onEditNote = {
noteToEdit = it
showDialog = true
})
}
}
@ -231,7 +235,7 @@ class MainActivity : ComponentActivity() {
genre = genre,
description = description,
selectedUris = selectedUris,
collectionID = noteBrowserViewModelFactory.currentParentId.value,
collectionID = noteBrowserViewModel.currentParentId.value,
onDone = { showDialog = false }
)
} else {

View File

@ -270,7 +270,8 @@ fun NoteGrid(
notes: List<NoteEntity>,
onCollectionClick: (NoteCollection) -> Unit,
onNoteClick: (NoteEntity) -> Unit,
onDeleteNote: (NoteEntity) -> Unit
onDeleteNote: (NoteEntity) -> Unit,
onEditNote: (NoteEntity) ->Unit
) {
val columns = 2 // Anzahl Spalten, ggf. responsiv machen
LazyVerticalGrid(
@ -309,7 +310,7 @@ fun NoteGrid(
}
items(notes) { note ->
NoteItem(note, onNoteClick = {}, onEditTitle = {}, onDeleteNote = {onDeleteNote(note)})
NoteItem(note, onNoteClick = {}, onEditTitle = {onEditNote(note)}, onDeleteNote = {onDeleteNote(note)})
}
}
}
@ -318,7 +319,8 @@ fun NotesScreen(
collectionRepository: CollectionRepository,
noteRepository: NoteRepository,
onImportNotes: (Int?) -> Unit,
viewModel: NoteBrowserViewModel
viewModel: NoteBrowserViewModel,
onEditNote: (NoteEntity) -> Unit
) {
var menuExpanded by remember { mutableStateOf(false) }
var showDialog by remember { mutableStateOf(false) }
@ -387,7 +389,8 @@ fun NotesScreen(
onNoteClick = { /* TODO: Öffnen oder Bearbeiten */ },
onDeleteNote = {
viewModel.removeNote(noteEntity = it)
}
},
onEditNote = onEditNote
)
}