minor changes

Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
Co-Authored-By: Tara Rostami <132676256+TaraRostami@users.noreply.github.com>
This commit is contained in:
MHSanaei 2024-02-22 23:12:26 +03:30
parent fc3ea2dd4b
commit 81c9b4450b
6 changed files with 26 additions and 10 deletions

View file

@ -124,4 +124,3 @@ jobs:
file: x-ui-linux-${{ matrix.platform }}.tar.gz file: x-ui-linux-${{ matrix.platform }}.tar.gz
asset_name: x-ui-linux-${{ matrix.platform }}.tar.gz asset_name: x-ui-linux-${{ matrix.platform }}.tar.gz
prerelease: true prerelease: true
draft: true

View file

@ -1171,3 +1171,7 @@ b, strong {
background-color: var(--dark-color-btn-danger-hover); background-color: var(--dark-color-btn-danger-hover);
border-color: var(--dark-color-btn-danger-hover); border-color: var(--dark-color-btn-danger-hover);
} }
.dark .ant-alert-close-icon .anticon-close:hover {
color: rgb(255 255 255);
}

View file

@ -186,7 +186,7 @@
</a-radio-group> </a-radio-group>
</div> </div>
<a-back-top></a-back-top> <a-back-top></a-back-top>
<a-table :columns="isMobile ? mobileColums : columns" :row-key="dbInbound => dbInbound.id" <a-table :columns="isMobile ? mobileColumns : columns" :row-key="dbInbound => dbInbound.id"
:data-source="searchedInbounds" :data-source="searchedInbounds"
:scroll="isMobile ? {} : { x: 1000 }" :scroll="isMobile ? {} : { x: 1000 }"
:pagination=pagination(searchedInbounds) :pagination=pagination(searchedInbounds)
@ -508,7 +508,7 @@
scopedSlots: { customRender: 'expiryTime' }, scopedSlots: { customRender: 'expiryTime' },
}]; }];
const mobileColums = [{ const mobileColumns = [{
title: "ID", title: "ID",
align: 'right', align: 'right',
dataIndex: "id", dataIndex: "id",

View file

@ -393,6 +393,10 @@
<td>Port</td> <td>Port</td>
<td><a-tag color="green" v-for="r in rule.port.split(',')">[[ r ]]</a-tag></td> <td><a-tag color="green" v-for="r in rule.port.split(',')">[[ r ]]</a-tag></td>
</tr> </tr>
<tr v-if="rule.balancerTag">
<td>Balancer Tag</td>
<td><a-tag color="blue">[[ rule.balancerTag ]]</a-tag></td>
</tr>
</table> </table>
</template> </template>
<a-button shape="round" size="small" style="font-size: 14px; padding: 0 10px;"> <a-button shape="round" size="small" style="font-size: 14px; padding: 0 10px;">

View file

@ -23,7 +23,8 @@
<a-select-option value="roundRobin">Round Robin</a-select-option> <a-select-option value="roundRobin">Round Robin</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item label='{{ i18n "pages.xray.balancer.balancerSelectors" }}' has-feedback :validate-status="balancerModal.emptySelector? 'warning' : 'success'"> <a-form-item label='{{ i18n "pages.xray.balancer.balancerSelectors" }}' has-feedback
:validate-status="balancerModal.emptySelector? 'warning' : 'success'">
<a-select v-model="balancerModal.balancer.selector" mode="tags" @change="balancerModal.checkSelector()" <a-select v-model="balancerModal.balancer.selector" mode="tags" @change="balancerModal.checkSelector()"
:dropdown-class-name="themeSwitcher.currentTheme"> :dropdown-class-name="themeSwitcher.currentTheme">
<a-select-option v-for="tag in balancerModal.outboundTags" :value="tag">[[ tag ]]</a-select-option> <a-select-option v-for="tag in balancerModal.outboundTags" :value="tag">[[ tag ]]</a-select-option>
@ -74,17 +75,18 @@
this.balancerTags = balancerTags.filter((tag) => tag != balancer.tag); this.balancerTags = balancerTags.filter((tag) => tag != balancer.tag);
this.outboundTags = app.templateSettings.outbounds.filter((o) => !ObjectUtil.isEmpty(o.tag)).map(obj => obj.tag); this.outboundTags = app.templateSettings.outbounds.filter((o) => !ObjectUtil.isEmpty(o.tag)).map(obj => obj.tag);
this.isEdit = isEdit; this.isEdit = isEdit;
this.check() this.check();
this.checkSelector();
}, },
close() { close() {
balancerModal.visible = false; this.visible = false;
balancerModal.loading(false); this.loading(false);
}, },
loading(loading=true) { loading(loading=true) {
balancerModal.confirmLoading = loading; this.confirmLoading = loading;
}, },
check() { check() {
if (balancerModal.balancer.tag == '' || balancerModal.balancerTags.includes(balancerModal.balancer.tag)) { if (this.balancer.tag == '' || this.balancerTags.includes(this.balancer.tag)) {
this.duplicateTag = true; this.duplicateTag = true;
this.isValid = false; this.isValid = false;
} else { } else {
@ -93,7 +95,7 @@
} }
}, },
checkSelector() { checkSelector() {
balancerModal.emptySelector = balancerModal.balancer.selector.length == 0; this.emptySelector = this.balancer.selector.length == 0;
} }
}; };

View file

@ -1900,6 +1900,13 @@ func (s *InboundService) MigrationRequirements() {
newStream, _ := json.MarshalIndent(stream, " ", " ") newStream, _ := json.MarshalIndent(stream, " ", " ")
tx.Model(model.Inbound{}).Where("id = ?", ep.Id).Update("stream_settings", newStream) tx.Model(model.Inbound{}).Where("id = ?", ep.Id).Update("stream_settings", newStream)
} }
err = tx.Raw(`UPDATE inbounds
SET tag = REPLACE(tag, '0.0.0.0:', '')
WHERE INSTR(tag, '0.0.0.0:') > 0;`).Error
if err != nil {
return
}
} }
func (s *InboundService) MigrateDB() { func (s *InboundService) MigrateDB() {