From 21fa1bcff12eec92871d838f9c78a0063bc18be6 Mon Sep 17 00:00:00 2001 From: jensmjahle <126790845+jensmjahle@users.noreply.github.com> Date: Wed, 24 Apr 2024 13:21:18 +0200 Subject: [PATCH] Save chosen milestone to store and route to chosen milestone --- .../milestone/ActiveMilestoneDisplay.vue | 8 +++++++- .../milestone/CompletedMilestoneDisplay.vue | 15 ++++++++++----- src/views/HomePage/MilestoneView.vue | 4 ++++ 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/components/milestone/ActiveMilestoneDisplay.vue b/src/components/milestone/ActiveMilestoneDisplay.vue index 6a3f93e..2c69846 100644 --- a/src/components/milestone/ActiveMilestoneDisplay.vue +++ b/src/components/milestone/ActiveMilestoneDisplay.vue @@ -1,5 +1,7 @@ <script setup lang="ts"> import ProgressBar from "@/components/ProgressBar.vue"; +import {useMilestoneStore} from "@/stores/currentMilestone"; +import router from "@/router"; const props = defineProps({ id: Number, @@ -14,8 +16,11 @@ const props = defineProps({ const imageUrl = "src/assets/pig.png" const openMilestone = () => { - console.log("Open dialog") + useMilestoneStore().setMilestoneId(props.id) + router.push("/path") } + + </script> <template> @@ -52,5 +57,6 @@ const openMilestone = () => { flex-direction: column; place-content: space-between; gap: 2.5%; + transition: 0.3s; } </style> \ No newline at end of file diff --git a/src/components/milestone/CompletedMilestoneDisplay.vue b/src/components/milestone/CompletedMilestoneDisplay.vue index bb102fc..d4c91bc 100644 --- a/src/components/milestone/CompletedMilestoneDisplay.vue +++ b/src/components/milestone/CompletedMilestoneDisplay.vue @@ -1,4 +1,6 @@ <script setup lang="ts"> +import {ref} from "vue"; + const props = defineProps({ id: Number, title: String, @@ -11,22 +13,25 @@ const props = defineProps({ }); const imageUrl = "src/assets/pig.png" -function openMilestone(){ - console.log("Open milestone") -} +const displayDescription = ref(false) + </script> <template> <div class="completed-milestone-display" - @click="openMilestone" + @mouseover="displayDescription = true" + @mouseleave="displayDescription = false" :style="{ backgroundImage: image ? 'url(' + image + ')' : 'url(' + imageUrl + ')' }"> <h2 class="title">{{props.title}}</h2> - <div class="info"> + <div class="info" v-if="!displayDescription"> <h4 v-if="currentSum">Du sparte {{props.currentSum}}kr</h4> <h4 v-if="deadline">{{props.deadline.getDate()}}/{{props.deadline.getMonth()}}-{{props.deadline.getFullYear()}}</h4> </div> + <div class="info" v-if="displayDescription"> + <h4>{{props.description}}</h4> + </div> </div> diff --git a/src/views/HomePage/MilestoneView.vue b/src/views/HomePage/MilestoneView.vue index 68b8335..1be21e3 100644 --- a/src/views/HomePage/MilestoneView.vue +++ b/src/views/HomePage/MilestoneView.vue @@ -220,6 +220,7 @@ flex-direction: column; .active-milestone:hover{ transform: scale(1.02); + transition: 0.3s; } .right{ @@ -259,6 +260,7 @@ flex-direction: column; .completed-milestone:hover{ transform: scale(1.05); + transition: 0.3s; } .pagination { @@ -278,6 +280,7 @@ flex-direction: column; } .pagination button:hover { + transition: 0.3s; transform: scale(1.05); } @@ -303,6 +306,7 @@ flex-direction: column; } .page-numbers button:hover { + transition: 0.3s; transform: scale(1.05); } -- GitLab