mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-19 13:32:24 +00:00

* refactor: use vue inline styles in entire application * refactor: setting row in dashboard page * refactor: use blob for download file in text modal * refactor: move all html templates in `web/html` folder * refactor: `DeviceUtils` -> `MediaQueryMixin` The transition to mixins has been made, as they can update themselves. * chore: pretty right buttons in `outbounds` tab in xray settings * refactor: add translations for system status * refactor: adjust gutter spacing in setting list item * refactor: use native `a-input-password` for password field * chore: return old system status with new translations * chore: add missing translation
50 lines
2.1 KiB
HTML
50 lines
2.1 KiB
HTML
{{define "form/trojan"}}
|
|
<a-collapse activeKey="0" v-for="(client, index) in inbound.settings.trojans.slice(0,1)" v-if="!isEdit">
|
|
<a-collapse-panel header='{{ i18n "pages.inbounds.client" }}'>
|
|
{{template "form/client"}}
|
|
</a-collapse-panel>
|
|
</a-collapse>
|
|
<a-collapse v-else>
|
|
<a-collapse-panel :header="'{{ i18n "pages.client.clientCount"}} : ' + inbound.settings.trojans.length">
|
|
<table width="100%">
|
|
<tr class="client-table-header">
|
|
<th>{{ i18n "pages.inbounds.email" }}</th>
|
|
<th>Password</th>
|
|
</tr>
|
|
<tr v-for="(client, index) in inbound.settings.trojans" :class="index % 2 == 1 ? 'client-table-odd-row' : ''">
|
|
<td>[[ client.email ]]</td>
|
|
<td>[[ client.password ]]</td>
|
|
</tr>
|
|
</table>
|
|
</a-collapse-panel>
|
|
</a-collapse>
|
|
<template v-if="inbound.isTcp">
|
|
<a-form :colon="false" :label-col="{ md: {span:8} }" :wrapper-col="{ md: {span:14} }">
|
|
<a-form-item label="Fallbacks">
|
|
<a-button icon="plus" type="primary" size="small" @click="inbound.settings.addFallback()"></a-button>
|
|
</a-form-item>
|
|
</a-form>
|
|
|
|
<!-- trojan fallbacks -->
|
|
<a-form v-for="(fallback, index) in inbound.settings.fallbacks" :colon="false" :label-col="{ md: {span:8} }" :wrapper-col="{ md: {span:14} }">
|
|
<a-divider :style="{ margin: '0' }"> Fallback [[ index + 1 ]] <a-icon type="delete" @click="() => inbound.settings.delFallback(index)" :style="{ color: 'rgb(255, 77, 79)', cursor: 'pointer' }"></a-icon>
|
|
</a-divider>
|
|
<a-form-item label='SNI'>
|
|
<a-input v-model="fallback.name"></a-input>
|
|
</a-form-item>
|
|
<a-form-item label='ALPN'>
|
|
<a-input v-model="fallback.alpn"></a-input>
|
|
</a-form-item>
|
|
<a-form-item label='Path'>
|
|
<a-input v-model="fallback.path"></a-input>
|
|
</a-form-item>
|
|
<a-form-item label='Dest'>
|
|
<a-input v-model="fallback.dest"></a-input>
|
|
</a-form-item>
|
|
<a-form-item label='xVer'>
|
|
<a-input-number v-model.number="fallback.xver" :min="0" :max="2"></a-input-number>
|
|
</a-form-item>
|
|
</a-form>
|
|
<a-divider style="margin:5px 0;"></a-divider>
|
|
</template>
|
|
{{end}}
|