@@ -9,11 +9,9 @@ const tasksDiv = document.getElementById('tasks');
99const seeKanbanBtn = document . getElementById ( 'seeKanban' ) ;
1010const seeTableBtn = document . getElementById ( 'seeTable' ) ;
1111
12- // Objet pour stocker les informations utilisateur
13- const user = {
14- name : '' ,
15- email : ''
16- } ;
12+ // Vérification et chargement des données depuis localStorage
13+ let user = JSON . parse ( localStorage . getItem ( 'user' ) ) || { name : '' , email : '' } ;
14+ let tasks = JSON . parse ( localStorage . getItem ( 'tasks' ) ) || [ ] ;
1715
1816// Fonction de validation des informations utilisateur
1917function validateUser ( ) {
@@ -29,6 +27,9 @@ function validateUser() {
2927 user . name = name ;
3028 user . email = email ;
3129
30+ // Sauvegarder dans localStorage
31+ localStorage . setItem ( 'user' , JSON . stringify ( user ) ) ;
32+
3233 message . innerText = `Connexion réussie. Bienvenue, ${ user . name } !` ;
3334 message . style . color = "green" ;
3435
@@ -52,10 +53,7 @@ function displayProfile() {
5253 addTaskBtn . addEventListener ( 'click' , addTask ) ;
5354}
5455
55- // Tableau pour stocker les tâches (vide par défaut)
56- const tasks = [ ] ;
57-
58- // Fonction pour afficher les tâches en vue Kanban
56+ // Fonction pour afficher les tâches en vue Kanban ou Table
5957function displayTasks ( view ) {
6058 tasksDiv . innerHTML = "" ; // Réinitialisation des tâches
6159
@@ -112,7 +110,7 @@ function displayTasks(view) {
112110 deleteTask ( index ) ;
113111 } ) ;
114112 } ) ;
115-
113+
116114 // Ajout des événements de modification pour chaque tâche dans le tableau
117115 const modifyBtns = document . querySelectorAll ( '.modify' ) ;
118116 modifyBtns . forEach ( ( btn ) => {
@@ -132,6 +130,10 @@ function addTask() {
132130 if ( newTask !== '' ) {
133131 tasks . push ( newTask ) ;
134132 taskInput . value = '' ;
133+
134+ // Sauvegarder dans localStorage
135+ localStorage . setItem ( 'tasks' , JSON . stringify ( tasks ) ) ;
136+
135137 displayTasks ( "kanban" ) ; // On affiche par défaut en Kanban
136138 } else {
137139 alert ( "Veuillez entrer une tâche valide." ) ;
@@ -141,6 +143,10 @@ function addTask() {
141143// Fonction pour supprimer une tâche
142144function deleteTask ( index ) {
143145 tasks . splice ( index , 1 ) ;
146+
147+ // Sauvegarder dans localStorage
148+ localStorage . setItem ( 'tasks' , JSON . stringify ( tasks ) ) ;
149+
144150 displayTasks ( "kanban" ) ;
145151}
146152
@@ -150,6 +156,10 @@ function modifyTask(index) {
150156
151157 if ( newTask !== null && newTask . trim ( ) !== "" ) {
152158 tasks [ index ] = newTask . trim ( ) ;
159+
160+ // Sauvegarder dans localStorage
161+ localStorage . setItem ( 'tasks' , JSON . stringify ( tasks ) ) ;
162+
153163 displayTasks ( "kanban" ) ; // Mettre à jour la vue Kanban
154164 displayTasks ( "table" ) ; // Mettre à jour la vue Table
155165 }
@@ -159,3 +169,13 @@ function modifyTask(index) {
159169seeKanbanBtn . addEventListener ( "click" , ( ) => displayTasks ( "kanban" ) ) ;
160170seeTableBtn . addEventListener ( "click" , ( ) => displayTasks ( "table" ) ) ;
161171validateBtn . addEventListener ( "click" , validateUser ) ;
172+
173+ // Charger les données initiales si disponibles dans localStorage
174+ if ( user . name && user . email ) {
175+ message . innerText = `Connexion réussie. Bienvenue, ${ user . name } !` ;
176+ message . style . color = "green" ;
177+ displayProfile ( ) ;
178+ } else {
179+ message . innerText = "Veuillez vous connecter." ;
180+ message . style . color = "red" ;
181+ }
0 commit comments