From 6094f1a330e2b4979668bdadac8b757909a0d2da Mon Sep 17 00:00:00 2001
From: ingrid <ingrimeg@stud.ntnu.no>
Date: Fri, 5 May 2023 06:37:06 +0200
Subject: [PATCH] =?UTF-8?q?beskrivende=20feilmeldinger=20ved=20filopplasti?=
 =?UTF-8?q?ng=20p=C3=A5=20profilside?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/components/EditProfile.vue | 33 +++++++++++++++++++++++++++------
 src/views/SettingsView.vue     |  3 ---
 2 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/src/components/EditProfile.vue b/src/components/EditProfile.vue
index f90e6b8..877d5f9 100644
--- a/src/components/EditProfile.vue
+++ b/src/components/EditProfile.vue
@@ -52,7 +52,6 @@ import { useAuthStore } from "@/stores/authStore";
 import router from "../router";
 export default {
     name: "EditProfile",
-    components: {Icon},
     data() {
         return {
             alertMsg:'',
@@ -69,11 +68,8 @@ export default {
               upImage: "profile/default_avatar.png",
           }
         },
-        iconColor() {
-            return "#D9D9D9"
-        },
     },
-    beforeMount() {//used to compare with changed values
+    beforeMount() {
         if(this.profile.profileImageUrl !== ''){
             this.image = this.profile.profileImageUrl;
         }
@@ -83,12 +79,23 @@ export default {
             router.push("/selectProfile");
         },
         updateImg() {
+            this.alertMsg=""
             let file = document.getElementById("profile_img").files[0];
+            let fileSize = file.size
             let reader = new FileReader();
             reader.onload = function (ev) {
                 document.getElementById("profile_img_preview").src = ev.target.result;
             };
             reader.readAsDataURL(file);
+            if(fileSize>524288){ //if image is bigger than 512kB
+                this.alertMsg = "Bildet er for stort (" + Math.ceil(fileSize/1024) + "kB) Maksimal bildestørrelse er 512kB"
+            }
+
+            if(file.name.split('.jpeg').length===1 && file.name.split('.jpg').length===1 ){
+                this.alertMsg="filtypen støttes ikke (bildet må være av type .jpg/.jpeg)"
+            }
+
+
         },
         async deleteProfile() {
                 const id = this.profile.id;
@@ -198,7 +205,22 @@ img {
     justify-content: space-between;
 }
 
+input[type=file]::file-selector-button {
+  background-color: base.$light-green;
+  color: base.$white;
+  border: none;
+  font-weight: bold;
+  padding: 8px 14px;
+  width: 50%;
+  border-radius: 10px;
+  cursor: pointer;
+  margin: 10px;
+  transition: color .2s;
+}
 
+input[type=file]::file-selector-button:hover {
+  background-color: base.$light-green-hover;
+}
 
 
 
@@ -263,7 +285,6 @@ button {
   display: flex;
   width:100%;
   justify-content: center;
-  color: base.$light-green;
   font-weight: bold;
 }
 </style>
\ No newline at end of file
diff --git a/src/views/SettingsView.vue b/src/views/SettingsView.vue
index 8e5e024..b158eba 100644
--- a/src/views/SettingsView.vue
+++ b/src/views/SettingsView.vue
@@ -27,9 +27,6 @@ export default {
     components: {Icon},
     computed: {
         ...mapStores(useAuthStore),
-        iconColor() {
-            return "#000000"
-        },
     },
     beforeMount() {
         if (!useAuthStore().isLoggedIn) {
-- 
GitLab