Browse Source

update: me page

pull/1397/head
tetuaoro 7 months ago
committed by Bernd Storath
parent
commit
117773e6c7
  1. 8
      src/app/components/panel/head/Title.vue
  2. 200
      src/app/pages/me.vue
  3. 4
      src/locales/en.json

8
src/app/components/panel/head/Title.vue

@ -1,5 +1,11 @@
<script setup lang="ts">
const _props = defineProps<{
text: string;
}>();
</script>
<template> <template>
<h3 class="flex-1 text-2xl font-medium dark:text-neutral-200"> <h3 class="flex-1 text-2xl font-medium dark:text-neutral-200">
<slot /> {{ text }}
</h3> </h3>
</template> </template>

200
src/app/pages/me.vue

@ -2,115 +2,99 @@
<main> <main>
<Panel> <Panel>
<PanelHead> <PanelHead>
<PanelHeadTitle> <PanelHeadTitle :text="$t('pages.me')" />
{{ $t('pages.me') }}
</PanelHeadTitle>
</PanelHead> </PanelHead>
<PanelBody> <PanelBody class="dark:text-neutral-200">
<table> <section class="grid grid-cols-1 gap-4 md:grid-cols-2">
<tbody> <h4 class="text-2xl col-span-full py-6">
<tr> {{ $t('me.sectionGeneral') }}
<td> </h4>
<Label <Label
class="font-semibold dark:text-neutral-200" for="username"
for="username" class="font-semibold md:align-middle md:leading-10"
> >
{{ $t('username') }} {{ $t('username') }}
</Label> </Label>
</td> <input
<td> id="username"
<input id="username" v-model.trim="username" type="text" /> v-model.trim="username"
</td> type="text"
</tr> class="dark:bg-neutral-700 text-gray-500 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-800 rounded-lg focus:border-red-800 dark:placeholder:text-neutral-400 focus:outline-0 focus:ring-0"
<tr> />
<td> <Label for="name" class="font-semibold md:align-middle md:leading-10">
<Label class="font-semibold dark:text-neutral-200" for="name"> {{ $t('name') }}
{{ $t('name') }} </Label>
</Label> <input
</td> id="name"
<td> v-model.trim="name"
<input id="name" v-model.trim="name" type="text" /> type="text"
</td> class="dark:bg-neutral-700 text-gray-500 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-800 rounded-lg focus:border-red-800 dark:placeholder:text-neutral-400 focus:outline-0 focus:ring-0"
</tr> />
<tr> <Label
<td> for="email"
<Label class="font-semibold dark:text-neutral-200" for="name"> class="font-semibold md:align-middle md:leading-10"
{{ $t('email') }} >
</Label> {{ $t('email') }}
</td> </Label>
<td> <input
<input id="name" v-model.trim="email" type="text" /> id="email"
</td> v-model.trim="email"
</tr> type="email"
<tr colspan="2"> class="dark:bg-neutral-700 text-gray-500 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-800 rounded-lg focus:border-red-800 dark:placeholder:text-neutral-400 focus:outline-0 focus:ring-0"
<td> />
<BaseButton @click="submit">{{ $t('save') }}</BaseButton> <div class="col-span-full">
</td> <BaseButton @click="submit">{{ $t('save') }}</BaseButton>
</tr> </div>
<tr> </section>
<td> <section class="grid grid-cols-1 gap-4 md:grid-cols-2">
<Label <h4 class="text-2xl col-span-full py-6">
class="font-semibold dark:text-neutral-200" {{ $t('me.sectionPassword') }}
for="current-password" </h4>
> <Label
{{ $t('currentPassword') }} for="current-password"
</Label> class="font-semibold md:align-middle md:leading-10"
</td> >
<td> {{ $t('currentPassword') }}
<input </Label>
id="current-password" <input
v-model.trim="currentPassword" id="current-password"
type="password" v-model.trim="currentPassword"
autocomplete="current-password" type="password"
/> autocomplete="current-password"
</td> class="dark:bg-neutral-700 text-gray-500 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-800 rounded-lg focus:border-red-800 dark:placeholder:text-neutral-400 focus:outline-0 focus:ring-0"
</tr> />
<tr> <Label
<td> for="new-password"
<Label class="font-semibold md:align-middle md:leading-10"
class="font-semibold dark:text-neutral-200" >
for="new-password" {{ $t('setup.newPassword') }}
> </Label>
{{ $t('setup.newPassword') }} <input
</Label> id="new-password"
</td> v-model.trim="newPassword"
<td> type="password"
<input autocomplete="new-password"
id="new-password" class="dark:bg-neutral-700 text-gray-500 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-800 rounded-lg focus:border-red-800 dark:placeholder:text-neutral-400 focus:outline-0 focus:ring-0"
v-model.trim="newPassword" />
type="password" <Label
autocomplete="new-password" for="confirm-password"
/> class="font-semibold md:align-middle md:leading-10"
</td> >
</tr> {{ $t('confirmPassword') }}
</Label>
<tr> <input
<td> id="confirm-password"
<Label v-model.trim="confirmPassword"
class="font-semibold dark:text-neutral-200" type="password"
for="confirm-password" autocomplete="new-password"
> class="dark:bg-neutral-700 text-gray-500 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-800 rounded-lg focus:border-red-800 dark:placeholder:text-neutral-400 focus:outline-0 focus:ring-0"
{{ $t('confirmPassword') }} />
</Label> <div class="col-span-full">
</td> <BaseButton @click="updatePassword">{{
<td> $t('updatePassword')
<input }}</BaseButton>
id="confirm-password" </div>
v-model.trim="confirmPassword" </section>
type="password"
autocomplete="new-password"
/>
</td>
</tr>
<tr colspan="2">
<td>
<BaseButton @click="updatePassword">{{
$t('updatePassword')
}}</BaseButton>
</td>
</tr>
</tbody>
</table>
</PanelBody> </PanelBody>
</Panel> </Panel>
</main> </main>

4
src/locales/en.json

@ -3,6 +3,10 @@
"me": "Account", "me": "Account",
"clients": "Clients" "clients": "Clients"
}, },
"me": {
"sectionGeneral": "General",
"sectionPassword": "Password"
},
"email": "E-Mail", "email": "E-Mail",
"save": "Save", "save": "Save",
"updatePassword": "Update Password", "updatePassword": "Update Password",

Loading…
Cancel
Save