Files
s-ui/frontend/src/components/SimpleDNS.vue
T
admin8800 3eb70ee9ed add
2026-05-10 06:41:44 +00:00

61 lines
1.5 KiB
Vue

<template>
<v-row density="compact">
<v-col cols="12" class="v-card-subtitle" style="margin-top: -5px;">{{ label }}</v-col>
<v-col :cols="data.type == 'local' ? 12 : 4">
<v-select
hide-details
:label="$t('type')"
:items="['udp','tcp','local','tls','quic','h3']"
@update:model-value="updateType($event)"
density="compact"
:class="data.type != 'local' ? 'noGutters' : ''"
v-model="data.type">
</v-select>
</v-col>
<v-col cols="5" v-if="data.type != 'local'">
<v-text-field
v-model="data.server"
:label="$t('in.addr')"
density="compact"
class="noGutters"
hide-details>
</v-text-field>
</v-col>
<v-col cols="3" v-if="data.type != 'local'">
<v-text-field
v-model.number="data.server_port"
:label="$t('in.port')"
density="compact"
type="number"
class="noGutters"
min="1"
hide-details>
</v-text-field>
</v-col>
</v-row>
</template>
<script lang="ts">
export default {
props: ['data', 'label'],
data() {
return {}
},
methods: {
updateType(t:string) {
if (t == 'local') {
delete this.data.server
delete this.data.server_port
}
}
}
}
</script>
<style>
.noGutters .v-field__input,
.noGutters .v-field {
text-align: center !important;
padding-inline-end: 0 !important;
}
</style>