From ac100de8d8e0fc85e34cde9aec6262259b12f96c Mon Sep 17 00:00:00 2001
From: Cristiano Magro <cristiano.magro@vola.it>
Date: Mon, 30 Dec 2024 21:53:48 +0100
Subject: [PATCH] style scoped locali

---
 07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue |   71 +++++++++++++++++++++++++++--------
 1 files changed, 55 insertions(+), 16 deletions(-)

diff --git a/07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue b/07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue
index a9ca593..bdc3f3f 100644
--- a/07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue
+++ b/07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue
@@ -3,17 +3,19 @@
     <header>
       <h1>My friends</h1>
     </header>
+    <new-friend @add-contact="addContact"></new-friend>
     <ul>
-      <friend-contact 
-      v-for="friend in friends"
-      :key="friend.id"
-      :id="friend.id"
-      :name="friend.name" 
-      :phone-number="friend.phone" 
-      :email-address="friend.email"
-      :is-favorite="friend.isFavorite"
-      @toggle-favorite="toggleFavoriteStatus"
-      ></friend-contact>
+      <friend-contact v-for="friend in friends" 
+        :key="friend.id" 
+        :id="friend.id" 
+        :name="friend.name"
+        :phone-number="friend.phone" 
+        :email-address="friend.email" 
+        :is-favorite="friend.isFavorite"
+        @toggle-favorite="toggleFavoriteStatus"
+        @delete="deleteContact" 
+        >
+      </friend-contact>
     </ul>
   </section>
 </template>
@@ -35,18 +37,38 @@
           name: "Julie Jones",
           phone: "09876 543 221",
           email: "julie@localhost.com",
-          isFavorite: true,          
+          isFavorite: true,
         },
       ],
     }
   },
-  methods:{
-    toggleFavoriteStatus(friendId){
-      const found = this.friends.find( 
+  watch: {
+
+  },
+  methods: {
+    toggleFavoriteStatus(friendId) {
+      const found = this.friends.find(
         (friend) => friend.id === friendId
       );
       found.isFavorite = !found.isFavorite;
-    }
+    },
+
+    addContact(name, phone, email) {
+      const newFriendContact={
+        id: new Date().toISOString + name,
+        name: name,
+        phone: phone,
+        email:email,
+      };
+
+      this.friends.push(newFriendContact);
+    },
+    deleteContact (friendId){
+        this.friends = this.friends.filter(
+          (friend) => friend.id != friendId
+        );
+    },
+
   }
 };
 </script>
@@ -84,7 +106,8 @@
   list-style: none;
 }
 
-#app li {
+#app li,
+#app form {
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.26);
   margin: 1rem auto;
   border-radius: 10px;
@@ -117,4 +140,20 @@
   border-color: #ec3169;
   box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.26);
 }
+
+#app input {
+  font: inherit;
+  padding: 0.15rem;
+}
+
+#app label {
+  font-weight: bold;
+  margin-right: 1rem;
+  width: 7rem;
+  display: inline-block;
+}
+
+#app form div {
+  margin: 1rem 0;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0