Revela-v4/src/components/SettingsContent/ProxyTab.astro
2024-07-29 19:30:30 -05:00

68 lines
3.1 KiB
Text

---
import Input from "@components/UI/Input.astro";
import Dropdown from "@components/UI/Dropdown.astro";
import { i18n } from "@i18n/utils";
const t = i18n.inferLangUseTranslations(Astro.url);
const proxyList = [
{ name: t("settings.proxy.auto"), value: "auto" },
{ name: t("ultraviolet"), value: "ultraviolet" },
{ name: "Rammerhead", value: "rammerhead" },
];
const searchEngineList = [
{ name: "Google", value: "google" },
{ name: "Bing", value: "bing" },
{ name: "Brave", value: "brave" },
{ name: "Searx", value: "searx" },
];
const openPageWith = [
{ name: t("settings.proxy.openPageWith.embed"), value: "embed" },
{ name: "About:Blank", value: "about:blank" },
{ name: t("settings.proxy.openPageWith.newTab"), value: "newTab" },
];
const transportsList = [
{ name: "Epoxy", value: "/epoxy/index.mjs" },
{ name: "Libcurl", value: "/libcurl/index.mjs" },
{ name: "Bare", value: "/baremod/index.mjs" },
];
const wispURLList = [
{ name: "Alu (US)", value: "wss://aluu.xyz/wisp/" },
{ name: "Nebula (US)", value: "wss://nebulaproxy.io/wisp/" },
];
---
<div class="settings-container">
<div class="setting__selected-proxy">
<label for="dropdown__selected-proxy" aria-label="Selected Proxy" class="setting-label">{t("settings.proxy.selectedProxy")}</label>
<Dropdown buttonNameDefault="Ultraviolet" dropdownList={proxyList} localStorageKey="proxy" id="dropdown__selected-proxy" />
</div>
<div class="setting__search-engine">
<label for="dropdown__search-engine" aria-label="Search Engine" class="setting-label">{t("settings.proxy.searchEngine")}</label>
<Dropdown buttonNameDefault="Google" dropdownList={searchEngineList} localStorageKey="search" id="dropdown__search-engine" />
</div>
<div class="setting__open_with">
<label for="dropdown__open-with" aria-label="Open Page With" class="setting-label">{t("settings.proxy.openPageWith")}</label>
<Dropdown buttonNameDefault={t("settings.proxy.openPageWith.embed")} dropdownList={openPageWith} localStorageKey="openpage" id="dropdown__open-with" />
</div>
<div class="setting__wisp_url">
<label for="dropdown__wisp-url" aria-label="Wisp URL" for="dropdown__wisp-url" class="setting-label">{t("settings.proxy.wispURL")}</label>
<Dropdown buttonNameDefault={wispURLList[0].name} dropdownList={wispURLList} localStorageKey="wisp" id="dropdown__wisp-url" />
</div>
<div class="setting__bare_url">
<label aria-label="Bare Server URL" for="bare-url-input" class="setting-label">{t("settings.proxy.bareURL")}</label>
<Input height="50px" inputName="bare-url" />
</div>
<div class="setting__transport">
<label for="dropdown__transport" aria-label="Wisp Transport" class="setting-label">{t("settings.proxy.transport")}</label>
<Dropdown buttonNameDefault="Epoxy" dropdownList={transportsList} localStorageKey="transport" id="dropdown__transport" />
</div>
</div>
<div class="setting__searxng-url">
<label aria-label="SearXNG URL" for="searxng-url-input" class="setting-label">{t("settings.proxy.searxngURL")}</label>
<Input height="50px" inputName="searxng-url" defaultTextContent="https://searxng.site/" />
</div>