From 201ea29a9a77c0bee12de013768d57bb0e743556 Mon Sep 17 00:00:00 2001
From: vildemv <vildemv@ntnu.no>
Date: Mon, 29 Apr 2024 09:03:03 +0200
Subject: [PATCH] Created pop up for deleting a challenge.

---
 .../popups/DeleteChallengePopUp.vue           | 134 ++++++++++++++++++
 1 file changed, 134 insertions(+)
 create mode 100644 src/components/popups/DeleteChallengePopUp.vue

diff --git a/src/components/popups/DeleteChallengePopUp.vue b/src/components/popups/DeleteChallengePopUp.vue
new file mode 100644
index 0000000..55397cb
--- /dev/null
+++ b/src/components/popups/DeleteChallengePopUp.vue
@@ -0,0 +1,134 @@
+<script setup lang="ts">
+
+import { onMounted, ref } from 'vue'
+import { useTokenStore } from '@/stores/token'
+import { getAllMilestones } from '@/utils/MilestoneUtils'
+import { completeChallenge, deleteChallenge } from '@/utils/challengeutils'
+
+interface Milestone{
+  'milestoneId': number,
+  'milestoneTitle': string
+}
+
+const props = defineProps({
+  challengeId: Number,
+});
+
+const token:string = useTokenStore().jwtToken;
+const emit = defineEmits(['closeDeletePopUp', 'challengeDeleted']);
+
+const cancelCompleteThisChallenge = () => {
+  emit('closeDeletePopUp');
+}
+
+const deleteThisChallenge = async () => {
+  if(props.challengeId){
+    try{
+      await deleteChallenge(token, props.challengeId);
+      emit('challengeDeleted');
+
+    }catch (error){
+      console.log(error)
+    }
+  }
+}
+
+</script>
+
+<template>
+  <div class="popup-content">
+    <!-- Pop-up content goes here -->
+    <h2>Er du sikker på at du vil slette utfordringen?</h2>
+
+    <div class="content">
+      <img class="sad-pig-img" src="/src/assets/png/sad-pig.png" alt="sad-pig" >
+      <h3> Husk! Dagens små sparinger kan føre til morgendagens store drømmer.</h3>
+
+    </div>
+
+    <div class="option-buttons">
+      <button class="option-button" id="cancel-button" @click="cancelCompleteThisChallenge()">
+        <h2 class="option-button-title">Avbryt</h2>
+      </button>
+      <button class="option-button" id="delete-button" @click="deleteThisChallenge()">
+        <h2 class="option-button-title">Slett</h2>
+      </button>
+    </div>
+  </div>
+
+</template>
+
+<style scoped>
+.popup-content {
+  display: flex;
+  flex-direction: column;
+
+  width: 50%;
+  height: 50%;
+  background-color: var(--color-background);
+
+  padding: 20px;
+  border-radius: 10px;
+  border: 2px solid var(--color-border);
+
+  place-content: space-between;
+
+}
+
+.content{
+  display: flex;
+  flex-direction: row;
+  place-items: center;
+}
+
+.sad-pig-img{
+  width:30%;
+}
+
+
+.option-buttons{
+  display: flex;
+  flex-direction: row;
+
+  width: 100%;
+  place-content: space-between;
+}
+
+.option-button{
+  border: none;
+  border-radius: 20px;
+  width: 35%;
+
+}
+
+.option-button-title{
+  color: var(--color-headerText);
+  font-weight: bold;
+}
+
+#cancel-button{
+  background-color: var(--color-cancel-button);
+}
+#cancel-button:active{
+  background-color: var(--color-cancel-button-click);
+}
+
+#delete-button{
+  background-color: var(--color-confirm-button);
+}
+#delete-button:active{
+  background-color: var(--color-confirm-button-click);
+}
+
+#delete-button:hover, #cancel-button:hover{
+  transform: scale(1.02);
+}
+
+@media only screen and (max-width: 1000px){
+  .popup-content {
+    width: 90%;
+    height: 60%;
+  }
+}
+
+</style>
\ No newline at end of file
-- 
GitLab