From 8a80724855ce81035e40f5f2b73b22e9f338765e Mon Sep 17 00:00:00 2001 From: jason5ng32 Date: Sun, 19 Apr 2026 08:31:26 +0800 Subject: [PATCH] Improvements --- frontend/components/DnsLeaksTest.vue | 2 +- frontend/components/SpeedTest.vue | 4 ++-- frontend/components/WebRtcTest.vue | 2 +- frontend/components/advanced-tools/CensorshipCheck.vue | 2 +- frontend/components/advanced-tools/GlobalLatencyTest.vue | 2 +- frontend/components/advanced-tools/MacChecker.vue | 2 +- frontend/components/advanced-tools/MtrTest.vue | 2 +- frontend/components/advanced-tools/RuleTest.vue | 2 +- frontend/components/ip-infos/ASNInfo.vue | 2 +- frontend/{utils => data}/country-name.js | 0 frontend/{utils => data}/speedtest-colos.js | 0 tests/country-name.test.js | 2 +- tests/speedtest-colos.test.js | 2 +- 13 files changed, 12 insertions(+), 12 deletions(-) rename frontend/{utils => data}/country-name.js (100%) rename frontend/{utils => data}/speedtest-colos.js (100%) diff --git a/frontend/components/DnsLeaksTest.vue b/frontend/components/DnsLeaksTest.vue index db6374e4..66e7c3ab 100644 --- a/frontend/components/DnsLeaksTest.vue +++ b/frontend/components/DnsLeaksTest.vue @@ -95,7 +95,7 @@ import countryLookup from 'country-code-lookup'; import { JnTooltip } from '@/components/ui/tooltip'; import { Button } from '@/components/ui/button'; import { Card, CardContent } from '@/components/ui/card'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import { useStatusTone } from '@/composables/use-status-tone.js'; import { Building2, ChevronRight, HeartPulse, MapPin, RotateCw } from 'lucide-vue-next'; import { Icon } from '@iconify/vue'; diff --git a/frontend/components/SpeedTest.vue b/frontend/components/SpeedTest.vue index 936353ac..8314e227 100644 --- a/frontend/components/SpeedTest.vue +++ b/frontend/components/SpeedTest.vue @@ -147,7 +147,7 @@ import { useMainStore } from '@/store'; import { useI18n } from 'vue-i18n'; import { trackEvent } from '@/utils/use-analytics'; import { isValidIP } from '@/utils/valid-ip.js'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import SpeedTestEngine from '@cloudflare/speedtest'; import useSpeedTestCharts from '@/utils/use-speedtest-charts.js'; import { JnTooltip } from '@/components/ui/tooltip'; @@ -263,7 +263,7 @@ const connectionMethods = { if (!isValidIP(ip)) throw new Error('Invalid IP from SpeedTest Server'); - const { default: getColoCountry } = await import('@/utils/speedtest-colos.js'); + const { default: getColoCountry } = await import('@/data/speedtest-colos.js'); return { ip, colo, loc, diff --git a/frontend/components/WebRtcTest.vue b/frontend/components/WebRtcTest.vue index b94ed80d..5ea82d7f 100644 --- a/frontend/components/WebRtcTest.vue +++ b/frontend/components/WebRtcTest.vue @@ -81,7 +81,7 @@ import { useMainStore } from '@/store'; import { useI18n } from 'vue-i18n'; import { trackEvent } from '@/utils/use-analytics'; import { transformDataFromIPapi } from '@/utils/transform-ip-data.js'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import { JnTooltip } from '@/components/ui/tooltip'; import { Button } from '@/components/ui/button'; import { Card, CardContent } from '@/components/ui/card'; diff --git a/frontend/components/advanced-tools/CensorshipCheck.vue b/frontend/components/advanced-tools/CensorshipCheck.vue index 5fdc73f2..f52da24c 100644 --- a/frontend/components/advanced-tools/CensorshipCheck.vue +++ b/frontend/components/advanced-tools/CensorshipCheck.vue @@ -66,7 +66,7 @@ import { ref, computed, h } from 'vue'; import { useMainStore } from '@/store'; import { useI18n } from 'vue-i18n'; import { trackEvent } from '@/utils/use-analytics'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import { Input } from '@/components/ui/input'; import { InputGroup } from '@/components/ui/input-group'; import { Button } from '@/components/ui/button'; diff --git a/frontend/components/advanced-tools/GlobalLatencyTest.vue b/frontend/components/advanced-tools/GlobalLatencyTest.vue index fe138745..82a43192 100644 --- a/frontend/components/advanced-tools/GlobalLatencyTest.vue +++ b/frontend/components/advanced-tools/GlobalLatencyTest.vue @@ -100,7 +100,7 @@ import { ref, computed } from 'vue'; import { useMainStore } from '@/store'; import { useI18n } from 'vue-i18n'; import { trackEvent } from '@/utils/use-analytics'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from '@/components/ui/select'; import { Button } from '@/components/ui/button'; import { Card, CardContent } from '@/components/ui/card'; diff --git a/frontend/components/advanced-tools/MacChecker.vue b/frontend/components/advanced-tools/MacChecker.vue index f1d1cce7..145d9bf4 100644 --- a/frontend/components/advanced-tools/MacChecker.vue +++ b/frontend/components/advanced-tools/MacChecker.vue @@ -87,7 +87,7 @@ import { ref, computed } from 'vue'; import { useMainStore } from '@/store'; import { useI18n } from 'vue-i18n'; import { trackEvent } from '@/utils/use-analytics'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import { CircleCheck, CircleX, Factory, ListChecks } from 'lucide-vue-next'; import { Input } from '@/components/ui/input'; import { InputGroup } from '@/components/ui/input-group'; diff --git a/frontend/components/advanced-tools/MtrTest.vue b/frontend/components/advanced-tools/MtrTest.vue index 2003acab..a857c25c 100644 --- a/frontend/components/advanced-tools/MtrTest.vue +++ b/frontend/components/advanced-tools/MtrTest.vue @@ -65,7 +65,7 @@ import { ref, computed } from 'vue'; import { useMainStore } from '@/store'; import { useI18n } from 'vue-i18n'; import { trackEvent } from '@/utils/use-analytics'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from '@/components/ui/accordion'; import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from '@/components/ui/select'; import { Button } from '@/components/ui/button'; diff --git a/frontend/components/advanced-tools/RuleTest.vue b/frontend/components/advanced-tools/RuleTest.vue index bbec3422..1f737901 100644 --- a/frontend/components/advanced-tools/RuleTest.vue +++ b/frontend/components/advanced-tools/RuleTest.vue @@ -74,7 +74,7 @@ import { ref, computed, onMounted, watch } from 'vue'; import { useMainStore } from '@/store'; import { useI18n } from 'vue-i18n'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import { Button } from '@/components/ui/button'; import { Card, CardContent } from '@/components/ui/card'; import { Spinner } from '@/components/ui/spinner'; diff --git a/frontend/components/ip-infos/ASNInfo.vue b/frontend/components/ip-infos/ASNInfo.vue index 644f0f00..5d33e466 100644 --- a/frontend/components/ip-infos/ASNInfo.vue +++ b/frontend/components/ip-infos/ASNInfo.vue @@ -63,7 +63,7 @@ import { useI18n } from 'vue-i18n'; import { useMainStore } from '@/store'; import { computed } from 'vue'; -import getCountryName from '@/utils/country-name.js'; +import getCountryName from '@/data/country-name.js'; import DataPairBar from './DataPairBar.vue'; import { Badge } from '@/components/ui/badge'; import { Icon } from '@iconify/vue'; diff --git a/frontend/utils/country-name.js b/frontend/data/country-name.js similarity index 100% rename from frontend/utils/country-name.js rename to frontend/data/country-name.js diff --git a/frontend/utils/speedtest-colos.js b/frontend/data/speedtest-colos.js similarity index 100% rename from frontend/utils/speedtest-colos.js rename to frontend/data/speedtest-colos.js diff --git a/tests/country-name.test.js b/tests/country-name.test.js index 1d9856a6..978d0cff 100644 --- a/tests/country-name.test.js +++ b/tests/country-name.test.js @@ -1,7 +1,7 @@ import assert from 'node:assert/strict'; import { describe, it } from 'node:test'; -import getCountryName from '../frontend/utils/country-name.js'; +import getCountryName from '../frontend/data/country-name.js'; describe('getCountryName(abbr, lang)', () => { it('returns English name for known code', () => { diff --git a/tests/speedtest-colos.test.js b/tests/speedtest-colos.test.js index 713fa5e2..882e6c62 100644 --- a/tests/speedtest-colos.test.js +++ b/tests/speedtest-colos.test.js @@ -1,7 +1,7 @@ import assert from 'node:assert/strict'; import { describe, it } from 'node:test'; -import getColoCountry from '../frontend/utils/speedtest-colos.js'; +import getColoCountry from '../frontend/data/speedtest-colos.js'; describe('getColoCountry(abbr)', () => { it('returns country + city for a known Cloudflare PoP', () => {