diff --git a/resources/js_vue3/assets/app.scss b/resources/js_vue3/assets/app.scss
index 67fb8268..8c7962aa 100644
--- a/resources/js_vue3/assets/app.scss
+++ b/resources/js_vue3/assets/app.scss
@@ -871,15 +871,15 @@ button.button.tag.is-white,
background-color: $success-dark;
}
-.is-mid-width-field input {
+.is-mid-width-field {
width: 50% !important;
}
-.is-half-width-field input {
+.is-half-width-field {
width: 50% !important;
}
-.is-third-width-field input {
+.is-third-width-field {
width: 33% !important;
}
diff --git a/resources/js_vue3/components/formElements/FormLockField.vue b/resources/js_vue3/components/formElements/FormLockField.vue
new file mode 100644
index 00000000..dab3cf86
--- /dev/null
+++ b/resources/js_vue3/components/formElements/FormLockField.vue
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/js_vue3/router/index.js b/resources/js_vue3/router/index.js
index bd2d6096..1a04e6b4 100644
--- a/resources/js_vue3/router/index.js
+++ b/resources/js_vue3/router/index.js
@@ -3,29 +3,29 @@ import middlewarePipeline from "@/router/middlewarePipeline";
import { useUserStore } from '@/stores/user'
import { useTwofaccounts } from '@/stores/twofaccounts'
-import Start from '../views/Start.vue'
-import Accounts from '../views/Accounts.vue'
-import Capture from '../views/twofaccounts/Capture.vue'
-import CreateAccount from '../views/twofaccounts/Create.vue'
-import EditAccount from '../views/twofaccounts/Edit.vue'
-import ImportAccount from '../views/twofaccounts/Import.vue'
-import QRcodeAccount from '../views/twofaccounts/QRcode.vue'
-import Groups from '../views/groups/Groups.vue'
-import CreateUpdateGroup from '../views/groups/CreateUpdate.vue'
-import Login from '../views/auth/Login.vue'
-import Register from '../views/auth/Register.vue'
-// import Autolock from './views/auth/Autolock.vue'
-import PasswordRequest from '../views/auth/password/Request.vue'
-// import PasswordReset from './views/auth/password/Reset.vue'
-import WebauthnLost from '../views/auth/webauthn/Lost.vue'
-// import WebauthnRecover from './views/auth/webauthn/Recover.vue'
-import SettingsOptions from '../views/settings/Options.vue'
-import SettingsAccount from '../views/settings/Account.vue'
-import SettingsOAuth from '../views/settings/OAuth.vue'
-import SettingsWebAuthn from '../views/settings/WebAuthn.vue'
-import EditCredential from '../views/settings/Credentials/Edit.vue'
-import Errors from '../views/Error.vue'
-import About from '../views/About.vue'
+import Start from '../views/Start.vue'
+import Accounts from '../views/Accounts.vue'
+import Capture from '../views/twofaccounts/Capture.vue'
+import CreateUpdateAccount from '../views/twofaccounts/CreateUpdate.vue'
+import EditAccount from '../views/twofaccounts/Edit.vue'
+import ImportAccount from '../views/twofaccounts/Import.vue'
+import QRcodeAccount from '../views/twofaccounts/QRcode.vue'
+import Groups from '../views/groups/Groups.vue'
+import CreateUpdateGroup from '../views/groups/CreateUpdate.vue'
+import Login from '../views/auth/Login.vue'
+import Register from '../views/auth/Register.vue'
+// import Autolock from './views/auth/Autolock.vue'
+import PasswordRequest from '../views/auth/password/Request.vue'
+// import PasswordReset from './views/auth/password/Reset.vue'
+import WebauthnLost from '../views/auth/webauthn/Lost.vue'
+// import WebauthnRecover from './views/auth/webauthn/Recover.vue'
+import SettingsOptions from '../views/settings/Options.vue'
+import SettingsAccount from '../views/settings/Account.vue'
+import SettingsOAuth from '../views/settings/OAuth.vue'
+import SettingsWebAuthn from '../views/settings/WebAuthn.vue'
+import EditCredential from '../views/settings/Credentials/Edit.vue'
+import Errors from '../views/Error.vue'
+import About from '../views/About.vue'
import authGuard from './middlewares/authGuard'
import starter from './middlewares/starter'
@@ -38,9 +38,9 @@ const router = createRouter({
{ path: '/capture', name: 'capture', component: Capture, meta: { middlewares: [authGuard] } },
{ path: '/accounts', name: 'accounts', component: Accounts, meta: { middlewares: [authGuard, starter] }, alias: '/' },
- { path: '/account/create', name: 'createAccount', component: CreateAccount, meta: { middlewares: [authGuard] } },
+ { path: '/account/create', name: 'createAccount', component: CreateUpdateAccount, meta: { middlewares: [authGuard] } },
{ path: '/account/import', name: 'importAccounts', component: ImportAccount, meta: { middlewares: [authGuard] } },
- { path: '/account/:twofaccountId/edit', name: 'editAccount', component: EditAccount, meta: { middlewares: [authGuard] } },
+ { path: '/account/:twofaccountId/edit', name: 'editAccount', component: CreateUpdateAccount, meta: { middlewares: [authGuard] }, props: true },
{ path: '/account/:twofaccountId/qrcode', name: 'showQRcode', component: QRcodeAccount, meta: { middlewares: [authGuard] } },
{ path: '/groups', name: 'groups', component: Groups, meta: { middlewares: [authGuard] }, props: true },
diff --git a/resources/js_vue3/views/twofaccounts/Create.vue b/resources/js_vue3/views/twofaccounts/CreateUpdate.vue
similarity index 86%
rename from resources/js_vue3/views/twofaccounts/Create.vue
rename to resources/js_vue3/views/twofaccounts/CreateUpdate.vue
index be2af58d..6ca42607 100644
--- a/resources/js_vue3/views/twofaccounts/Create.vue
+++ b/resources/js_vue3/views/twofaccounts/CreateUpdate.vue
@@ -1,6 +1,7 @@