()
| 2024 | } |
| 2025 | |
| 2026 | function restoreBindModeConfig() { |
| 2027 | const modeSelect = document.getElementById("bind-mode-select"); |
| 2028 | const savedMode = String(storage.get(BIND_MODE_STORAGE_KEY, "semi_auto") || "semi_auto"); |
| 2029 | if (modeSelect) { |
| 2030 | modeSelect.value = ALLOWED_BIND_MODES.has(savedMode) ? savedMode : "semi_auto"; |
| 2031 | } |
| 2032 | |
| 2033 | const savedApiUrl = String(storage.get(THIRD_PARTY_BIND_URL_STORAGE_KEY, "") || "").trim(); |
| 2034 | const initialApiUrl = savedApiUrl || THIRD_PARTY_BIND_DEFAULT_URL; |
| 2035 | setInputValue("third-party-api-url", initialApiUrl); |
| 2036 | if (!savedApiUrl) { |
| 2037 | storage.set(THIRD_PARTY_BIND_URL_STORAGE_KEY, initialApiUrl); |
| 2038 | } |
| 2039 | |
| 2040 | const savedVendorCheckout = String(storage.get(VENDOR_CHECKOUT_STORAGE_KEY, "") || "").trim(); |
| 2041 | const savedRedeemCode = normalizeVendorRedeemCode(String(storage.get(VENDOR_REDEEM_STORAGE_KEY, "") || "").trim()); |
| 2042 | setInputValue("vendor-checkout-input", savedVendorCheckout); |
| 2043 | setInputValue("vendor-redeem-input", savedRedeemCode); |
| 2044 | setInputValue( |
| 2045 | "efun-base-url-input", |
| 2046 | String(storage.get(EFUN_BASE_URL_STORAGE_KEY, EFUN_BASE_URL_DEFAULT) || EFUN_BASE_URL_DEFAULT).trim() || EFUN_BASE_URL_DEFAULT |
| 2047 | ); |
| 2048 | setInputValue("efun-api-key-input", String(storage.get(EFUN_API_KEY_STORAGE_KEY, "") || "").trim()); |
| 2049 | setInputValue("efun-code-input", normalizeEfunCode(String(storage.get(EFUN_CODE_STORAGE_KEY, "") || "").trim())); |
| 2050 | |
| 2051 | onBindModeChange(); |
| 2052 | } |
| 2053 | |
| 2054 | function switchPaymentTab(tab) { |
| 2055 | const isLink = tab === "link"; |
no test coverage detected