From 708cbd9522a489074ad80593bb63293353c26afc Mon Sep 17 00:00:00 2001 From: cemal Date: Thu, 21 Dec 2023 09:38:05 +0100 Subject: [PATCH] Added aucun projet/glossaire --- src/main/kotlin/main/Home.kt | 90 +++++++++++++++++++------------- src/main/kotlin/main/Main.kt | 77 +++++++++++++++------------ src/main/kotlin/main/projects.kt | 71 ++++++++++++++----------- 3 files changed, 138 insertions(+), 100 deletions(-) diff --git a/src/main/kotlin/main/Home.kt b/src/main/kotlin/main/Home.kt index f9648e1..0639234 100644 --- a/src/main/kotlin/main/Home.kt +++ b/src/main/kotlin/main/Home.kt @@ -176,32 +176,39 @@ fun glossaryList(glossaries: List, onGlossarySelected: (Glossary) -> U Box( modifier = Modifier .height(500.dp) + .width(250.dp) .padding(10.dp) ) { val scrollState = rememberLazyListState() LazyColumn( state = scrollState, - modifier = Modifier.padding(10.dp).border(1.dp, Color.Black), + modifier = Modifier.padding(10.dp).width(250.dp).border(1.dp, Color.Black), verticalArrangement = Arrangement.spacedBy(10.dp) ) { - items(glossaries) { glossary -> - Row( - modifier = Modifier.width(200.dp).fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween - ) { - Button( - onClick = { - onGlossarySelected(glossary) - }, - modifier = Modifier - .width(150.dp) - .padding(10.dp, 0.dp, 0.dp, 0.dp), - colors = ButtonDefaults.buttonColors( - backgroundColor = customRedColor, - contentColor = Color.White - ) + if (glossaries.isEmpty()) { + item { + Text("Aucun glossaire disponible") + } + } else { + items(glossaries) { glossary -> + Row( + modifier = Modifier.width(200.dp).fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween ) { - Text(glossary.name) + Button( + onClick = { + onGlossarySelected(glossary) + }, + modifier = Modifier + .width(150.dp) + .padding(10.dp, 0.dp, 0.dp, 0.dp), + colors = ButtonDefaults.buttonColors( + backgroundColor = customRedColor, + contentColor = Color.White + ) + ) { + Text(glossary.name) + } } } } @@ -240,32 +247,43 @@ fun projectList(projects: List, onProjectSelected: (Project) -> Unit, o Box( modifier = Modifier .height(500.dp) + .width(350.dp) .padding(10.dp) ) { val scrollState = rememberLazyListState() LazyColumn( state = scrollState, - modifier = Modifier.padding(10.dp).border(1.dp, Color.Black), + modifier = Modifier + .padding(10.dp) + .width(250.dp) + .height(300.dp) + .border(1.dp, Color.Black), verticalArrangement = Arrangement.spacedBy(10.dp) ) { - items(projects) { project: Project -> - Row( - modifier = Modifier.width(200.dp).fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween - ) { - Button( - onClick = { - onProjectSelected(project) - }, - modifier = Modifier - .width(150.dp) - .padding(10.dp, 0.dp, 0.dp, 0.dp), - colors = ButtonDefaults.buttonColors( - backgroundColor = customRedColor, - contentColor = Color.White - ) + if (projects.isEmpty()) { + item { + Text("Aucun projet disponible") + } + } else { + items(projects) { project: Project -> + Row( + modifier = Modifier.width(200.dp).fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween ) { - Text(project.name) + Button( + onClick = { + onProjectSelected(project) + }, + modifier = Modifier + .width(150.dp) + .padding(10.dp, 0.dp, 0.dp, 0.dp), + colors = ButtonDefaults.buttonColors( + backgroundColor = customRedColor, + contentColor = Color.White + ) + ) { + Text(project.name) + } } } } diff --git a/src/main/kotlin/main/Main.kt b/src/main/kotlin/main/Main.kt index 232cb20..218f8c9 100644 --- a/src/main/kotlin/main/Main.kt +++ b/src/main/kotlin/main/Main.kt @@ -81,46 +81,55 @@ fun app() { Box( modifier = Modifier .height(300.dp) + .width(250.dp) .padding(10.dp) .border(1.dp, Color.Black) ) { val scrollState = rememberLazyListState() - LazyColumn( - state = scrollState, - modifier = Modifier.padding(10.dp), - verticalArrangement = Arrangement.spacedBy(10.dp) - ) { - glossaries = loadGlossaries(appState.selectedProject!!) - println(glossaries) - items(glossaries) { glossary -> - Row( - modifier = Modifier.width(200.dp).fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween - ) { - Button( - onClick = { - selectedGlossary = glossary - currentPage.value = "glossaireOptions" - }, - modifier = Modifier - .width(150.dp), - colors = ButtonDefaults.buttonColors( - backgroundColor = customRedColor, - contentColor = Color.White - ) + glossaries = loadGlossaries(appState.selectedProject!!) + if (glossaries.isEmpty()) { + Text("Aucun glossaire n'a été créé pour ce projet") + } else { + LazyColumn( + state = scrollState, + modifier = Modifier.padding(10.dp), + verticalArrangement = Arrangement.spacedBy(10.dp) + ) { + println(glossaries) + items(glossaries) { glossary -> + Row( + modifier = Modifier.width(200.dp).fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween ) { - Text(glossary.name) - } - - IconButton( - onClick = { - // Handle delete glossary action - glossaries = glossaries.filterNot { it == glossary } - val file = File(glossaryPath + (appState.selectedProject?.name ) + "/" + glossary.jsonFilePath) - file.delete() + Button( + onClick = { + selectedGlossary = glossary + currentPage.value = "glossaireOptions" + }, + modifier = Modifier + .width(150.dp), + colors = ButtonDefaults.buttonColors( + backgroundColor = customRedColor, + contentColor = Color.White + ) + ) { + Text(glossary.name) + } + + IconButton( + onClick = { + // Handle delete glossary action + glossaries = glossaries.filterNot { it == glossary } + val file = + File(glossaryPath + (appState.selectedProject?.name) + "/" + glossary.jsonFilePath) + file.delete() + } + ) { + Icon( + imageVector = Icons.Default.Delete, + contentDescription = "Delete Glossary" + ) } - ) { - Icon(imageVector = Icons.Default.Delete, contentDescription = "Delete Glossary") } } } diff --git a/src/main/kotlin/main/projects.kt b/src/main/kotlin/main/projects.kt index 9e05bdb..ed90b5c 100644 --- a/src/main/kotlin/main/projects.kt +++ b/src/main/kotlin/main/projects.kt @@ -1,5 +1,6 @@ package main +import androidx.compose.foundation.border import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items @@ -38,41 +39,51 @@ fun projectsPage( Spacer(modifier = Modifier.height(16.dp)) LazyColumn( - modifier = Modifier.padding(10.dp), + modifier = Modifier + .padding(10.dp) + .width(200.dp) + .height(300.dp) + .border(1.dp, Color.Black), verticalArrangement = Arrangement.spacedBy(10.dp) ) { - items(projects, key = { project -> project.name }) { project -> - Row( - modifier = Modifier.width(200.dp).fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween - ) { - Button( - onClick = { - appState.selectedProject = project - currentPage.value = "glossaires" - - }, - modifier = Modifier - .width(150.dp), - colors = ButtonDefaults.buttonColors( - backgroundColor = customRedColor, - contentColor = Color.White - ) + if (projects.isEmpty()) { + item { + Text("Aucun projet n'a été créé") + } + } else { + items(projects, key = { project -> project.name }) { project -> + Row( + modifier = Modifier.width(200.dp).fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween ) { - Text(project.name) - } + Button( + onClick = { + appState.selectedProject = project + currentPage.value = "glossaires" - IconButton( - onClick = { - // Handle delete project action - projects = projects.filterNot { it.name == project.name } - println(projects) - val directory = File("src/main/resources/projects/${project.name}/") - directory.deleteRecursively() - currentPage.value = "projects" + }, + modifier = Modifier + .width(150.dp), + colors = ButtonDefaults.buttonColors( + backgroundColor = customRedColor, + contentColor = Color.White + ) + ) { + Text(project.name) + } + + IconButton( + onClick = { + // Handle delete project action + projects = projects.filterNot { it.name == project.name } + println(projects) + val directory = File("src/main/resources/projects/${project.name}/") + directory.deleteRecursively() + currentPage.value = "projects" + } + ) { + Icon(imageVector = Icons.Default.Delete, contentDescription = "Delete Project") } - ) { - Icon(imageVector = Icons.Default.Delete, contentDescription = "Delete Project") } } }