Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/html/modals/dns_presets_modal.html')
-rw-r--r--web/html/modals/dns_presets_modal.html110
1 files changed, 110 insertions, 0 deletions
diff --git a/web/html/modals/dns_presets_modal.html b/web/html/modals/dns_presets_modal.html
new file mode 100644
index 00000000..010b973a
--- /dev/null
+++ b/web/html/modals/dns_presets_modal.html
@@ -0,0 +1,110 @@
+{{define "modals/dnsPresetsModal"}}
+<a-modal id="dnsPresets-modal" v-model="dnsPresetsModal.visible" :title="dnsPresetsModal.title" :closable="true"
+ :mask-closable="false" :footer="null" :class="themeSwitcher.currentTheme">
+ <a-list class="ant-dns-presets-list" bordered :style="{ width: '100%' }">
+ <a-list-item v-for="dns in dnsPresetsDatabase" :style="{ padding: '12px 16px' }">
+ <a-row justify="space-between" align="middle">
+ <a-col :span="12">
+ <a-space direction="vertical" size="small">
+ <span class="ant-dns-presets-list-name">[[ dns.name ]]</span>
+ <a-tag :color="dns.family ? 'purple' : 'green'">[[ dns.family ? '{{ i18n "pages.xray.dns.dnsPresetFamily" }}' : 'DNS' ]]</a-tag>
+ </a-space>
+ </a-col>
+ <a-col :span="12" :style="{ textAlign: 'right' }">
+ <a-button type="primary" @click="dnsPresetsModal.install(dns.data)">{{ i18n "install" }}</a-button>
+ </a-col>
+ </a-row>
+ </a-list-item>
+ </a-list>
+</a-modal>
+
+<style>
+ .dark .ant-dns-presets-list {
+ border-color: var(--dark-color-stroke)
+ }
+
+ .dark .ant-dns-presets-list-name {
+ color: var(--dark-color-text-primary);
+ }
+</style>
+
+<script>
+ const dnsPresetsDatabase = [
+ {
+ name: 'Google DNS',
+ family: false,
+ data: [
+ "8.8.8.8",
+ "8.8.4.4",
+ "2001:4860:4860::8888",
+ "2001:4860:4860::8844"
+ ]
+ },
+ {
+ name: 'Cloudflare DNS',
+ family: false,
+ data: [
+ "1.1.1.1",
+ "1.0.0.1",
+ "2606:4700:4700::1111",
+ "2606:4700:4700::1001"
+ ]
+ },
+ {
+ name: 'Adguard DNS',
+ family: false,
+ data: [
+ "94.140.14.14",
+ "94.140.15.15",
+ "2a10:50c0::ad1:ff",
+ "2a10:50c0::ad2:ff"
+ ]
+ },
+ {
+ name: 'Adguard Family DNS',
+ family: true,
+ data: [
+ "94.140.14.14",
+ "94.140.15.15",
+ "2a10:50c0::ad1:ff",
+ "2a10:50c0::ad2:ff"
+ ]
+ },
+ {
+ name: 'Cloudflare Family DNS',
+ family: true,
+ data: [
+ "1.1.1.3",
+ "1.0.0.3",
+ "2606:4700:4700::1113",
+ "2606:4700:4700::1003"
+ ]
+ }
+ ]
+
+ const dnsPresetsModal = {
+ title: '',
+ visible: false,
+ selected: null,
+ install(selectedPreset) {
+ return ObjectUtil.execute(dnsPresetsModal.selected, selectedPreset);
+ },
+ show({ title = '', selected = (selectedPreset) => { }, isEdit = false }) {
+ this.title = title;
+ this.selected = selected;
+ this.visible = true;
+ },
+ close() {
+ dnsPresetsModal.visible = false;
+ },
+ };
+
+ new Vue({
+ delimiters: ['[[', ']]'],
+ el: '#dnsPresets-modal',
+ data: {
+ dnsPresetsModal: dnsPresetsModal,
+ }
+ });
+</script>
+{{end}} \ No newline at end of file