mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-05-13 17:46:02 +00:00
Ports the panel/security partial: change-credentials form and 2FA toggle. The 2FA modal is a new shared component since enabling 2FA, disabling 2FA, and changing credentials all funnel through it with slightly different copy. - TwoFactorModal.vue: 'set' flow renders a QR code + manual key + a 6-digit verifier; 'confirm' flow renders just the verifier. The parent passes a confirm(success) callback that fires only when the entered code matches the live TOTP value (otpauth lib). - SecurityTab.vue: holds the local user form (oldUsername/oldPassword/ new*), POSTs /panel/setting/updateUser, and on success force-redirects to logout. When 2FA is on, the credentials change goes through the confirm-modal first. - toggleTwoFactor leaves the switch read-only (the v-bound :checked matches AllSetting) and only flips after the modal succeeds, so cancelling out leaves state unchanged. - Adds otpauth ^9.5.1 dep (qrious was already present). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
30 lines
771 B
JSON
30 lines
771 B
JSON
{
|
|
"name": "x-ui-frontend",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"description": "3x-ui panel frontend (Vue 3 + Ant Design Vue 4). Built with Vite into ../web/dist/ and embedded by the Go binary.",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint src --ext .js,.vue"
|
|
},
|
|
"dependencies": {
|
|
"@ant-design/icons-vue": "^7.0.1",
|
|
"ant-design-vue": "^4.2.6",
|
|
"axios": "^1.7.9",
|
|
"moment": "^2.30.1",
|
|
"otpauth": "^9.5.1",
|
|
"qrious": "^4.0.2",
|
|
"qs": "^6.13.1",
|
|
"vue": "^3.5.13",
|
|
"vue-i18n": "^11.1.4"
|
|
},
|
|
"devDependencies": {
|
|
"@vitejs/plugin-vue": "^6.0.6",
|
|
"eslint": "^9.17.0",
|
|
"eslint-plugin-vue": "^9.32.0",
|
|
"vite": "^8.0.11"
|
|
}
|
|
}
|