From bc995be0fbd1d9fce806a9280f91770d0d810675 Mon Sep 17 00:00:00 2001
From: Cristiano Magro <cristiano.magro@vola.it>
Date: Mon, 30 Dec 2024 20:14:37 +0100
Subject: [PATCH] esecizio step 1  e step 2

---
 07 - development setup/cmp-communication-assignment-problem/src/main.js                   |   12 +++
 07 - development setup/cmp-communication-assignment-problem/src/components/UserData.vue   |   16 +++++
 07 - development setup/cmp-communication-assignment-problem/src/components/ActiveUser.vue |   21 +++++++
 07 - development setup/cmp-communication-assignment-problem/src/App.vue                   |  108 ++++++++++++++++++++++++++++++++++++
 4 files changed, 156 insertions(+), 1 deletions(-)

diff --git a/07 - development setup/cmp-communication-assignment-problem/src/App.vue b/07 - development setup/cmp-communication-assignment-problem/src/App.vue
new file mode 100644
index 0000000..4bf0fd4
--- /dev/null
+++ b/07 - development setup/cmp-communication-assignment-problem/src/App.vue
@@ -0,0 +1,108 @@
+<template>
+
+    <section>
+        <header>
+            Esercizio
+        </header>
+        <active-user :username="user.username" :age="user.age"></active-user>
+        <user-data></user-data>
+    </section>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            user: {
+                username: "mario",
+                age: "38",
+            }
+        }
+    }
+}
+</script>
+
+<style>
+@import url('https://fonts.googleapis.com/css2?family=Jost&display=swap');
+
+* {
+    box-sizing: border-box;
+}
+
+html {
+    font-family: 'Jost', sans-serif;
+}
+
+body {
+    margin: 0;
+}
+
+header {
+    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.26);
+    margin: 3rem auto;
+    border-radius: 10px;
+    padding: 1rem;
+    background-color: #58004d;
+    color: white;
+    text-align: center;
+    width: 90%;
+    max-width: 40rem;
+}
+
+#app ul {
+    margin: 0;
+    padding: 0;
+    list-style: none;
+}
+
+#app li,
+#app form {
+    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.26);
+    margin: 1rem auto;
+    border-radius: 10px;
+    padding: 1rem;
+    text-align: center;
+    width: 90%;
+    max-width: 40rem;
+}
+
+#app h2 {
+    font-size: 2rem;
+    border-bottom: 4px solid #ccc;
+    color: #58004d;
+    margin: 0 0 1rem 0;
+}
+
+#app button {
+    font: inherit;
+    cursor: pointer;
+    border: 1px solid #ff0077;
+    background-color: #ff0077;
+    color: white;
+    padding: 0.05rem 1rem;
+    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.26);
+}
+
+#app button:hover,
+#app button:active {
+    background-color: #ec3169;
+    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
diff --git a/07 - development setup/cmp-communication-assignment-problem/src/components/ActiveUser.vue b/07 - development setup/cmp-communication-assignment-problem/src/components/ActiveUser.vue
new file mode 100644
index 0000000..7872458
--- /dev/null
+++ b/07 - development setup/cmp-communication-assignment-problem/src/components/ActiveUser.vue
@@ -0,0 +1,21 @@
+<template>
+    <div>
+        <h2>Utente: {{ username }}</h2>
+        <h3>Eta: {{ age }}</h3>
+    </div>
+</template>
+
+<script>
+export default {
+    props: {
+        username: {
+            title: String,
+            required: true
+        },
+        age: {
+            title: String,
+            required: true
+        },
+    }
+}
+</script>
\ No newline at end of file
diff --git a/07 - development setup/cmp-communication-assignment-problem/src/components/UserData.vue b/07 - development setup/cmp-communication-assignment-problem/src/components/UserData.vue
new file mode 100644
index 0000000..7f9d319
--- /dev/null
+++ b/07 - development setup/cmp-communication-assignment-problem/src/components/UserData.vue
@@ -0,0 +1,16 @@
+<template>
+    <div>
+        <label>Utente: </label>
+        <input type="text">
+    </div>
+    <div>
+        <label>Eta: </label>
+        <input type="text">
+    </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
\ No newline at end of file
diff --git a/07 - development setup/cmp-communication-assignment-problem/src/main.js b/07 - development setup/cmp-communication-assignment-problem/src/main.js
index df62453..2399ad9 100644
--- a/07 - development setup/cmp-communication-assignment-problem/src/main.js
+++ b/07 - development setup/cmp-communication-assignment-problem/src/main.js
@@ -1,6 +1,16 @@
 import { createApp } from 'vue'
 
-createApp({}).mount('#app')
+import App from "./App.vue";
+import ActiveUser from "./components/ActiveUser.vue";
+import UserData from "./components/UserData.vue";
+
+
+const app = createApp(App);
+
+app.component("active-user", ActiveUser);
+app.component("user-data", UserData);
+
+app.mount('#app')
 
 // Task 1: 
 // Add two components to the app: 

--
Gitblit v1.8.0