* initial support for initial setup * improve setup * improve mobile view * move base admin route * admin panel mobile view * set initial host and port * add docs * properly setup everything, use for dev env * change userconfig and interface port on setup, note users afterwards
73 lines
1.6 KiB
Vue
73 lines
1.6 KiB
Vue
<template>
|
|
<div>
|
|
<p class="text-center text-lg">
|
|
{{ $t('setup.createAdminDesc') }}
|
|
</p>
|
|
<div class="mt-8 flex flex-col gap-3">
|
|
<div class="flex flex-col">
|
|
<FormNullTextField
|
|
id="username"
|
|
v-model="username"
|
|
autocomplete="username"
|
|
:label="$t('general.username')"
|
|
/>
|
|
</div>
|
|
<div class="flex flex-col">
|
|
<FormPasswordField
|
|
id="password"
|
|
v-model="password"
|
|
autocomplete="new-password"
|
|
:label="$t('general.password')"
|
|
/>
|
|
</div>
|
|
<div class="flex flex-col">
|
|
<FormPasswordField
|
|
id="confirmPassword"
|
|
v-model="confirmPassword"
|
|
autocomplete="new-password"
|
|
:label="$t('general.confirmPassword')"
|
|
/>
|
|
</div>
|
|
<div class="mt-4 flex justify-center">
|
|
<BaseButton @click="submit">{{ $t('setup.createAccount') }}</BaseButton>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
definePageMeta({
|
|
layout: 'setup',
|
|
});
|
|
|
|
const setupStore = useSetupStore();
|
|
setupStore.setStep(2);
|
|
|
|
const username = ref<null | string>(null);
|
|
const password = ref<string>('');
|
|
const confirmPassword = ref<string>('');
|
|
|
|
const _submit = useSubmit(
|
|
'/api/setup/2',
|
|
{
|
|
method: 'post',
|
|
},
|
|
{
|
|
revert: async (success) => {
|
|
if (success) {
|
|
await navigateTo('/setup/3');
|
|
}
|
|
},
|
|
noSuccessToast: true,
|
|
}
|
|
);
|
|
|
|
function submit() {
|
|
return _submit({
|
|
username: username.value,
|
|
password: password.value,
|
|
confirmPassword: confirmPassword.value,
|
|
});
|
|
}
|
|
</script>
|