diff --git a/jest.config.js b/jest.config.js index dfcd35547136d3b563a43317e3b2f305b5b92518..f638d89a791a7b7bc5a7e52336b00da7759e1863 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,5 +1,5 @@ module.exports = { preset: "@vue/cli-plugin-unit-jest", collectCoverage: true, - collectCoverageFrom: ['src/**/*.js', 'src/**/*.vue', '!**/node_modules/**'] + collectCoverageFrom: ["src/**/*.js", "src/**/*.vue", "!**/node_modules/**"], }; diff --git a/src/components/BaseComponents/InputField.vue b/src/components/BaseComponents/InputField.vue deleted file mode 100644 index a6cbb32e98ed5e1f94ec9b784ea492b9b138048e..0000000000000000000000000000000000000000 --- a/src/components/BaseComponents/InputField.vue +++ /dev/null @@ -1,11 +0,0 @@ -<template> - <input - class="block w-full px-4 py-2 mt-2 text-gray-700 placeholder-gray-500 bg-white border rounded-md dark:bg-gray-800 dark:border-gray-600 dark:placeholder-gray-400 focus:border-blue-400 dark:focus:border-blue-300 focus:ring-opacity-40 focus:outline-none focus:ring focus:ring-blue-300" - /> -</template> - -<script> -export default { - name: "InputField", -}; -</script> diff --git a/src/components/BaseComponents/NavBar.vue b/src/components/BaseComponents/NavBar.vue index 3b6937f7b737afc98c8f871b46104ee44aebd6e0..e6f2562c9e029366d0f973a997895c83b4d4b9a6 100644 --- a/src/components/BaseComponents/NavBar.vue +++ b/src/components/BaseComponents/NavBar.vue @@ -18,14 +18,14 @@ /> <a class="hidden md:block mt-7 text-sm float-right">Legg til</a> </li> - <li> + <li class="cursor-pointer" @click="loadMessages"> <div class="notification-container"> <ChatAlt2Icon - class="m-6 cursor-pointer h-7" + class="m-6 md:mr-2 h-7 text-primary-medium float-left" alt="Meldinger" - @click="loadMessages()" /> - <p @click="loadMessages()" class="notification" v-if="newMessages > 0">{{notifications}}</p> + <p class="notification" v-if="newMessages > 0">{{ notifications }}</p> + <a class="hidden md:block mt-7 text-sm float-right">Meldinger</a> </div> </li> <li class="cursor-pointer" @click="loadProfile"> @@ -42,24 +42,24 @@ <script> import { parseUserFromToken } from "@/utils/token-utils"; import { PlusIcon, ChatAlt2Icon, UserCircleIcon } from "@heroicons/vue/outline"; -import ws from '@/services/ws'; +import ws from "@/services/ws"; export default { name: "NavBar.vue", data() { return { newMessages: 0, - } + }; }, computed: { notifications() { // if new messages is greater than 99 show +99 if (this.newMessages > 99) { - return '+99' + return "+99"; } else { - return this.newMessages + return this.newMessages; } - } + }, }, components: { PlusIcon, @@ -79,15 +79,19 @@ export default { }, loadMessages() { this.newMessages = 0; - this.$router.push('/messages'); - } + this.$router.push("/messages"); + }, }, created() { - ws.on('NEW_MESSAGE', () => { - if(this.$router.currentRoute.value.name == 'messages') return; - this.newMessages += 1; - }, "header"); - } + ws.on( + "NEW_MESSAGE", + () => { + if (this.$router.currentRoute.value.name == "messages") return; + this.newMessages += 1; + }, + "header" + ); + }, }; </script> @@ -96,19 +100,19 @@ export default { position: relative; } .notification { - position: absolute; - background-color: #ff5a5f; - top: 0; - min-width: 20px; - min-height: 20px; - padding: 0.25rem; - transform: translate(-80%, -30%); - color: white; - font-size: 10px; - border-radius: 50%; - font-weight: bold; - text-align: center; - right: 0; - cursor: pointer; + position: absolute; + background-color: #ff5a5f; + top: 0; + min-width: 20px; + min-height: 20px; + padding: 0.25rem; + transform: translate(-80%, -30%); + color: white; + font-size: 10px; + border-radius: 50%; + font-weight: bold; + text-align: center; + right: 0; + cursor: pointer; } </style> diff --git a/src/components/BaseComponents/NotificationsForm.vue b/src/components/BaseComponents/NotificationsForm.vue deleted file mode 100644 index b142fb2a8e36ec57b52256194cc35de433f71d63..0000000000000000000000000000000000000000 --- a/src/components/BaseComponents/NotificationsForm.vue +++ /dev/null @@ -1,11 +0,0 @@ -<template> - <div>This is a notification page</div> -</template> - -<script> -export default { - name: "NotificationsForm", -}; -</script> - -<style scoped></style> diff --git a/src/components/BaseComponents/PaginationTemplate.vue b/src/components/BaseComponents/PaginationTemplate.vue index b6907f178de39c1dace54149174e972e8e764b4b..939d7350598667c7e2710346f3ba80bb83f96748 100644 --- a/src/components/BaseComponents/PaginationTemplate.vue +++ b/src/components/BaseComponents/PaginationTemplate.vue @@ -7,7 +7,9 @@ > Forrige </span> - <label class="mx-2">{{ currentPage + 1 }} av {{ totalPages() }}</label> + <label class="mx-2 text-primary-light" + >{{ currentPage + 1 }} av {{ totalPages() }}</label + > <span v-if="showNextLink()" class="cursor-pointer inline-flex items-center p-2 text-sm font-medium text-primary-light bg-white rounded-lg border border-gray-300 hover:bg-gray-100 hover:text-gray-700" diff --git a/src/components/ChatComponents/ChatComponent.vue b/src/components/ChatComponents/ChatComponent.vue index ff6f25d4ae56e5d7175eb1dfcf8ffed2bf287fed..6b2252b6a241430f9cc7e2dd91718b9817713a9f 100644 --- a/src/components/ChatComponents/ChatComponent.vue +++ b/src/components/ChatComponents/ChatComponent.vue @@ -190,9 +190,13 @@ export default { await this.getRecipient(); await this.reloadRents(); - ws.on("NEW_MESSAGE", () => { - this.reloadMessages(); - }, "chat"); + ws.on( + "NEW_MESSAGE", + () => { + this.reloadMessages(); + }, + "chat" + ); }, updated() { if (this.canScroll) this.scroll(); @@ -201,7 +205,7 @@ export default { }, unmounted() { ws.end("NEW_MESSAGE", "chat"); - } + }, }; </script> diff --git a/src/components/ChatComponents/ChatMessage.vue b/src/components/ChatComponents/ChatMessage.vue index eb2e04459b84d3f8c48b94a421cc5c3d2e3c067b..3490083e12afbff3702aabc031b2173e9803e417 100644 --- a/src/components/ChatComponents/ChatMessage.vue +++ b/src/components/ChatComponents/ChatMessage.vue @@ -58,35 +58,36 @@ export default { : "justify-end"; }, calculateTime() { - var time = this?.message.timestamp; - var date = new Date(time); - //Todo add timing for mm and hh and week of message - var mmOfMessage = String(date.getMinutes()); - var hhOfMessage = String(date.getHours()); - var ddOfMessage = String(date.getDate()).padStart(2, '0'); - var dayOfMessage = date.toLocaleString('default', { weekday: 'short' }); - var monthOfMessage = String(date.getMonth() + 1).padStart(2, '0'); //January is 0! - const shortMonthOfMessage = date.toLocaleString('default', { month: 'short' }); - var yyyyOfMessage = date.getFullYear(); + var time = this?.message.timestamp; + var date = new Date(time); + //Todo add timing for mm and hh and week of message + var mmOfMessage = String(date.getMinutes()); + var hhOfMessage = String(date.getHours()); + var ddOfMessage = String(date.getDate()).padStart(2, "0"); + var dayOfMessage = date.toLocaleString("default", { weekday: "short" }); + var monthOfMessage = String(date.getMonth() + 1).padStart(2, "0"); //January is 0! + const shortMonthOfMessage = date.toLocaleString("default", { + month: "short", + }); + var yyyyOfMessage = date.getFullYear(); - var today = new Date(); - var dd = String(today.getDate()).padStart(2, '0'); - var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0! - var yyyy = today.getFullYear(); - if(ddOfMessage == dd){ + var today = new Date(); + var dd = String(today.getDate()).padStart(2, "0"); + var mm = String(today.getMonth() + 1).padStart(2, "0"); //January is 0! + var yyyy = today.getFullYear(); + if (ddOfMessage == dd) { return "" + hhOfMessage + ":" + mmOfMessage + ""; + } else if (this.isDateInThisWeek(date)) { + return "" + dayOfMessage + " " + hhOfMessage + ":" + mmOfMessage; + } else if (monthOfMessage == mm) { + return "" + ddOfMessage + " " + hhOfMessage + ":" + mmOfMessage; + } else if (yyyyOfMessage == yyyy) { + return "" + shortMonthOfMessage + " " + ddOfMessage; } - else if (this.isDateInThisWeek(date)){ - return "" +dayOfMessage + " " + hhOfMessage+":" + mmOfMessage; - } - else if (monthOfMessage == mm){ - return "" + ddOfMessage + " " + hhOfMessage + ":" + mmOfMessage; - } - else if (yyyyOfMessage == yyyy){ - return "" + shortMonthOfMessage + " " + ddOfMessage; - } - return shortMonthOfMessage + " " + ddOfMessage + " " + yyyyOfMessage + ""; - + return ( + shortMonthOfMessage + " " + ddOfMessage + " " + yyyyOfMessage + "" + ); + /* Take timestamp and display date when message was sent If message was sent this day show time (HH:MM) (13:00) @@ -95,23 +96,22 @@ export default { If message was sent this year show month and day of the month (MMM DD) (Jan 13) If message was sent more than a year ago show year with date (MMM DD YYYY) (Jan 13 2020) */ - }, isDateInThisWeek(date) { - const todayObj = new Date(); - const todayDate = todayObj.getDate(); - const todayDay = todayObj.getDay(); + const todayObj = new Date(); + const todayDate = todayObj.getDate(); + const todayDay = todayObj.getDay(); - // get first date of week - const firstDayOfWeek = new Date(todayObj.setDate(todayDate - todayDay)); + // get first date of week + const firstDayOfWeek = new Date(todayObj.setDate(todayDate - todayDay)); - // get last date of week - const lastDayOfWeek = new Date(firstDayOfWeek); - lastDayOfWeek.setDate(lastDayOfWeek.getDate() + 6); + // get last date of week + const lastDayOfWeek = new Date(firstDayOfWeek); + lastDayOfWeek.setDate(lastDayOfWeek.getDate() + 6); - // if date is equal or within the first and last dates of the week - return date >= firstDayOfWeek && date <= lastDayOfWeek; -}, + // if date is equal or within the first and last dates of the week + return date >= firstDayOfWeek && date <= lastDayOfWeek; + }, }, }; </script> diff --git a/src/components/ChatComponents/ChatProfile.vue b/src/components/ChatComponents/ChatProfile.vue index bfed6d6281e7ae81a7c2851aeb0f60fdf16bb425..db4c47cad8cc00e943159362ca45f4dc1ee7df65 100644 --- a/src/components/ChatComponents/ChatProfile.vue +++ b/src/components/ChatComponents/ChatProfile.vue @@ -82,6 +82,6 @@ export default { selectUser() { this.$emit("recipient", this.conversation?.recipient.userId); }, - } + }, }; </script> diff --git a/src/components/ChatComponents/ChatsComponent.vue b/src/components/ChatComponents/ChatsComponent.vue index b5ee4f6cf257ba47619d1ddcb68ff9a911e988a7..f2cc2b00b788c5154aa5e137ae3ff1f9cc1482ab 100644 --- a/src/components/ChatComponents/ChatsComponent.vue +++ b/src/components/ChatComponents/ChatsComponent.vue @@ -1,7 +1,7 @@ <template> <div class="chat"> <div class="conversations"> - <h1>Samtaler:</h1> + <h1>Meldinger</h1> <hr /> <ChatProfile v-for="(conversation, i) in conversations" @@ -90,9 +90,13 @@ export default { }, async created() { await this.fetchChats(); - ws.on("NEW_MESSAGE",async () => { - await this.fetchChats() - }, "chats"); + ws.on( + "NEW_MESSAGE", + async () => { + await this.fetchChats(); + }, + "chats" + ); this.recipientID = this.$route.query?.userID || null; if (!this.recipientID) this.hambugerDisplay = "block"; }, diff --git a/src/components/ChatComponents/RentalMessage.vue b/src/components/ChatComponents/RentalMessage.vue index e57640b14711ff8908c210e5cf9faefc9f8fd004..8dab267ac5d9db895be02f6b04bcd3102b160c28 100644 --- a/src/components/ChatComponents/RentalMessage.vue +++ b/src/components/ChatComponents/RentalMessage.vue @@ -18,15 +18,15 @@ </p> </div> </div> - <div class="buttons" v-if = "(!rent.isAccepted && !rent.deleted)"> + <div class="buttons" v-if="!rent.isAccepted && !rent.deleted"> <button class="button green" @click="accept">Godta</button> <button class="button red" @click="reject">Avslå</button> </div> - <div class="" v-if = rent.isAccepted> - <h1 class="green">Godtatt</h1> + <div class="" v-if="rent.isAccepted"> + <h1 class="green">Godtatt</h1> </div> - <div class="" v-if = rent.deleted> - <h1 class="red">Avslått</h1> + <div class="" v-if="rent.deleted"> + <h1 class="red">Avslått</h1> </div> </div> </template> @@ -38,9 +38,9 @@ export default { props: { rent: { type: Object, - required: true - }, + required: true, }, + }, computed: { img() { return "https://images.unsplash.com/photo-1453728013993-6d66e9c9123a?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8dmlld3xlbnwwfHwwfHw%3D&w=1000&q=80"; //this.rent.listing.imageUrl; @@ -67,19 +67,18 @@ export default { }, methods: { async accept() { - await axios.put( - process.env.VUE_APP_BASEURL + - `renting/${this.rent.rentId}/accept` ,null, + await axios.put( + process.env.VUE_APP_BASEURL + `renting/${this.rent.rentId}/accept`, + null, { headers: tokenHeader() } ); }, async reject() { - await axios.delete( - process.env.VUE_APP_BASEURL + - `renting/${this.rent.rentId}/delete`,null, + await axios.delete( + process.env.VUE_APP_BASEURL + `renting/${this.rent.rentId}/delete`, + null, { headers: tokenHeader() } ); - }, }, }; diff --git a/src/components/CommunityComponents/CommunityListItem.vue b/src/components/CommunityComponents/CommunityListItem.vue index 4116a893a97845095d11aa60b7735de685aac623..40d90645e430cd49f104c91c7def3e125b9721fb 100644 --- a/src/components/CommunityComponents/CommunityListItem.vue +++ b/src/components/CommunityComponents/CommunityListItem.vue @@ -54,7 +54,10 @@ v-if="!community.picture" class="h-10 w-10 flex flex-col justify-center items-center ml-2 mr-2" > - <UserGroupIcon alt="Felleskapets bilde" class="h-10 w-10" /> + <UserGroupIcon + alt="Felleskapets bilde" + class="h-10 w-10 text-primary-dark" + /> </div> <div v-else @@ -67,7 +70,7 @@ /> </div> <div class="flex-1 pl-1 overflow-hidden"> - <div class="font-medium dark:text-white truncate"> + <div class="font-medium text-gray-800 dark:text-white truncate"> {{ community.name }} </div> </div> diff --git a/src/components/CommunityComponents/NewCommunityForm.vue b/src/components/CommunityComponents/NewCommunityForm.vue index 200db5b1a33be506325ffbb4fe7a15d2ec2a472b..7a62e90f302416559f695459aafcfddfd6f43244 100644 --- a/src/components/CommunityComponents/NewCommunityForm.vue +++ b/src/components/CommunityComponents/NewCommunityForm.vue @@ -136,8 +136,8 @@ <!-- Images --> <div class="mt-6"> <label - class="block mb-2 text-sm font-medium text-gray-900 dark:text-gray-400" - id="imageLabel" + class="block mb-2 text-sm font-medium text-gray-900 dark:text-gray-400" + id="imageLabel" > Bilde (bildet må være .png) </label> diff --git a/src/components/FormComponents/LoginForm.vue b/src/components/UserAuthComponents/LoginForm.vue similarity index 100% rename from src/components/FormComponents/LoginForm.vue rename to src/components/UserAuthComponents/LoginForm.vue diff --git a/src/components/FormComponents/NewPasswordForm.vue b/src/components/UserAuthComponents/NewPasswordForm.vue similarity index 100% rename from src/components/FormComponents/NewPasswordForm.vue rename to src/components/UserAuthComponents/NewPasswordForm.vue diff --git a/src/components/FormComponents/RegisterForm.vue b/src/components/UserAuthComponents/RegisterForm.vue similarity index 100% rename from src/components/FormComponents/RegisterForm.vue rename to src/components/UserAuthComponents/RegisterForm.vue diff --git a/src/components/FormComponents/ResetPasswordForm.vue b/src/components/UserAuthComponents/ResetPasswordForm.vue similarity index 100% rename from src/components/FormComponents/ResetPasswordForm.vue rename to src/components/UserAuthComponents/ResetPasswordForm.vue diff --git a/src/router/index.js b/src/router/index.js index b0a701a8e3e72570a55bb60873802b88f200adfd..3a6d7a8316d3c5d61ea2a1d614d65f15f74072c9 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -47,7 +47,7 @@ const routes = [ { path: "/register", name: "register", - component: () => import("../views/FormViews/RegisterView.vue"), + component: () => import("../views/UserAuthViews/RegisterView.vue"), }, { path: "/messages", @@ -58,12 +58,12 @@ const routes = [ { path: "/login", name: "login", - component: () => import("../views/FormViews/LoginView.vue"), + component: () => import("../views/UserAuthViews/LoginView.vue"), }, { path: "/newPassword", name: "newPassword", - component: () => import("../views/FormViews/NewPasswordView"), + component: () => import("../views/UserAuthViews/NewPasswordView"), beforeEnter: guardRoute, }, { @@ -74,7 +74,7 @@ const routes = [ { path: "/resetPassword", name: "resetPassword", - component: () => import("../views/FormViews/ResetPasswordView.vue"), + component: () => import("../views/UserAuthViews/ResetPasswordView.vue"), }, { path: "/newCommunity", @@ -94,13 +94,6 @@ const routes = [ component: () => import("../views/ItemViews/NewItemView.vue"), beforeEnter: guardRoute, }, - { - path: "/notifications", - name: "notifications", - component: () => - import("../components/BaseComponents/NotificationsForm.vue"), - beforeEnter: guardRoute, - }, { path: "/community/:communityID", name: "communityHome", diff --git a/src/services/ws.js b/src/services/ws.js index 4a8cbbd485ee497068d73d5828a8d2e55cd039d9..233ed883af296c9da8417e1884ca35cba91106ae 100644 --- a/src/services/ws.js +++ b/src/services/ws.js @@ -12,9 +12,8 @@ const ws = (function () { const fire = function (event, data) { if (handlers[event]) { - // for each object in object fire event - for(const key in handlers[event]) { + for (const key in handlers[event]) { handlers[event][key](data); } } @@ -45,9 +44,9 @@ const ws = (function () { return { on: function (event, callback, id = "none") { // Generate random id - if(!handlers[event]) { - handlers[event] = {} - }; + if (!handlers[event]) { + handlers[event] = {}; + } handlers[event][id] = callback; }, fire: fire, diff --git a/src/views/CommunityViews/CommunityView.vue b/src/views/CommunityViews/CommunityView.vue index b15181fcaf9b8af58f74958ecbf6fc71c7b4ee38..329917065b0679060da6503891b05c932ebaf18a 100644 --- a/src/views/CommunityViews/CommunityView.vue +++ b/src/views/CommunityViews/CommunityView.vue @@ -8,7 +8,7 @@ <div v-if="loggedIn"> <div class="flex flex-row p-4 relative"> <div - class="text-xl md:text-2xl text-primary-light font-medium w-full" + class="text-xl md:text-2xl text-primary-medium font-medium w-full" > Mine grupper </div> @@ -33,7 +33,7 @@ </div> <!-- Public communities, with search and pagination --> - <p class="text-xl md:text-2xl text-primary-light font-medium w-full p-4"> + <p class="text-xl md:text-2xl text-primary-medium font-medium w-full p-4"> Offentlige grupper </p> <!-- Search field --> diff --git a/src/views/HelpView.vue b/src/views/HelpView.vue index 585749da03358203863f9f07e23a64c86fec264d..343f1f47c4d432352db1c3c670c293ef7c4a1fdf 100644 --- a/src/views/HelpView.vue +++ b/src/views/HelpView.vue @@ -1,16 +1,20 @@ <template> - <div class="mt-6 bg-white justify-center w-screen"> + <div class="mt-10 bg-white justify-center w-screen"> <div id="contact" class="grid place-items-center w-full"> <div class="lg:mb-0 text-gray-700 w-full"> <div class="mx-4"> - <h2 class="text-primary-dark mb-6 uppercase font-bold text-2xl"> + <h2 + class="flex justify-center text-primary-dark mb-6 uppercase font-bold text-2xl mt-4" + > Kontakt oss </h2> - <p class="text-gray-500 leading-relaxed mb-9"> + <p + class="flex justify-center mx-auto text-gray-500 leading-relaxed mb-12 max-w-md mt-8" + > {{ contact.description }} </p> </div> - <div class="flex mb-8 ml-2 w-full"> + <div class="flex justify-center mb-12 w-full"> <div class="max-w-14 max-h-14 min-h-14 min-w-14"> <LocationMarkerIcon class="w-14 h-14 text-primary-dark rounded mr-4" @@ -18,17 +22,17 @@ </div> <div class=""> <h4 class="font-bold text-gray-800 text-xl mb-1">Lokaler</h4> - <p>{{ contact.address }},</p> - <p>{{ contact.city }},</p> + <p>{{ contact.address }}</p> + <p>{{ contact.city }}</p> <p>{{ contact.country }}</p> </div> </div> - <div class="flex mb-8 ml-2 max-w-[370px] w-full"> + <div class="flex justify-center mb-10 w-full pr-11"> <div class="max-w-14 max-h-14 min-h-14 min-w-14"> <MailIcon class="w-14 h-14 text-primary-dark rounded mr-4" /> </div> <div class=""> - <h4 class="font-bold text-gray-800 text-xl mb-1">Epost Addresse</h4> + <h4 class="font-bold text-gray-800 text-xl mb-1">E-postadresse</h4> <p>{{ contact.email }}</p> </div> </div> @@ -36,9 +40,9 @@ </div> <div id="faq"> <div - class="mx-auto text-center px-4 text-2xl text-primary-dark font-semibold" + class="mx-auto text-center px-4 mt-8 text-2xl text-primary-dark font-semibold" > - Frequently Asked Questions + Ofte stilte spørsmål </div> <div class="mt-8 mx-auto max-w-screen-sm lg:max-w-screen-lg flex flex-col lg:grid lg:grid-cols-2" @@ -49,7 +53,7 @@ id="question-and-answer" class="select-none cursor-pointer border-2 mx-8 my-3 px-6 py-4 rounded-lg text-sm group" > - <dt id="question"> + <dt id="question" @click="toggle(faqItem)"> <div class="flex justify-between text-gray-800"> <div class="font-bold"> {{ faqItem.question }} @@ -93,7 +97,7 @@ export default { contact: { description: "BoCo (Borrow Community) er et norsk selskap som tilbyr en plattform for utlån av gjenstander for privatpersoner og bedrifter. BoCo streber for å bli den foretrukne plattformen for lån for privatpersoner og bedrifter i Norge.", - email: "BorrowCompany@BorrowCommunity.com", + email: "kontakt@boco.no", address: "O. S. Bragstads Plass 2G", city: "Trondheim", country: "Norge", diff --git a/src/views/FormViews/LoginView.vue b/src/views/UserAuthViews/LoginView.vue similarity index 74% rename from src/views/FormViews/LoginView.vue rename to src/views/UserAuthViews/LoginView.vue index ec6fa68a7c9b217e2d199d2bd8b9d8781556343a..6ab7e4ca537206fceb2a2b1628d374b6aee0e8fb 100644 --- a/src/views/FormViews/LoginView.vue +++ b/src/views/UserAuthViews/LoginView.vue @@ -5,7 +5,7 @@ </template> <script> -import LoginForm from "@/components/FormComponents/LoginForm"; +import LoginForm from "@/components/UserAuthComponents/LoginForm"; export default { name: "LoginView.vue", components: { diff --git a/src/views/FormViews/NewPasswordView.vue b/src/views/UserAuthViews/NewPasswordView.vue similarity index 73% rename from src/views/FormViews/NewPasswordView.vue rename to src/views/UserAuthViews/NewPasswordView.vue index 1c08586c58f04a984fa22a5af77219c79907c145..890a8f524b4490c03ba510c85c2dfc429b228143 100644 --- a/src/views/FormViews/NewPasswordView.vue +++ b/src/views/UserAuthViews/NewPasswordView.vue @@ -5,7 +5,7 @@ </template> <script> -import NewPasswordForm from "@/components/FormComponents/NewPasswordForm"; +import NewPasswordForm from "@/components/UserAuthComponents/NewPasswordForm"; export default { name: "NewPasswordView.vue", components: { diff --git a/src/views/FormViews/RegisterView.vue b/src/views/UserAuthViews/RegisterView.vue similarity index 67% rename from src/views/FormViews/RegisterView.vue rename to src/views/UserAuthViews/RegisterView.vue index 93013987e5e31384c4391768e5468a6bc77df35d..0bf15f1143c38c4bf7fd336ca82afb2a302b9073 100644 --- a/src/views/FormViews/RegisterView.vue +++ b/src/views/UserAuthViews/RegisterView.vue @@ -5,7 +5,7 @@ </template> <script> -import RegisterFormComponent from "../../components/FormComponents/RegisterForm.vue"; +import RegisterFormComponent from "../../components/UserAuthComponents/RegisterForm.vue"; export default { components: { diff --git a/src/views/FormViews/ResetPasswordView.vue b/src/views/UserAuthViews/ResetPasswordView.vue similarity index 73% rename from src/views/FormViews/ResetPasswordView.vue rename to src/views/UserAuthViews/ResetPasswordView.vue index 284c4fe3582728f817ad5fb7b6fbb98373dd38dc..3bb12c1738c08a4578fb2d381dd52cb86a7032a3 100644 --- a/src/views/FormViews/ResetPasswordView.vue +++ b/src/views/UserAuthViews/ResetPasswordView.vue @@ -5,7 +5,7 @@ </template> <script> -import ResetPassword from "@/components/FormComponents/ResetPasswordForm"; +import ResetPassword from "@/components/UserAuthComponents/ResetPasswordForm"; export default { name: "ResetPasswordView.vue", components: { diff --git a/tailwind.config.js b/tailwind.config.js index 65380e429009105b923a55266f6b301464b97a88..d8ef3f55c175f5952769a6b41dec929ef3533f4d 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -24,7 +24,7 @@ module.exports = { primary: { light: "#306EC1", medium: "#004aad", - dark: "#003884", + dark: "#002B66", }, secondary: { light: "#653273", diff --git a/tests/unit/component-tests/community-component-tests/__snapshots__/community-list-item.spec.js.snap b/tests/unit/component-tests/community-component-tests/__snapshots__/community-list-item.spec.js.snap index 6ea43db8f525841f2ff49a8c9a1d45066552348b..4edde89c2c743d9c2411aa4a1a5c1403b7077c70 100644 --- a/tests/unit/component-tests/community-component-tests/__snapshots__/community-list-item.spec.js.snap +++ b/tests/unit/component-tests/community-component-tests/__snapshots__/community-list-item.spec.js.snap @@ -22,7 +22,7 @@ exports[`CommunityListItem component renders correctly 1`] = ` class="flex-1 pl-1 overflow-hidden" > <div - class="font-medium dark:text-white truncate" + class="font-medium text-gray-800 dark:text-white truncate" > string </div> diff --git a/tests/unit/component-tests/community-component-tests/__snapshots__/community-list.spec.js.snap b/tests/unit/component-tests/community-component-tests/__snapshots__/community-list.spec.js.snap index 52d4de639d8683ee0b575f40d2290c6ad383d554..a385829acb32b11671e1d9788b5b401b95c4d892 100644 --- a/tests/unit/component-tests/community-component-tests/__snapshots__/community-list.spec.js.snap +++ b/tests/unit/component-tests/community-component-tests/__snapshots__/community-list.spec.js.snap @@ -27,7 +27,7 @@ exports[`CommunityList component renders correctly 1`] = ` class="flex-1 pl-1 overflow-hidden" > <div - class="font-medium dark:text-white truncate" + class="font-medium text-gray-800 dark:text-white truncate" > string </div> @@ -78,7 +78,7 @@ exports[`CommunityList component renders correctly 1`] = ` class="flex-1 pl-1 overflow-hidden" > <div - class="font-medium dark:text-white truncate" + class="font-medium text-gray-800 dark:text-white truncate" > string </div> diff --git a/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/CalendarComponent.spec.js b/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/CalendarComponent.spec.js index 9ed6d65483a684d332ba961c31262b387ec9b1db..e244058b3b8821425bf1a3f582f55bbbf490d4c7 100644 --- a/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/CalendarComponent.spec.js +++ b/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/CalendarComponent.spec.js @@ -2,44 +2,43 @@ import { shallowMount } from "@vue/test-utils"; import CalendarComponent from "@/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue"; describe("CalendarComponent tests", () => { - let wrapper; - beforeEach(() => { - wrapper = shallowMount(CalendarComponent, { - propsData: { - month: new Date(1651739228545),// May 2022 - blockedDaysRange: [ - [new Date(1651739228545)], // 5 May - [ - new Date(1652733228545), // 16 May - new Date(1652833228545) // 18 May - ]] - } - }); + let wrapper; + beforeEach(() => { + wrapper = shallowMount(CalendarComponent, { + propsData: { + month: new Date(1651739228545), // May 2022 + blockedDaysRange: [ + [new Date(1651739228545)], // 5 May + [ + new Date(1652733228545), // 16 May + new Date(1652833228545), // 18 May + ], + ], + }, }); - - it("Is instansiated", () => { - expect(wrapper.exists()).toBeTruthy(); - }); - - it("Check that all week days are rendered", () => { - expect(wrapper.findAll(".months").length).toBe(7); - }) - - it("Check that the correct amount of days are rendered", () => { - // 31 days in May, 6 for start of week from last month and 5 for end of month - expect(wrapper.find(".daysList").findAll("div").length).toBe(42); - }) - - it("Check select day works", () => { - wrapper.find(".daysList").findAll("div")[7].find("button").trigger("click"); - expect(wrapper.emitted()).toHaveProperty('selectDate') - }) - - it("Test that selecting day outside of month does not work", () => { - // Click on the first day, which is not in the month - wrapper.find(".daysList").findAll("div")[0].find("button").trigger("click"); - expect(wrapper.emitted()).not.toHaveProperty('selectDate') - }) - - -}); \ No newline at end of file + }); + + it("Is instansiated", () => { + expect(wrapper.exists()).toBeTruthy(); + }); + + it("Check that all week days are rendered", () => { + expect(wrapper.findAll(".months").length).toBe(7); + }); + + it("Check that the correct amount of days are rendered", () => { + // 31 days in May, 6 for start of week from last month and 5 for end of month + expect(wrapper.find(".daysList").findAll("div").length).toBe(42); + }); + + it("Check select day works", () => { + wrapper.find(".daysList").findAll("div")[7].find("button").trigger("click"); + expect(wrapper.emitted()).toHaveProperty("selectDate"); + }); + + it("Test that selecting day outside of month does not work", () => { + // Click on the first day, which is not in the month + wrapper.find(".daysList").findAll("div")[0].find("button").trigger("click"); + expect(wrapper.emitted()).not.toHaveProperty("selectDate"); + }); +}); diff --git a/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/month-selector-test.spec.js b/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/month-selector-test.spec.js index bba2c88846de4db57ea3535c56ff329502b6c366..5a7204d7f0935d0cdb1201c0803ba8b23288f59e 100644 --- a/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/month-selector-test.spec.js +++ b/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/month-selector-test.spec.js @@ -2,45 +2,45 @@ import { shallowMount } from "@vue/test-utils"; import monthSelector from "@/components/TimepickerComponents/DatepickerRange/MonthSelector.vue"; describe("MonthSelector tests", () => { - let wrapper; - beforeEach(() => { - wrapper = shallowMount(monthSelector, { - propsData: { - month: new Date(1651739228545), // 05 May 2022 UTC - type: "type" - } - }); + let wrapper; + beforeEach(() => { + wrapper = shallowMount(monthSelector, { + propsData: { + month: new Date(1651739228545), // 05 May 2022 UTC + type: "type", + }, }); - - it("Is instansiated", () => { - expect(wrapper.exists()).toBeTruthy(); - }); - - it("Check if fields show correct informations", () => { - // Check if container exists - expect(wrapper.find(".container-c .text")) - const children = wrapper.find(".container-c .text").findAll("div"); - - // Check if there are two children - expect(children.length).toBe(2); - - // Check children content - expect(children[0].text()).toBe("MAY"); - expect(children[1].text()).toBe("2022"); - }); - - it("Check that changing are emitted", async () => { - // Check that there are two buttons - expect(wrapper.findAll(".button").length).toBe(2); - - const buttons = wrapper.findAll(".button"); - console.log(buttons[0].html()); - // Check that the first button goes a month back - await buttons[0].trigger("click"); - expect(wrapper.emitted()).toHaveProperty('back') - - // Check that the second button goes a month forward - await buttons[1].trigger("click"); - expect(wrapper.emitted()).toHaveProperty('forward') - }) -}); \ No newline at end of file + }); + + it("Is instansiated", () => { + expect(wrapper.exists()).toBeTruthy(); + }); + + it("Check if fields show correct informations", () => { + // Check if container exists + expect(wrapper.find(".container-c .text")); + const children = wrapper.find(".container-c .text").findAll("div"); + + // Check if there are two children + expect(children.length).toBe(2); + + // Check children content + expect(children[0].text()).toBe("MAY"); + expect(children[1].text()).toBe("2022"); + }); + + it("Check that changing are emitted", async () => { + // Check that there are two buttons + expect(wrapper.findAll(".button").length).toBe(2); + + const buttons = wrapper.findAll(".button"); + console.log(buttons[0].html()); + // Check that the first button goes a month back + await buttons[0].trigger("click"); + expect(wrapper.emitted()).toHaveProperty("back"); + + // Check that the second button goes a month forward + await buttons[1].trigger("click"); + expect(wrapper.emitted()).toHaveProperty("forward"); + }); +}); diff --git a/tests/unit/component-tests/user-component-tests/login-form.spec.js b/tests/unit/component-tests/user-component-tests/login-form.spec.js index 40fa711393e969435a609474c0f550f179513135..bb0285db4c868fa9acc66080b46d0fa184cceb7e 100644 --- a/tests/unit/component-tests/user-component-tests/login-form.spec.js +++ b/tests/unit/component-tests/user-component-tests/login-form.spec.js @@ -1,5 +1,5 @@ import { mount } from "@vue/test-utils"; -import LoginForm from "@/components/FormComponents/LoginForm.vue"; +import LoginForm from "@/components/UserAuthComponents/LoginForm.vue"; describe("LoginForm component", () => { let wrapper; diff --git a/tests/unit/component-tests/user-component-tests/new-password-form.spec.js b/tests/unit/component-tests/user-component-tests/new-password-form.spec.js index 638e597bd9b130a6b2a1c69a0b724b3414436648..3d52388c9b35a953ceca35a27a87c578f603135e 100644 --- a/tests/unit/component-tests/user-component-tests/new-password-form.spec.js +++ b/tests/unit/component-tests/user-component-tests/new-password-form.spec.js @@ -1,5 +1,5 @@ import { mount } from "@vue/test-utils"; -import NewPasswordForm from "@/components/FormComponents/NewPasswordForm.vue"; +import NewPasswordForm from "@/components/UserAuthComponents/NewPasswordForm.vue"; describe("NewPasswordForm component", () => { let wrapper; diff --git a/tests/unit/component-tests/user-component-tests/register-user-component.spec.js b/tests/unit/component-tests/user-component-tests/register-user-component.spec.js index 9accd167543e4b2291397821c4aeaedf42804313..4c2ca3b84153c1a1f12b75765948b59a59dc6262 100644 --- a/tests/unit/component-tests/user-component-tests/register-user-component.spec.js +++ b/tests/unit/component-tests/user-component-tests/register-user-component.spec.js @@ -1,5 +1,5 @@ import { mount } from "@vue/test-utils"; -import RegisterFormComponent from "@/components/FormComponents/RegisterForm"; +import RegisterFormComponent from "@/components/UserAuthComponents/RegisterForm"; describe("RegisterFormComponent", () => { let wrapper; diff --git a/tests/unit/component-tests/user-component-tests/reset-password-form.spec.js b/tests/unit/component-tests/user-component-tests/reset-password-form.spec.js index 1dc9f0a4f379129d888436a42d40bf354ae56f66..45f67cef373d59a5d51850d424378a3af218490c 100644 --- a/tests/unit/component-tests/user-component-tests/reset-password-form.spec.js +++ b/tests/unit/component-tests/user-component-tests/reset-password-form.spec.js @@ -1,5 +1,5 @@ import { mount } from "@vue/test-utils"; -import ResetPasswordForm from "@/components/FormComponents/ResetPasswordForm.vue"; +import ResetPasswordForm from "@/components/UserAuthComponents/ResetPasswordForm.vue"; describe("ResetPasswordForm component", () => { let wrapper;