Files
docker-wireguard/src/app/pages/setup/2.vue
Bernd Storath 86bdbe4c3d Feat: Initial Setup through env vars (#1736)
* 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
2025-03-13 11:28:05 +01:00

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>