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