From a9dda675523fc55b4ab499eeeba7b4032151778c Mon Sep 17 00:00:00 2001 From: VIktorGrev <viktog2210@gmail.com> Date: Wed, 1 May 2024 10:09:30 +0200 Subject: [PATCH] style: Transelating views --- src/views/Budget/BudgetOverview.vue | 21 +++----- src/views/Budget/BudgetView.vue | 47 ++++++++-------- src/views/FeedbackView.vue | 6 +-- src/views/LeaderboardView.vue | 53 ++++++++++--------- src/views/NotFoundView.vue | 13 ++--- src/views/Settings/SettingsAccountView.vue | 45 ++++++++-------- src/views/Settings/SettingsBankView.vue | 20 +++---- .../Settings/SettingsNotificationView.vue | 30 +++++------ src/views/Settings/SettingsProfileView.vue | 17 +++--- src/views/Settings/SettingsSecurityView.vue | 21 ++++---- src/views/SettingsView.vue | 9 ++-- src/views/ShopView.vue | 2 +- src/views/UnauthorizedView.vue | 9 ++-- src/views/User/UserFriendsView.vue | 42 +++++++-------- 14 files changed, 166 insertions(+), 169 deletions(-) diff --git a/src/views/Budget/BudgetOverview.vue b/src/views/Budget/BudgetOverview.vue index 3219b78..68e3c13 100644 --- a/src/views/Budget/BudgetOverview.vue +++ b/src/views/Budget/BudgetOverview.vue @@ -71,20 +71,17 @@ const goToBudget = (id: number) => { <template> <div class="container"> - <h1 class="text-center">Your Budgets</h1> - <button1 id="createBudgetButton" button-text="Create new budget" class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample"/> - + <h1 class="text-center">Dine Budsjetter</h1> + <button1 id="createBudgetButton" button-text="Opprett nytt budsjett" class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample"/> <div class="collapse" id="collapseExample"> <div class="container collapse-container"> <div class="input-group"> - <input id="collapseInput" class="form-control" type="text" placeholder="Enter name of budget" v-model="budgetNameInput"> - <button1 id="collapseButton" button-text="Create" data-bs-dismiss="modal" @click="createNewBudget"/> + <input id="collapseInput" class="form-control" type="text" placeholder="Skriv inn navn pÃ¥ budsjettet" v-model="budgetNameInput"> + <button1 id="collapseButton" button-text="Opprett" data-bs-dismiss="modal" @click="createNewBudget"/> </div> </div> </div> - <p class="text-danger">{{ errorMsg }}</p> - <ul class="budgetContainer" :key="budgetListKey"> <li v-for="(item, index) in budgetList"> <budget-box @@ -99,11 +96,10 @@ const goToBudget = (id: number) => { ></budget-box> </li> </ul> - - <nav id="navbar" aria-label="Page navigation example"> + <nav id="navbar" aria-label="Sidenavigasjon eksempel"> <ul class="pagination"> <li class="page-item"> - <a class="page-link" href="#" aria-label="Previous"> + <a class="page-link" href="#" aria-label="Forrige"> <span aria-hidden="true">«</span> </a> </li> @@ -111,17 +107,16 @@ const goToBudget = (id: number) => { <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"> - <a class="page-link" href="#" aria-label="Next"> + <a class="page-link" href="#" aria-label="Neste"> <span aria-hidden="true">»</span> </a> </li> </ul> </nav> - </div> - </template> + <style scoped> .collapse-container { align-content: center; diff --git a/src/views/Budget/BudgetView.vue b/src/views/Budget/BudgetView.vue index 7e4f8c4..7cf6f72 100644 --- a/src/views/Budget/BudgetView.vue +++ b/src/views/Budget/BudgetView.vue @@ -226,8 +226,8 @@ const importBudget = async (budgetId: number) => { <h1 class="text-center">{{ title }}</h1> <div class="button-container"> - <button1 id="goBack" @click="router.push('/budget-overview')" button-text="Go back"/> - <button1 id="optionButton" button-text="Options" data-bs-toggle="modal" data-bs-target="#modal"/> + <button1 id="goBack" @click="router.push('/budsjett-oversikt')" button-text="GÃ¥ tilbake"/> + <button1 id="optionButton" button-text="Alternativer" data-bs-toggle="modal" data-bs-target="#modal"/> </div> <p class="text-danger">{{ errorMsg }}</p> @@ -236,23 +236,23 @@ const importBudget = async (budgetId: number) => { <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> - <h3>Options</h3> + <h3>Alternativer</h3> <button class="btn btn-close" data-bs-dismiss="modal"></button> </div> <div class="modal-body"> - <button id="importButton" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#import-modal"><img src="../../assets/icons/import.svg" height="20" width="20" alt="picture">Import budget</button> - <button id="editBudget" class="btn btn-primary" data-bs-toggle="collapse" data-bs-target="#editBudgetCollapse" aria-expanded="false" aria-controls="editBudgetCollapse"><img src="../../assets/icons/edit-button.svg" alt="editButton">Rename budget</button> + <button id="importButton" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#import-modal"><img src="../../assets/icons/import.svg" height="20" width="20" alt="bilde">Importer budsjett</button> + <button id="editBudget" class="btn btn-primary" data-bs-toggle="collapse" data-bs-target="#editBudgetCollapse" aria-expanded="false" aria-controls="editBudgetCollapse"><img src="../../assets/icons/edit-button.svg" alt="redigerKnapp">Endre navn pÃ¥ budsjett</button> <div class="collapse" id="editBudgetCollapse"> <div class="container collapse-container"> <form ref="renameFormRef" @submit.prevent="updateBudget(budget, budgetTitle)"> <div class="input-group"> - <input id="collapseInput" class="col-5 form-control" type="text" required minlength="1" placeholder="Enter new name of budget" v-model="budgetTitle"> - <button1 id="collapseButton" type="submit" button-text="Confirm" data-bs-dismiss="modal"/> + <input id="collapseInput" class="col-5 form-control" type="text" required minlength="1" placeholder="Skriv inn nytt navn pÃ¥ budsjettet" v-model="budgetTitle"> + <button1 id="collapseButton" type="submit" button-text="Bekreft" data-bs-dismiss="modal"/> </div> </form> </div> </div> - <button id="deleteButton" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#confirm-modal"><img src="../../assets/icons/trash-can.svg" height="20" width="20" alt="picture">Delete budget</button> + <button id="deleteButton" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#confirm-modal"><img src="../../assets/icons/trash-can.svg" height="20" width="20" alt="bilde">Slett budsjett</button> </div> </div> </div> @@ -261,7 +261,7 @@ const importBudget = async (budgetId: number) => { <confirm-delete-modal :budget-id="useBudgetStore().getActiveBudgetId" modal-id="confirm-modal" :budgetTitle="title" - @deletedEvent="router.push('/budget-overview')"/> + @deletedEvent="router.push('/budsjett-oversikt')"/> <import-budget-modal modal-id="import-modal" :listOfBudgetResponseDTO="budgetDTOList" @@ -269,26 +269,26 @@ const importBudget = async (budgetId: number) => { <div class="budget-info-container"> <div class="info budget-container"> - <i><img src="../../assets/icons/money2.svg" width="48px" height="48px" alt="picture"></i> + <i><img src="../../assets/icons/money2.svg" width="48px" height="48px" alt="bilde"></i> <div class="budget-text-container"> <h5>{{budget}} kr</h5> - <p>Budget</p> + <p>Budsjett</p> </div> </div> <div class="info expenses-container"> - <i><img src="../../assets/icons/credit-card.svg" width="48px" height="48px" alt="picture"></i> + <i><img src="../../assets/icons/credit-card.svg" width="48px" height="48px" alt="bilde"></i> <div class="expenses-text-container"> <h5>{{expenses}} kr</h5> - <p>Expenses</p> + <p>Utgifter</p> </div> </div> <div class="info balance-container"> - <i ref="iRef"><img src="../../assets/icons/scale.svg" width="48px" height="48px" alt="picture"></i> + <i ref="iRef"><img src="../../assets/icons/scale.svg" width="48px" height="48px" alt="bilde"></i> <div class="balance-text-container"> <h5>{{balance}} kr</h5> - <p>Balance</p> + <p>Balanse</p> </div> </div> </div> @@ -297,24 +297,24 @@ const importBudget = async (budgetId: number) => { <div class="budget-content-container"> <form class="budget-from" @submit.prevent="updateBudget(budgetValue, title)"> <div class="input-group"> - <span class="input-group-text">Your budget </span> - <input type="text" class="form-control" placeholder="Enter your budget" required v-model="budgetValue"> - <button type="submit" class="btn btn-primary">Calculate</button> + <span class="input-group-text">Ditt budsjett </span> + <input type="text" class="form-control" placeholder="Skriv inn ditt budsjett" required v-model="budgetValue"> + <button type="submit" class="btn btn-primary">Beregn</button> </div> </form> <form class="expenses-form" @submit.prevent="addNewExpense(expenseDescription, expenseAmount)"> <div class="input-group"> - <span class="input-group-text">Add new expense </span> - <input type="text" class="form-control" placeholder="Name of expense" required v-model="expenseDescription"> - <input type="number" min="0" class="form-control" placeholder="Amount (kr)" required v-model="expenseAmount"> - <button type="submit" class="btn btn-primary">Calculate</button> + <span class="input-group-text">Legg til ny utgift </span> + <input type="text" class="form-control" placeholder="Navn pÃ¥ utgift" required v-model="expenseDescription"> + <input type="number" min="0" class="form-control" placeholder="Beløp (kr)" required v-model="expenseAmount"> + <button type="submit" class="btn btn-primary">Beregn</button> </div> </form> </div> <div v-if="expenseDTOList.length != 0" class="expenses-details-container"> - <h3>Expenses details</h3> + <h3>Utgiftsdetaljer</h3> <div class="expense-box-container"> <expense-box v-for="(expenseDTO, index) in expenseDTOList" :id="Number(expenseDTO.expenseId) || 0" @@ -330,6 +330,7 @@ const importBudget = async (budgetId: number) => { </div> </template> + <style scoped> .button-container { diff --git a/src/views/FeedbackView.vue b/src/views/FeedbackView.vue index 6eef349..a4cbe7a 100644 --- a/src/views/FeedbackView.vue +++ b/src/views/FeedbackView.vue @@ -2,14 +2,14 @@ <main> <div class="wrapper"> <div id="formFrame"> - <h1>Feedback</h1> + <h1>TIlbakemelding</h1> <form @submit.prevent="submitForm"> <BaseInput v-model="email" label="Email" type="email" placeholder="Enter your email" inputId="email" required /> <br> - <label for="feedback">Your feedback:</label> + <label for="feedback">Din tilbakemelding:</label> <textarea v-model="message" placeholder="Write here" rows="5" name="comment[text]" id="comment_text" cols="33" required></textarea> - <Button1 button-text="Send" @click="submitForm">Submit</Button1> + <Button1 button-text="Send" @click="submitForm">Send inn</Button1> <p v-if="submissionStatus">{{ submissionStatus }}</p> </form> </div> diff --git a/src/views/LeaderboardView.vue b/src/views/LeaderboardView.vue index 12acc33..f67a36c 100644 --- a/src/views/LeaderboardView.vue +++ b/src/views/LeaderboardView.vue @@ -1,41 +1,42 @@ <template> <br> <div id="dropdownContainer"> - <h1 class="box">Leaderboard</h1> + <h1 class="box">Poengtavle</h1> </div> - <div id = "content"> + <div id="content"> <div id="dropdownContainer"> - <div class="box"> - <div class="btn-group-vertical" id="radioContainer" role="group" - aria-label="Vertical radio toggle button group"> - <input type="radio" class="btn-check" name="vbtn-radio" id="vbtn-radio1" autocomplete="off" checked> - <label class="btn btn-outline-primary" for="vbtn-radio1" @click="global"><img src="@/assets/globe.png" style="width: 60px" alt="globe"> Global</label> - <input type="radio" class="btn-check" name="vbtn-radio" id="vbtn-radio2" autocomplete="off"> - <label class="btn btn-outline-primary" for="vbtn-radio2" @click="friends"><img src="@/assets/friends.png" style="width: 60px" alt="friends"> Friends</label> + <div class="box"> + <div class="btn-group-vertical" id="radioContainer" role="group" + aria-label="Vertikal radio knappgruppe"> + <input type="radio" class="btn-check" name="vbtn-radio" id="vbtn-radio1" autocomplete="off" checked> + <label class="btn btn-outline-primary" for="vbtn-radio1" @click="global"><img src="@/assets/globe.png" style="width: 60px" alt="globus"> Global</label> + <input type="radio" class="btn-check" name="vbtn-radio" id="vbtn-radio2" autocomplete="off"> + <label class="btn btn-outline-primary" for="vbtn-radio2" @click="friends"><img src="@/assets/friends.png" style="width: 60px" alt="venner"> Venner</label> + </div> + </div> </div> - </div> - </div> - <main> - <div id="leaderboard"> - <h1><img src="@/assets/items/pigcoin.png" style="width: 2rem" alt="pig coin"> Total points</h1> - <Leaderboard :leaderboard="pointsLeaderboardData" :leaderboardExtra="pointsLeaderboardDataExtra" @navigateToUserProfile="navigateToUserProfile" /> - </div> - <div id="leaderboard"> - <h1><img src="@/assets/icons/fire.png" style="width: 2rem" alt="fire"> Current streak</h1> - <Leaderboard :leaderboard="currentLeaderboardData" :leaderboardExtra="currentLeaderboardDataExtra" @navigateToUserProfile="navigateToUserProfile" /> - </div> - <div id="leaderboard"> - <h1><img src="@/assets/icons/fire.png" style="width: 2rem" alt="fire"> Highest streak</h1> - <Leaderboard :leaderboard="streakLeaderboardData" :leaderboardExtra="streakLeaderboardDataExtra" @navigateToUserProfile="navigateToUserProfile" /> - </div> - </main> + <main> + <div id="leaderboard"> + <h1><img src="@/assets/items/pigcoin.png" style="width: 2rem" alt="pig coin"> Totale poeng</h1> + <Leaderboard :leaderboard="pointsLeaderboardData" :leaderboardExtra="pointsLeaderboardDataExtra" @navigateToUserProfile="navigateToUserProfile" /> + </div> + <div id="leaderboard"> + <h1><img src="@/assets/icons/fire.png" style="width: 2rem" alt="ild"> NÃ¥værende rekke</h1> + <Leaderboard :leaderboard="currentLeaderboardData" :leaderboardExtra="currentLeaderboardDataExtra" @navigateToUserProfile="navigateToUserProfile" /> + </div> + <div id="leaderboard"> + <h1><img src="@/assets/icons/fire.png" style="width: 2rem" alt="ild"> Høyeste rekke</h1> + <Leaderboard :leaderboard="streakLeaderboardData" :leaderboardExtra="streakLeaderboardDataExtra" @navigateToUserProfile="navigateToUserProfile" /> + </div> + </main> </div> <div id="communityContainer"> - <h1>Total points earned as a community</h1> + <h1>Totale poeng opptjent som et fellesskap</h1> <h2>1000000 <img src="@/assets/items/v-buck.png" style="width: 2rem" alt="alt"></h2> </div> </template> + <script setup lang="ts"> import { onMounted, ref } from 'vue'; import { useRouter } from 'vue-router'; diff --git a/src/views/NotFoundView.vue b/src/views/NotFoundView.vue index 7637014..abe797a 100644 --- a/src/views/NotFoundView.vue +++ b/src/views/NotFoundView.vue @@ -1,17 +1,17 @@ <template> - <div class="container-fluid"> <!-- Changed from 'container' to 'container-fluid' --> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <div class="error-template text-center"> <!-- 'text-center' for centering text content --> + <div class="error-template text-center"> <h1> - Oops!</h1> + Oi!</h1> <h2> - 404 Not Found</h2> + 404 Ikke funnet</h2> <div class="error-details"> - Sorry, an error has occurred, Requested page not found! + Beklager, det har oppstÃ¥tt en feil. Forespurt side ikke funnet! </div> <div class="error-actions"> - <Button1 button-text="Take Me Home" @click="home" /> + <Button1 button-text="Ta meg hjem" @click="home" /> </div> </div> </div> @@ -19,6 +19,7 @@ </div> </template> + <script setup lang="ts"> import { useRouter } from 'vue-router'; import Button1 from '@/components/Buttons/Button1.vue'; diff --git a/src/views/Settings/SettingsAccountView.vue b/src/views/Settings/SettingsAccountView.vue index 82de6a0..50c2bfe 100644 --- a/src/views/Settings/SettingsAccountView.vue +++ b/src/views/Settings/SettingsAccountView.vue @@ -50,26 +50,25 @@ onMounted(() => { </script> <template> - <div class="tab-pane active" id="account"> - <h6>ACCOUNT SETTINGS</h6> - <hr> - <form @submit.prevent="handleSubmit"> - <div class="form-group"> - <BaseInput :model-value="emailRef" @input-change-event="handleEmailInputEvent" id="emailInput-change" - input-id="email-new" type="email" label="Email" placeholder="Enter your email" - invalid-message="Invalid email"/> - </div> - <p class="text-danger">{{ errorMsg }}</p> - <p class="text-success">{{ confirmationMsg }}</p> - <br> - <button type="submit" class="btn btn-primary">Update Profile</button> - <hr> - <div class="form-group"> - <label class="d-block text-danger">Delete Account</label> - <p class="text-muted font-size-sm">Once you delete your account, there is no going - back. Please be certain.</p> - </div> - <button class="btn btn-danger" type="button">Delete Account</button> - </form> - </div> -</template> \ No newline at end of file + <div class="tab-pane active" id="account"> + <h6>KONTO INNSTILLINGER</h6> + <hr> + <form @submit.prevent="handleSubmit"> + <div class="form-group"> + <BaseInput :model-value="emailRef" @input-change-event="handleEmailInputEvent" id="emailInput-change" + input-id="email-new" type="email" label="E-post" placeholder="Skriv inn din e-post" + invalid-message="Ugyldig e-post"/> + </div> + <p class="text-danger">{{ errorMsg }}</p> + <p class="text-success">{{ confirmationMsg }}</p> + <br> + <button type="submit" class="btn btn-primary">Endre Informasjon</button> + <hr> + <div class="form-group"> + <label class="d-block text-danger">Slett Bruker</label> + <p class="text-muted font-size-sm">NÃ¥r du først har slettet kontoen din, er det ingen vei tilbake. Vennligst vær sikker.</p> + </div> + <button class="btn btn-danger" type="button">Slett Bruker</button> + </form> + </div> +</template> diff --git a/src/views/Settings/SettingsBankView.vue b/src/views/Settings/SettingsBankView.vue index 85c5b04..dc17e8a 100644 --- a/src/views/Settings/SettingsBankView.vue +++ b/src/views/Settings/SettingsBankView.vue @@ -1,35 +1,35 @@ <template> <div class="tab-pane active" id="billing"> - <h6>BANK SETTINGS</h6> + <h6>BANKKONTO INNSTILLINGER</h6> <hr> <form @submit.prevent="handleSpendingSubmit"> <div class="form-group"> <BaseInput :model-value="spendingAccount" @input-change-event="handleSpendingInputEvent" id="firstNameInputChange" input-id="first-name-new" - type="Number" label="Spending Account" placeholder="Enter your spending account" - invalid-message="Please enter your spending account" /> + type="Number" label="Brukskonto" placeholder="Skriv inn din brukskonto" + invalid-message="Vennligst skriv inn din brukskonto" /> </div> <br> - <button type="submit" class="btn btn-primary">Update Spending Account</button> + <button type="submit" class="btn btn-primary">Oppdater brukskonto</button> </form> <br> <form @submit.prevent="handleSavingSubmit"> <div class="form-group"> <BaseInput :model-value="savingsAccount" @input-change-event="handleSavingInputEvent" id="firstNameInputChange" input-id="first-name-new" type="Number" - label="Savings Account" placeholder="Enter your Savings account" - invalid-message="Please enter your Savings account" /> + label="Sparekonto" placeholder="Skriv inn din sparekonto" + invalid-message="Vennligst skriv inn din sparekonto" /> </div> <br> - <button type="submit" class="btn btn-primary">Update Savings Account</button> + <button type="submit" class="btn btn-primary">Oppdater sparekonto</button> </form> <hr> <div class="form-group mb-0"> - <label class="d-block">Payment History</label> - <div class="border border-gray-500 bg-gray-200 p-3 text-center font-size-sm">You - have not made any payment.</div> + <label class="d-block">Betalingshistorikk</label> + <div class="border border-gray-500 bg-gray-200 p-3 text-center font-size-sm">Du har ikke foretatt noen betaling.</div> </div> </div> </template> + <script setup lang="ts"> import { ref } from 'vue'; import BaseInput from '@/components/InputFields/BaseInput.vue'; diff --git a/src/views/Settings/SettingsNotificationView.vue b/src/views/Settings/SettingsNotificationView.vue index 225f1ae..f33417a 100644 --- a/src/views/Settings/SettingsNotificationView.vue +++ b/src/views/Settings/SettingsNotificationView.vue @@ -1,56 +1,55 @@ <template> <div class="tab-pane active" id="notification"> - <h6>NOTIFICATION SETTINGS</h6> + <h6>VARSLINGSINNSTILLINGER</h6> <hr> <form> <div class="form-group"> - <label class="d-block mb-0">Security Alerts</label> - <div class="small text-muted mb-3">Receive security alert notifications via email - </div> + <label class="d-block mb-0">Sikkerhetsvarsler</label> + <div class="small text-muted mb-3">Motta sikkerhetsvarselvarsler via e-post</div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="customCheck1"> - <label class="custom-control-label" for="customCheck1">Email each time a - vulnerability is found</label> + <label class="custom-control-label" for="customCheck1">E-post hver gang en + sÃ¥rbarhet blir funnet</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="customCheck2"> - <label class="custom-control-label" for="customCheck2">Email a digest summary of - vulnerability</label> + <label class="custom-control-label" for="customCheck2">E-post et sammendrag av + sÃ¥rbarhet</label> </div> </div> <div class="form-group mb-0"> - <label class="d-block">SMS Notifications</label> + <label class="d-block">SMS-varsler</label> <ul class="list-group list-group-sm"> <li class="list-group-item has-icon"> - Comments + Kommentarer <div class="custom-control custom-control-nolabel custom-switch ml-auto"> <input type="checkbox" class="custom-control-input" id="customSwitch1"> <label class="custom-control-label" for="customSwitch1"></label> </div> </li> <li class="list-group-item has-icon"> - Updates From People + Oppdateringer fra personer <div class="custom-control custom-control-nolabel custom-switch ml-auto"> <input type="checkbox" class="custom-control-input" id="customSwitch2"> <label class="custom-control-label" for="customSwitch2"></label> </div> </li> <li class="list-group-item has-icon"> - Reminders + PÃ¥minnelser <div class="custom-control custom-control-nolabel custom-switch ml-auto"> <input type="checkbox" class="custom-control-input" id="customSwitch3"> <label class="custom-control-label" for="customSwitch3"></label> </div> </li> <li class="list-group-item has-icon"> - Events + Hendelser <div class="custom-control custom-control-nolabel custom-switch ml-auto"> <input type="checkbox" class="custom-control-input" id="customSwitch4"> <label class="custom-control-label" for="customSwitch4"></label> </div> </li> <li class="list-group-item has-icon"> - Pages You Follow + Sider du følger <div class="custom-control custom-control-nolabel custom-switch ml-auto"> <input type="checkbox" class="custom-control-input" id="customSwitch5"> <label class="custom-control-label" for="customSwitch5"></label> @@ -60,5 +59,4 @@ </div> </form> </div> - -</template> \ No newline at end of file +</template> diff --git a/src/views/Settings/SettingsProfileView.vue b/src/views/Settings/SettingsProfileView.vue index 8f88d26..4b5fb7e 100644 --- a/src/views/Settings/SettingsProfileView.vue +++ b/src/views/Settings/SettingsProfileView.vue @@ -101,35 +101,36 @@ onMounted(() => { <template> <div class="tab-pane active" id="profile"> - <h6>YOUR PROFILE INFORMATION</h6> + <h6>DIN PROFILINFORMASJON</h6> <hr> <form @submit.prevent="handleSubmit" novalidate> <div class="user-avatar"> <input type="file" ref="fileInputRef" @change="handleFileChange" accept=".jpg, .jpeg, .png" style="display: none;" /> - <img :src="iconSrc" alt="User Avatar" style="width: 300px"> + <img :src="iconSrc" alt="Brukeravatar" style="width: 300px"> <div class="mt-2"> <button type="button" class="btn btn-primary" @click="triggerFileUpload"><img - src="@/assets/icons/download.svg"> Upload Image</button> + src="@/assets/icons/download.svg"> Last opp bilde</button> </div> </div> <div class="form-group"> <BaseInput :model-value="firstNameRef" @input-change-event="handleFirstNameInputEvent" id="firstNameInputChange" - input-id="first-name-new" type="text" label="First name" placeholder="Enter your first name" - invalid-message="Please enter your first name" /> + input-id="first-name-new" type="text" label="Fornavn" placeholder="Skriv inn ditt fornavn" + invalid-message="Vennligst skriv inn ditt fornavn" /> </div> <br> <div class="form-group"> <BaseInput :model-value="surnameRef" @input-change-event="handleSurnameInputEvent" id="surnameInput-change" - input-id="surname-new" type="text" label="Surname" placeholder="Enter your surname" - invalid-message="Please enter your surname" /> + input-id="surname-new" type="text" label="Etternavn" placeholder="Skriv inn ditt etternavn" + invalid-message="Vennligst skriv inn ditt etternavn" /> </div> <br> - <button type="submit" class="btn btn-primary">Update Profile</button> + <button type="submit" class="btn btn-primary">Oppdater profil</button> </form> </div> </template> + <style scoped> #icon { width: 90px; diff --git a/src/views/Settings/SettingsSecurityView.vue b/src/views/Settings/SettingsSecurityView.vue index db55bb0..68dc211 100644 --- a/src/views/Settings/SettingsSecurityView.vue +++ b/src/views/Settings/SettingsSecurityView.vue @@ -1,32 +1,33 @@ <template> <div class="tab-pane active" id="security"> - <h6>SECURITY SETTINGS</h6> + <h6>SIKKERHETSINNSTILLINGER</h6> <hr> <form @submit.prevent="handleSubmit" novalidate> <div class="form-group"> - <label class="d-block">Change Password</label> + <label class="d-block">Endre passord</label> <BaseInput :model-value="oldPasswordRef" @input-change-event="handleOldPasswordInputEvent" id="passwordInput-change" input-id="password-old" type="password" - pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,16}" label="Old Password" placeholder="Enter password" - invalid-message="Password must be between 4 and 16 characters and contain one capital letter, small letter and a number" /> + pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,16}" label="Gammelt passord" placeholder="Skriv inn passord" + invalid-message="Passordet mÃ¥ være mellom 4 og 16 tegn og inneholde en stor bokstav, en liten bokstav og et tall" /> <BaseInput :model-value="newPasswordRef" @input-change-event="handleNewPasswordInputEvent" id="passwordInput-change" input-id="password-new" type="password" - pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,16}" label="New Password" placeholder="Enter password" - invalid-message="Password must be between 4 and 16 characters and contain one capital letter, small letter and a number" /> + pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,16}" label="Nytt passord" placeholder="Skriv inn passord" + invalid-message="Passordet mÃ¥ være mellom 4 og 16 tegn og inneholde en stor bokstav, en liten bokstav og et tall" /> <BaseInput :model-value="confirmPasswordRef" @input-change-event="handleConfirmPasswordInputEvent" id="passwordInput-change" input-id="password-confirm" type="password" - pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,16}" label="Confirm New Password" placeholder="Enter password" - invalid-message="Password must be between 4 and 16 characters and contain one capital letter, small letter and a number" /> + pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,16}" label="Bekreft nytt passord" placeholder="Skriv inn passord" + invalid-message="Passordet mÃ¥ være mellom 4 og 16 tegn og inneholde en stor bokstav, en liten bokstav og et tall" /> </div> - <button type="submit" class="btn btn-primary">Update Password</button> - <button type="reset" class="btn btn-light">Reset Changes</button> + <button type="submit" class="btn btn-primary">Oppdater passord</button> + <button type="reset" class="btn btn-light">Tilbakestill endringer</button> </form> <hr> </div> </template> + <script setup lang="ts"> import { ref } from 'vue' import BaseInput from '@/components/InputFields/BaseInput.vue' diff --git a/src/views/SettingsView.vue b/src/views/SettingsView.vue index bfacde1..a190d10 100644 --- a/src/views/SettingsView.vue +++ b/src/views/SettingsView.vue @@ -49,7 +49,7 @@ function toBilling() { <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path> <circle cx="12" cy="7" r="4"></circle> </svg> - Profile + Profil </a> @@ -63,7 +63,7 @@ function toBilling() { d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"> </path> </svg> - Account + Konto </a> @@ -74,7 +74,7 @@ function toBilling() { stroke-linejoin="round" class="feather feather-shield mr-2"> <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path> </svg> - Security + Sikkerhet </a> @@ -85,7 +85,7 @@ function toBilling() { stroke-linejoin="round" class="feather feather-bell mr-2"> <path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path> <path d="M13.73 21a2 2 0 0 1-3.46 0"></path> - </svg>Notification + </svg>Varsel </a> <a> <a @click.prevent="setActive('/settings/bank')" @click="toBilling" @@ -174,6 +174,7 @@ function toBilling() { </template> + <style scoped> .container { margin-top: 2rem; diff --git a/src/views/ShopView.vue b/src/views/ShopView.vue index 20739f1..aa5f967 100644 --- a/src/views/ShopView.vue +++ b/src/views/ShopView.vue @@ -1,7 +1,7 @@ <template> <br> <div id="dropdownContainer"> - <h1 class="box">Shop</h1> + <h1 class="box">Marked</h1> </div> <div class="container"> <div class="row"> diff --git a/src/views/UnauthorizedView.vue b/src/views/UnauthorizedView.vue index b17b840..d992177 100644 --- a/src/views/UnauthorizedView.vue +++ b/src/views/UnauthorizedView.vue @@ -3,18 +3,19 @@ <div class="container py-5"> <div class="row"> <div class="col-md-2 text-center"> - <p><img src="@/assets/icons/danger.svg" alt="danger"> <br/>Status Code: 403</p> + <p><img src="@/assets/icons/danger.svg" alt="fare"> <br/>Statuskode: 403</p> </div> <div class="col-md-10"> - <h3>OPPSSS!!!! Sorry...</h3> - <p>Sorry, your access is refused due to security reasons of our server and also our sensitive data.<br/>Please go back to the home page to continue browsing.</p> - <Button1 :button-text="'Take Me Home'" @click="home" /> + <h3>OOPS!!! Beklager...</h3> + <p>Beklager, din tilgang er nektet av sikkerhetsgrunner pÃ¥ serveren vÃ¥r og ogsÃ¥ vÃ¥re sensitive data.<br/>Vennligst gÃ¥ tilbake til startsiden for Ã¥ fortsette Ã¥ surfe.</p> + <Button1 :button-text="'Ta meg hjem'" @click="home" /> </div> </div> </div> </body> </template> + <script setup lang="ts"> import { useRouter } from 'vue-router'; import Button1 from '@/components/Buttons/Button1.vue'; diff --git a/src/views/User/UserFriendsView.vue b/src/views/User/UserFriendsView.vue index b6b3ed3..93bec23 100644 --- a/src/views/User/UserFriendsView.vue +++ b/src/views/User/UserFriendsView.vue @@ -1,11 +1,11 @@ <template> <div class="container"> - <h1>Your Friends</h1> + <h1>Dine venner</h1> <div> - <button class="btn btn-primary pull-right" @click="addNewFriends">+ Add Friend</button> + <button class="btn btn-primary pull-right" @click="addNewFriends">+ Legg til venn</button> <div class="my-3"> - <button class="btn pages" @click="setupFriends">Your Friends</button> - <button class="btn pages" @click="requestFriend">Friend Requests</button> + <button class="btn pages" @click="setupFriends">Dine venner</button> + <button class="btn pages" @click="requestFriend">Venneforespørsler</button> </div> </div> <div v-if="showFriends"> @@ -29,12 +29,11 @@ <a class="text removeFriend" data-bs-toggle="collapse" :href="'#collapseExample' + friend.id" role="button" aria-expanded="false" :aria-controls="'collapseExample' + friend.id"> - See more + Se mer </a> <div class="collapse" :id="'collapseExample' + friend.id"> <button class="btn btn-danger" @click="removeFriend(friend.id)"> - <h5><img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove - friend + <h5><img src="@/assets/icons/remove-white.svg" style="width: 30px"> Fjern venn </h5> </button> </div> @@ -43,23 +42,23 @@ </div> </div> </div> - <div v-else>No Friends</div> + <div v-else>Ingen venner</div> </div> <div v-else-if="showRequests" class="row"> <div class="content-body"> <div v-if="elementsInFriendRequest" id="requests"> <div class="request" v-for="(friend) in friendRequests" :key="friend.id"> <div v-if="friend.profileImage !== null"><img id="profilePicture" - :src="'http://localhost:8080/api/images/' + friend.profileImage" alt="user" + :src="'http://localhost:8080/api/images/' + friend.profileImage" alt="bruker" class="profile-photo-lg"></div> - <div v-else><img id="profilePicture" :src="'../src/assets/userprofile.png'" alt="user" + <div v-else><img id="profilePicture" :src="'../src/assets/userprofile.png'" alt="bruker" class="profile-photo-lg"></div> <h2>{{ friend.firstName }}</h2> - <button class="btn btn-success mx-2" - @click="acceptRequest(friend.id)">Accept</button> - <button class="btn btn-danger" @click="rejectRequest(friend.id)">Reject</button> + @click="acceptRequest(friend.id)">Godta</button> + <button class="btn btn-danger" @click="rejectRequest(friend.id)">AvslÃ¥</button> </div> </div> - <div v-else>No friend requests</div> + <div v-else>Ingen venneforespørsler</div> </div> </div> <div v-if="showAddFriend" class="modal" tabindex="-1" role="dialog" @@ -67,7 +66,7 @@ <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> - <h5 class="modal-title">Add Friend</h5> + <h5 class="modal-title">Legg til venn</h5> <button type="button" class="close" @click="showAddFriend = false"> <span aria-hidden="true">×</span> </button> @@ -75,9 +74,9 @@ <div class="modal-body d-flex justify-content-center align-items-center flex-column"> <form class="col-md-10 d-flex justify-content-center align-items-center flex-row my-4" id="searchBox" role="search" @submit.prevent="searchProfile(searchWord)"> - <input class="form-control me-2 custom-border" type="search" placeholder="Search" - aria-label="Search" v-model="searchWord"> - <button class="btn btn-success" type="submit">Search</button> + <input class="form-control me-2 custom-border" type="search" placeholder="Søk" + aria-label="Søk" v-model="searchWord"> + <button class="btn btn-success" type="submit">Søk</button> </form> <div class="col-md-12"> <div class="people-nearby"> @@ -86,10 +85,9 @@ <div class="col-md-2 col-sm-2"> <div v-if="user.profileImage !== null"><img id="profilePicture" :src="'http://localhost:8080/api/images/' + user.profileImage" - alt="user" class="profile-photo-lg"></div> + alt="bruker" class="profile-photo-lg"></div> <div v-else><img id="profilePicture" :src="'../src/assets/userprofile.png'" - alt="user" class="profile-photo-lg"></div> - + alt="bruker" class="profile-photo-lg"></div> </div> <div class="col-md-7 col-sm-7"> <h5><a href="#" class="profile-link" @click="toUserProfile(user.id)">{{ @@ -97,8 +95,7 @@ </h5> </div> <div class="col-md-3 col-sm-3"> - <button class="btn btn-primary pull-right" @click="addFriend(user.id)">Add - Friend</button> + <button class="btn btn-primary pull-right" @click="addFriend(user.id)">Legg til venn</button> </div> </div> </div> @@ -113,6 +110,7 @@ + <script setup lang="ts"> import { ref, onMounted } from 'vue'; import { useRouter } from 'vue-router'; -- GitLab