diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index 0c0c338..31d6335 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -3,7 +3,20 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt b/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt
index 284f64e..dde03bd 100644
--- a/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt
+++ b/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt
@@ -4,18 +4,23 @@ import android.os.Bundle
import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
+import androidx.activity.viewModels
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
+import fr.iut.sciencequest.ViewModels.ScientifiquesDecouvertsVM
import fr.iut.sciencequest.model.buisness.fetchScientifiqueById
+import fr.iut.sciencequest.model.dto.extensions.ToModel
import fr.iut.sciencequest.navigation.NavHost
+import fr.iut.sciencequest.stub.StubScientifique1
import fr.iut.sciencequest.ui.theme.ScienceQuestTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- fetchScientifiqueById(1)
+ val vm = viewModels().value
+ vm.addScientifiques(StubScientifique1.ToModel())
setContent {
ScienceQuestTheme {
// A surface container using the 'background' color from the theme
diff --git a/android/app/src/main/java/fr/iut/sciencequest/ViewModels/ScientifiquesDecouvertsVM.kt b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/ScientifiquesDecouvertsVM.kt
new file mode 100644
index 0000000..826dd20
--- /dev/null
+++ b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/ScientifiquesDecouvertsVM.kt
@@ -0,0 +1,24 @@
+package fr.iut.sciencequest.ViewModels
+
+import android.util.Log
+import androidx.compose.runtime.MutableState
+import androidx.compose.runtime.mutableStateListOf
+import androidx.lifecycle.ViewModel
+import fr.iut.sciencequest.model.metier.Scientifique
+
+class ScientifiquesDecouvertsVM : ViewModel() {
+ private var listeScientifique: MutableList = mutableStateListOf()
+
+ fun getScientifiques(): MutableList {
+ Log.d("ViewModel","""je get un scientifique, taille act : ${listeScientifique.size}""")
+ return listeScientifique
+ }
+
+ fun addScientifiques(scientifique: Scientifique) {
+ if (listeScientifique.add(scientifique)) {
+ Log.d("ViewModel","""j'ajoute un scientifique, taille act : ${listeScientifique.size}""")
+ } else {
+ Log.d("ViewModel","Erreur lors d'un ajout")
+ }
+ }
+ }
\ No newline at end of file
diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt
index 0d242e1..e63c506 100644
--- a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt
+++ b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt
@@ -1,6 +1,12 @@
package fr.iut.sciencequest.model.buisness
import android.util.Log
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelLazy
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.findViewTreeViewModelStoreOwner
+import androidx.lifecycle.viewmodel.compose.viewModel
+import fr.iut.sciencequest.ViewModels.ScientifiquesDecouvertsVM
import fr.iut.sciencequest.model.dto.ScientifiqueDTO
import retrofit2.Call
import retrofit2.Callback
@@ -53,6 +59,7 @@ fun fetchScientifiquesById(index: Int, count: Int) {
// Pour le moment des print pour vérifier que la requêtre fonctionne
// sans avoir besoin des vues.
for (scientifique in data) {
+
Log.d("Requete API",scientifique.id.toString())
Log.d("Requete API", scientifique.nom)
}
diff --git a/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt b/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt
index 1cfe3e8..5478677 100644
--- a/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt
+++ b/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt
@@ -7,6 +7,7 @@ import androidx.compose.ui.Modifier
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
+import fr.iut.sciencequest.ViewModels.ScientifiquesDecouvertsVM
import fr.iut.sciencequest.model.dto.extensions.ToModel
import fr.iut.sciencequest.stub.StubQuestionWithReponses
import fr.iut.sciencequest.stub.getScientifiqueListeStub
@@ -28,7 +29,6 @@ fun NavHost() {
startDestination = "listeScientifiques"
) {
composable(route = "home") {
- Log.d("tag", "dzadza")
HomeScreen(
goToAccount = {
navController.navigate("account")
@@ -94,8 +94,7 @@ fun NavHost() {
},
goToHome = {
navController.navigate("home")
- },
- scientifiques = getScientifiqueListeStub().ToModel()
+ }
)
}
}
diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/scientifiques/ScientifiqueListeScreen.kt b/android/app/src/main/java/fr/iut/sciencequest/view/scientifiques/ScientifiqueListeScreen.kt
index 62cd173..9136861 100644
--- a/android/app/src/main/java/fr/iut/sciencequest/view/scientifiques/ScientifiqueListeScreen.kt
+++ b/android/app/src/main/java/fr/iut/sciencequest/view/scientifiques/ScientifiqueListeScreen.kt
@@ -1,24 +1,28 @@
package fr.iut.sciencequest.view.scientifiques
+import android.util.Log
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
+import androidx.lifecycle.viewmodel.compose.viewModel
import fr.iut.sciencequest.R
+import fr.iut.sciencequest.ViewModels.ScientifiquesDecouvertsVM
import fr.iut.sciencequest.model.dto.extensions.ToModel
import fr.iut.sciencequest.model.metier.Scientifique
import fr.iut.sciencequest.stub.getScientifiqueListeStub
import fr.iut.sciencequest.view.TopBar
@Composable
-fun scientifiqueListeScreen(scientifiques: List = getScientifiqueListeStub().ToModel(),
+fun scientifiqueListeScreen(viewModel: ScientifiquesDecouvertsVM = viewModel(),
goToAccount: () -> Unit,
goToHome: () -> Unit) {
+ Log.d("Vue","je suis la")
Scaffold(
topBar = {
- TopBar(goToAccount, goToHome, stringResource(id = R.string.connection))
+ TopBar(goToAccount, goToHome, stringResource(id = R.string.sc_decouverts))
},
) { innerPadding ->
- scientifiqueListeContainer(scientifiques, innerPadding)
+ scientifiqueListeContainer(viewModel.getScientifiques(), innerPadding)
}
}
\ No newline at end of file
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 3c7e941..aba9418 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -7,4 +7,5 @@
Compte
Pendu
Kahoot
+ Scientifiques Decouverts
\ No newline at end of file