3x-ui/frontend/src/pages/xray
MHSanaei 5f3e9ed0ea
feat(xray/nord): searchable server list + colored load tag, surface API errors
Frontend (NordModal.vue):
- Server selector gets show-search with the option label set to
  `${cityName} ${name} ${hostname}` so admins can find a specific
  server inside a 100+ entry country list by typing.
- Each option renders the load as a colored a-tag (green <30%,
  orange 30-70%, red >70%) instead of plain text — quicker visual
  scan when sorting through servers in the dropdown.

Backend (nord.go):
- GetCountries / GetServers now check resp.StatusCode and return
  "NordVPN API error: <status>" on non-200, matching the pattern
  GetCredentials already used. Previously a 4xx/5xx body was
  returned as a "success" string and the frontend silently failed
  to parse it, surfacing only as an empty "No servers found".
- GetCredentials drops its own ad-hoc 10s http.Client and reuses
  the shared nordHTTPClient (15s) — one client, one timeout.
2026-05-11 10:06:01 +02:00
..
BalancerFormModal.vue feat(xray/dns): align DNS settings with Xray docs + UI polish 2026-05-10 17:03:11 +02:00
BalancersTab.vue feat(xray/balancer): restore observatory editor + auto-sync selectors 2026-05-11 00:11:09 +02:00
BasicsTab.vue Vue3 migration (#4198) 2026-05-09 17:47:35 +02:00
DnsPresetsModal.vue feat(xray/dns): align DNS settings with Xray docs + UI polish 2026-05-10 17:03:11 +02:00
DnsServerModal.vue feat(xray/dns): align DNS settings with Xray docs + UI polish 2026-05-10 17:03:11 +02:00
DnsTab.vue add loopback and dns servers tag to inbound lists in RuleFormModal (#4244) 2026-05-11 08:23:30 +02:00
NordModal.vue feat(xray/nord): searchable server list + colored load tag, surface API errors 2026-05-11 10:06:01 +02:00
OutboundFormModal.vue add loopback and dns servers tag to inbound lists in RuleFormModal (#4244) 2026-05-11 08:23:30 +02:00
OutboundsTab.vue add loopback and dns servers tag to inbound lists in RuleFormModal (#4244) 2026-05-11 08:23:30 +02:00
RoutingTab.vue add loopback and dns servers tag to inbound lists in RuleFormModal (#4244) 2026-05-11 08:23:30 +02:00
RuleFormModal.vue feat(xray/dns): align DNS settings with Xray docs + UI polish 2026-05-10 17:03:11 +02:00
useXraySetting.js feat(xray/outbounds): TCP probe mode + Test All + timing breakdown 2026-05-11 04:17:23 +02:00
WarpModal.vue feat(xray/dns): align DNS settings with Xray docs + UI polish 2026-05-10 17:03:11 +02:00
XrayPage.vue feat(xray/outbounds): TCP probe mode + Test All + timing breakdown 2026-05-11 04:17:23 +02:00