diff options
Diffstat (limited to 'web/html/modals')
| -rw-r--r-- | web/html/modals/client_bulk_modal.html | 104 | ||||
| -rw-r--r-- | web/html/modals/client_modal.html | 16 |
2 files changed, 81 insertions, 39 deletions
diff --git a/web/html/modals/client_bulk_modal.html b/web/html/modals/client_bulk_modal.html index 6e61feae..282972f7 100644 --- a/web/html/modals/client_bulk_modal.html +++ b/web/html/modals/client_bulk_modal.html @@ -1,52 +1,75 @@ {{define "modals/clientsBulkModal"}} -<a-modal id="client-bulk-modal" v-model="clientsBulkModal.visible" :title="clientsBulkModal.title" - @ok="clientsBulkModal.ok" :confirm-loading="clientsBulkModal.confirmLoading" :closable="true" :mask-closable="false" - :ok-text="clientsBulkModal.okText" cancel-text='{{ i18n "close" }}' :class="themeSwitcher.currentTheme"> - <a-form :colon="false" :label-col="{ md: {span:8} }" :wrapper-col="{ md: {span:14} }"> +<a-modal id="client-bulk-modal" v-model="clientsBulkModal.visible" + :title="clientsBulkModal.title" + @ok="clientsBulkModal.ok" :confirm-loading="clientsBulkModal.confirmLoading" + :closable="true" :mask-closable="false" + :ok-text="clientsBulkModal.okText" cancel-text='{{ i18n "close" }}' + :class="themeSwitcher.currentTheme"> + <a-form :colon="false" :label-col="{ md: {span:8} }" + :wrapper-col="{ md: {span:14} }"> <a-form-item label='{{ i18n "pages.client.method" }}'> <a-select v-model="clientsBulkModal.emailMethod" buttonStyle="solid" :dropdown-class-name="themeSwitcher.currentTheme"> <a-select-option :value="0">Random</a-select-option> <a-select-option :value="1">Random+Prefix</a-select-option> <a-select-option :value="2">Random+Prefix+Num</a-select-option> - <a-select-option :value="3">Random+Prefix+Num+Postfix</a-select-option> + <a-select-option + :value="3">Random+Prefix+Num+Postfix</a-select-option> <a-select-option :value="4">Prefix+Num+Postfix</a-select-option> </a-select> </a-form-item> - <a-form-item label='{{ i18n "pages.client.first" }}' v-if="clientsBulkModal.emailMethod>1"> - <a-input-number v-model.number="clientsBulkModal.firstNum" :min="1"></a-input-number> + <a-form-item label='{{ i18n "pages.client.first" }}' + v-if="clientsBulkModal.emailMethod>1"> + <a-input-number v-model.number="clientsBulkModal.firstNum" + :min="1"></a-input-number> </a-form-item> - <a-form-item label='{{ i18n "pages.client.last" }}' v-if="clientsBulkModal.emailMethod>1"> - <a-input-number v-model.number="clientsBulkModal.lastNum" :min="clientsBulkModal.firstNum"></a-input-number> + <a-form-item label='{{ i18n "pages.client.last" }}' + v-if="clientsBulkModal.emailMethod>1"> + <a-input-number v-model.number="clientsBulkModal.lastNum" + :min="clientsBulkModal.firstNum"></a-input-number> </a-form-item> - <a-form-item label='{{ i18n "pages.client.prefix" }}' v-if="clientsBulkModal.emailMethod>0"> + <a-form-item label='{{ i18n "pages.client.prefix" }}' + v-if="clientsBulkModal.emailMethod>0"> <a-input v-model.trim="clientsBulkModal.emailPrefix"></a-input> </a-form-item> - <a-form-item label='{{ i18n "pages.client.postfix" }}' v-if="clientsBulkModal.emailMethod>2"> + <a-form-item label='{{ i18n "pages.client.postfix" }}' + v-if="clientsBulkModal.emailMethod>2"> <a-input v-model.trim="clientsBulkModal.emailPostfix"></a-input> </a-form-item> - <a-form-item label='{{ i18n "pages.client.clientCount" }}' v-if="clientsBulkModal.emailMethod < 2"> - <a-input-number v-model.number="clientsBulkModal.quantity" :min="1" :max="500"></a-input-number> + <a-form-item label='{{ i18n "pages.client.clientCount" }}' + v-if="clientsBulkModal.emailMethod < 2"> + <a-input-number v-model.number="clientsBulkModal.quantity" :min="1" + :max="500"></a-input-number> </a-form-item> - <a-form-item label='{{ i18n "security" }}' v-if="inbound.protocol === Protocols.VMESS"> - <a-select v-model="clientsBulkModal.security" :dropdown-class-name="themeSwitcher.currentTheme"> - <a-select-option v-for="key in USERS_SECURITY" :value="key">[[ key ]]</a-select-option> + <a-form-item label='{{ i18n "security" }}' + v-if="inbound.protocol === Protocols.VMESS"> + <a-select v-model="clientsBulkModal.security" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option v-for="key in USERS_SECURITY" :value="key">[[ + key ]]</a-select-option> </a-select> </a-form-item> - <a-form-item label='Flow' v-if="clientsBulkModal.inbound.canEnableTlsFlow()"> - <a-select v-model="clientsBulkModal.flow" :dropdown-class-name="themeSwitcher.currentTheme"> - <a-select-option value="" selected>{{ i18n "none" }}</a-select-option> - <a-select-option v-for="key in TLS_FLOW_CONTROL" :value="key">[[ key ]]</a-select-option> + <a-form-item label='Flow' + v-if="clientsBulkModal.inbound.canEnableTlsFlow()"> + <a-select v-model="clientsBulkModal.flow" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option value selected>{{ i18n "none" + }}</a-select-option> + <a-select-option v-for="key in TLS_FLOW_CONTROL" :value="key">[[ + key ]]</a-select-option> </a-select> </a-form-item> <a-form-item v-if="app.subSettings?.enable"> <template slot="label"> <a-tooltip> <template slot="title"> - <span>{{ i18n "pages.inbounds.subscriptionDesc" }}</span> + <span>{{ i18n "pages.inbounds.subscriptionDesc" + }}</span> </template> Subscription - <a-icon @click="clientsBulkModal.subId = RandomUtil.randomLowerAndNum(16)" type="sync"></a-icon> + <a-icon + @click="clientsBulkModal.subId = RandomUtil.randomLowerAndNum(16)" + type="sync"></a-icon> </a-tooltip> </template> <a-input v-model.trim="clientsBulkModal.subId"></a-input> @@ -61,7 +84,8 @@ <a-icon type="question-circle"></a-icon> </a-tooltip> </template> - <a-input-number :style="{ width: '50%' }" v-model.number="clientsBulkModal.tgId" min="0"></a-input-number> + <a-input-number :style="{ width: '50%' }" + v-model.number="clientsBulkModal.tgId" min="0"></a-input-number> </a-form-item> <a-form-item v-if="app.ipLimitEnable"> <template slot="label"> @@ -73,7 +97,8 @@ <a-icon type="question-circle"></a-icon> </a-tooltip> </template> - <a-input-number v-model.number="clientsBulkModal.limitIp" min="0"></a-input-number> + <a-input-number v-model.number="clientsBulkModal.limitIp" + min="0"></a-input-number> </a-form-item> <a-form-item> <template slot="label"> @@ -85,29 +110,38 @@ <a-icon type="question-circle"></a-icon> </a-tooltip> </template> - <a-input-number v-model.number="clientsBulkModal.totalGB" :min="0"></a-input-number> + <a-input-number v-model.number="clientsBulkModal.totalGB" + :min="0"></a-input-number> </a-form-item> <a-form-item label='{{ i18n "pages.client.delayedStart" }}'> - <a-switch v-model="clientsBulkModal.delayedStart" @click="clientsBulkModal.expiryTime=0"></a-switch> + <a-switch v-model="clientsBulkModal.delayedStart" + @click="clientsBulkModal.expiryTime=0"></a-switch> </a-form-item> - <a-form-item label='{{ i18n "pages.client.expireDays" }}' v-if="clientsBulkModal.delayedStart"> - <a-input-number v-model.number="delayedExpireDays" :min="0"></a-input-number> + <a-form-item label='{{ i18n "pages.client.expireDays" }}' + v-if="clientsBulkModal.delayedStart"> + <a-input-number v-model.number="delayedExpireDays" + :min="0"></a-input-number> </a-form-item> <a-form-item v-else> <template slot="label"> <a-tooltip> <template slot="title"> - <span>{{ i18n "pages.inbounds.leaveBlankToNeverExpire" }}</span> + <span>{{ i18n "pages.inbounds.leaveBlankToNeverExpire" + }}</span> </template> {{ i18n "pages.inbounds.expireDate" }} <a-icon type="question-circle"></a-icon> </a-tooltip> </template> - <a-date-picker v-if="datepicker == 'gregorian'" :show-time="{ format: 'HH:mm:ss' }" - format="YYYY-MM-DD HH:mm:ss" :dropdown-class-name="themeSwitcher.currentTheme" + <a-date-picker v-if="datepicker == 'gregorian'" + :show-time="{ format: 'HH:mm:ss' }" + format="YYYY-MM-DD HH:mm:ss" + :dropdown-class-name="themeSwitcher.currentTheme" v-model="clientsBulkModal.expiryTime"></a-date-picker> - <a-persian-datepicker v-else placeholder='{{ i18n "pages.settings.datepickerPlaceholder" }}' - value="clientsBulkModal.expiryTime" v-model="clientsBulkModal.expiryTime"> + <a-persian-datepicker v-else + placeholder='{{ i18n "pages.settings.datepickerPlaceholder" }}' + value="clientsBulkModal.expiryTime" + v-model="clientsBulkModal.expiryTime"> </a-persian-datepicker> </a-form-item> <a-form-item v-if="clientsBulkModal.expiryTime != 0"> @@ -120,7 +154,8 @@ <a-icon type="question-circle"></a-icon> </a-tooltip> </template> - <a-input-number v-model.number="clientsBulkModal.reset" :min="0"></a-input-number> + <a-input-number v-model.number="clientsBulkModal.reset" + :min="0"></a-input-number> </a-form-item> </a-form> </a-modal> @@ -214,6 +249,7 @@ case Protocols.VLESS: return new Inbound.VLESSSettings.VLESS(); case Protocols.TROJAN: return new Inbound.TrojanSettings.Trojan(); case Protocols.SHADOWSOCKS: return new Inbound.ShadowsocksSettings.Shadowsocks(clientsBulkModal.inbound.settings.shadowsockses[0].method); + case Protocols.HYSTERIA: return new Inbound.HysteriaSettings.Hysteria(); default: return null; } }, diff --git a/web/html/modals/client_modal.html b/web/html/modals/client_modal.html index a5d3e7ac..8ce0e832 100644 --- a/web/html/modals/client_modal.html +++ b/web/html/modals/client_modal.html @@ -1,10 +1,14 @@ {{define "modals/clientsModal"}} -<a-modal id="client-modal" v-model="clientModal.visible" :title="clientModal.title" @ok="clientModal.ok" - :confirm-loading="clientModal.confirmLoading" :closable="true" :mask-closable="false" - :class="themeSwitcher.currentTheme" - :ok-text="clientModal.okText" cancel-text='{{ i18n "close" }}'> +<a-modal id="client-modal" v-model="clientModal.visible" + :title="clientModal.title" @ok="clientModal.ok" + :confirm-loading="clientModal.confirmLoading" :closable="true" + :mask-closable="false" + :class="themeSwitcher.currentTheme" + :ok-text="clientModal.okText" cancel-text='{{ i18n "close" }}'> <template v-if="isEdit"> - <a-tag v-if="isExpiry || isTrafficExhausted" color="red" :style="{ marginBottom: '10px', display: 'block', textAlign: 'center' }">Account is (Expired|Traffic Ended) And Disabled</a-tag> + <a-tag v-if="isExpiry || isTrafficExhausted" color="red" + :style="{ marginBottom: '10px', display: 'block', textAlign: 'center' }">Account + is (Expired|Traffic Ended) And Disabled</a-tag> </template> {{template "form/client"}} </a-modal> @@ -56,6 +60,7 @@ switch (protocol) { case Protocols.TROJAN: return client.password; case Protocols.SHADOWSOCKS: return client.email; + case Protocols.HYSTERIA: return client.auth; default: return client.id; } }, @@ -65,6 +70,7 @@ case Protocols.VLESS: return clients.push(new Inbound.VLESSSettings.VLESS()); case Protocols.TROJAN: return clients.push(new Inbound.TrojanSettings.Trojan()); case Protocols.SHADOWSOCKS: return clients.push(new Inbound.ShadowsocksSettings.Shadowsocks(clients[0].method, RandomUtil.randomShadowsocksPassword(inbound.settings.method))); + case Protocols.HYSTERIA: return clients.push(new Inbound.HysteriaSettings.Hysteria()); default: return null; } }, |
