diff --git a/frontend/src/pages/api-docs/endpoints.js b/frontend/src/pages/api-docs/endpoints.js index 090246ec..0ad13d24 100644 --- a/frontend/src/pages/api-docs/endpoints.js +++ b/frontend/src/pages/api-docs/endpoints.js @@ -591,6 +591,12 @@ export const sections = [ body: '{\n "inboundIds": [5]\n}', response: '{\n "success": true\n}', }, + { + method: 'POST', + path: '/panel/api/clients/resetAllTraffics', + summary: 'Reset the up/down counters for every client globally. Quotas and expiry are not affected. Triggers an Xray restart if any counter actually moved.', + response: '{\n "success": true\n}', + }, ], }, diff --git a/frontend/src/pages/clients/ClientFormModal.vue b/frontend/src/pages/clients/ClientFormModal.vue index 725e3521..d6fa4a59 100644 --- a/frontend/src/pages/clients/ClientFormModal.vue +++ b/frontend/src/pages/clients/ClientFormModal.vue @@ -104,7 +104,7 @@ function regenerateSubId() { async function onSubmit() { if (!form.email || form.email.trim() === '') { - message.error(t('pages.inbounds.client.email') + ' *'); + message.error(t('pages.clients.email') + ' *'); return; } if (!isEdit.value && (!form.inboundIds || form.inboundIds.length === 0)) { @@ -158,12 +158,12 @@ async function onSubmit() { - - + + - + @@ -182,7 +182,7 @@ async function onSubmit() { - + @@ -201,7 +201,7 @@ async function onSubmit() { - + @@ -209,23 +209,22 @@ async function onSubmit() { - + - + - + - + diff --git a/frontend/src/pages/clients/ClientInfoModal.vue b/frontend/src/pages/clients/ClientInfoModal.vue index 5efb5f43..87303053 100644 --- a/frontend/src/pages/clients/ClientInfoModal.vue +++ b/frontend/src/pages/clients/ClientInfoModal.vue @@ -52,8 +52,7 @@ function close() {