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

dns_presets_modal.html « modals « html « web - github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 03058c9d2cc6fdb9e683a4d6d0d614d69d7d3d70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{{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' }">
      <div class="ant-dns-presets-line">
        <a-space direction="horizontal" size="small" align="center">
          <a-tag :color="dns.family ? 'purple' : 'green'">[[ dns.family ? '{{ i18n "pages.xray.dns.dnsPresetFamily" }}' : 'DNS' ]]</a-tag>
          <span class="ant-dns-presets-list-name">[[ dns.name ]]</span>
        </a-space>
        <a-button class="ant-dns-presets-install" type="primary" @click="dnsPresetsModal.install(dns.data)">{{ i18n "install" }}</a-button>
      </div>
    </a-list-item>
  </a-list>
</a-modal>

<style>
  .ant-dns-presets-line {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
  }

  .ant-dns-presets-install {
    margin-left: auto;
  }

  .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}}