feat: show explaination on register and login page

This commit is contained in:
Bnyro 2023-09-14 17:24:00 +02:00
parent 859908cb1f
commit 7c32201cb0
5 changed files with 46 additions and 6 deletions

View File

@ -1,8 +1,8 @@
<template> <template>
<h1 v-t="'titles.login'" class="my-4 text-center font-bold" /> <h1 v-t="'titles.login'" class="my-4 text-center font-bold" />
<hr /> <hr />
<div class="text-center"> <div class="w-full flex items-center justify-center text-center">
<form class="children:pb-3"> <form class="w-min children:pb-3">
<div> <div>
<input <input
v-model="username" v-model="username"
@ -28,12 +28,18 @@
<div> <div>
<a v-t="'titles.login'" class="btn w-auto" @click="login" /> <a v-t="'titles.login'" class="btn w-auto" @click="login" />
</div> </div>
<TooltipIcon icon="i-fa6-solid:circle-info" :tooltip="$t('info.login_note')" />
</form> </form>
</div> </div>
</template> </template>
<script> <script>
import TooltipIcon from "./TooltipIcon.vue";
export default { export default {
components: {
TooltipIcon,
},
data() { data() {
return { return {
username: null, username: null,

View File

@ -0,0 +1 @@

View File

@ -1,8 +1,8 @@
<template> <template>
<h1 v-t="'titles.register'" class="my-4 text-center font-bold" /> <h1 v-t="'titles.register'" class="my-4 text-center font-bold" />
<hr /> <hr />
<div class="flex justify-center text-center"> <div class="flex flex-col items-center justify-center text-center">
<form class="items-center px-3 children:pb-3"> <form class="w-max items-center px-3 children:pb-3">
<div> <div>
<input <input
v-model="username" v-model="username"
@ -45,6 +45,7 @@
<div> <div>
<a v-t="'titles.register'" class="btn w-auto" @click="register" /> <a v-t="'titles.register'" class="btn w-auto" @click="register" />
</div> </div>
<TooltipIcon icon="i-fa6-solid:circle-info" :tooltip="$t('info.register_note')" />
</form> </form>
</div> </div>
<ConfirmModal <ConfirmModal
@ -62,9 +63,10 @@
<script> <script>
import { isEmail } from "../utils/Misc.js"; import { isEmail } from "../utils/Misc.js";
import ConfirmModal from "./ConfirmModal.vue"; import ConfirmModal from "./ConfirmModal.vue";
import TooltipIcon from "./TooltipIcon.vue";
export default { export default {
components: { ConfirmModal }, components: { ConfirmModal, TooltipIcon },
data() { data() {
return { return {
username: null, username: null,

View File

@ -0,0 +1,29 @@
<template>
<div id="container" class="w-full">
<div :class="icon" class="cursor-pointer"></div>
<p id="tooltip" class="absolute mr-[20vw] mt-2 hidden rounded-l bg-gray-800 px-2 py-1 text-gray-200">
{{ tooltip }}
</p>
</div>
</template>
<script>
export default {
props: {
icon: {
type: String, // the class name of a font awesome icon
required: true,
},
tooltip: {
type: String,
required: true,
},
},
};
</script>
<style>
#container:hover #tooltip {
display: block;
}
</style>

View File

@ -212,6 +212,8 @@
"hours": "{amount} hour(s)", "hours": "{amount} hour(s)",
"days": "{amount} day(s)", "days": "{amount} day(s)",
"weeks": "{amount} week(s)", "weeks": "{amount} week(s)",
"months": "{amount} month(s)" "months": "{amount} month(s)",
"register_note": "Register an account for this Piped instance. That allows you to sync your subscriptions and playlists with your account, hence they're saved on server side. You can use all features without an account too, however all data will only be stored in the local storage of the browser then. Please make sure to NOT use an email address as username, and to choose a safe password.",
"login_note": "Log in with an account that was created at this instance."
} }
} }