import { applyLang, bindHeader, connectToApp, createMask, get, getUserId, post, t, toast } from "../bd-static/shared.js"; let ways = []; let cards = []; let form = { userId: getUserId(), cardType: "", cardName: "", cardNo: "", payee: "" }; bindHeader("bank_card"); applyLang(); document.getElementById("addButton").addEventListener("click", openAddSheet); connectToApp().then(loadData); async function loadData() { try { const [wayResponse, cardResponse] = await Promise.all([get("/wallet/bank/withdrawal_ways"), get("/wallet/bank-card/list")]); ways = wayResponse.body || []; cards = cardResponse.body || []; render(); } catch (error) { toast(error.response?.errorMsg || error.message); } } function render() { const current = cards.find((item) => item.use); document.getElementById("currentCard").innerHTML = current ? `
${t("payee")}: ${current.payee || "-"}
${t("card_number")}: ${current.cardNo || "-"}
` : `
${t("no_bank_cards_in_use")}
`; const list = document.getElementById("cardList"); list.innerHTML = ""; if (!cards.length) { list.innerHTML = `
${t("no_bank_cards_added")}
`; return; } cards.forEach((item) => { const card = document.createElement("article"); card.className = "card card-pad"; card.style.marginBottom = "10px"; card.innerHTML = `
${t("payee")}: ${item.payee || "-"}
${t("card_number")}: ${item.cardNo || "-"}
${item.use ? `` : ``}
`; card.querySelector("[data-delete]").addEventListener("click", () => deleteCard(item.id)); const use = card.querySelector("[data-use]"); if (use) use.addEventListener("click", () => useCard(item.id)); list.appendChild(card); }); } function openAddSheet() { form = { userId: getUserId(), cardType: "", cardName: "", cardNo: "", payee: "" }; const sheet = document.createElement("section"); sheet.className = "sheet"; sheet.innerHTML = `
${t("add_new_payment_method")}
${t("withdrawal_method")}:
${t("card_number")}:
${t("payee")}:
`; createMask(sheet); const type = sheet.querySelector("#cardType"); type.addEventListener("change", () => { form.cardType = type.value; form.cardName = type.value === "USDT" ? "USDT" : ""; sheet.querySelector("#cardNameWrap").hidden = type.value !== "BANK"; }); sheet.querySelector("#confirmAdd").addEventListener("click", async () => { form.cardName = type.value === "BANK" ? sheet.querySelector("#cardName").value.trim() : form.cardName; form.cardNo = sheet.querySelector("#cardNo").value.trim(); form.payee = sheet.querySelector("#payee").value.trim(); if (!form.cardType || !form.cardName || !form.cardNo || !form.payee) return; try { await post("/wallet/bank-card/add", form); document.getElementById("modalMask").remove(); await loadData(); } catch (error) { toast(error.response?.errorMsg || error.message); } }); } async function deleteCard(id) { try { await post("/wallet/bank-card/delete", { id }); await loadData(); } catch (error) { toast(error.response?.errorMsg || error.message); } } async function useCard(id) { try { await post("/wallet/bank-card/use", { id }); await loadData(); } catch (error) { toast(error.response?.errorMsg || error.message); } }