feat: add bd center page
This commit is contained in:
parent
f146dfdcab
commit
5b640318ec
131
h5/hyapp/bd-center/index.html
Normal file
131
h5/hyapp/bd-center/index.html
Normal file
@ -0,0 +1,131 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
|
||||
<title>BD Center</title>
|
||||
<link rel="stylesheet" href="./style.css?v=20260429-0100" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="bd-center" aria-label="BD Center" data-i18n-aria="page_label" data-loading="true">
|
||||
<div class="hero-bg" aria-hidden="true"></div>
|
||||
|
||||
<header class="status-bar" aria-hidden="true">
|
||||
<span class="status-time">9:41</span>
|
||||
<span class="status-icons">
|
||||
<span class="cellular"><i></i><i></i><i></i><i></i></span>
|
||||
<span class="wifi"><i></i><i></i><i></i></span>
|
||||
<span class="battery"><i></i></span>
|
||||
</span>
|
||||
</header>
|
||||
|
||||
<nav class="title-bar">
|
||||
<button class="back-button" type="button" aria-label="Back" data-i18n-aria="back">
|
||||
<svg viewBox="0 0 32 32" aria-hidden="true">
|
||||
<path d="M20 8 12 16l8 8" />
|
||||
</svg>
|
||||
</button>
|
||||
<h1 data-i18n="title">BD Center</h1>
|
||||
<div class="language-switcher">
|
||||
<button class="language-button" type="button" aria-label="Change language" data-i18n-aria="language_button_aria" aria-expanded="false">EN</button>
|
||||
<div class="language-menu" hidden>
|
||||
<button type="button" data-lang="en">EN</button>
|
||||
<button type="button" data-lang="ar">AR</button>
|
||||
<button type="button" data-lang="tr">TR</button>
|
||||
<button type="button" data-lang="id">ID</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="content">
|
||||
<section class="card profile-card">
|
||||
<div class="avatar-shell">
|
||||
<img class="avatar-image" id="profileAvatar" alt="" hidden />
|
||||
<span class="avatar-fallback" id="profileAvatarFallback">B</span>
|
||||
</div>
|
||||
<div class="profile-copy">
|
||||
<div class="role-pill" data-i18n="role">BD</div>
|
||||
<div class="name" id="profileName">-</div>
|
||||
<div class="meta" id="profileUid">UID: -</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="card salary-card">
|
||||
<div class="salary-head">
|
||||
<div>
|
||||
<div class="salary-label" data-i18n="my_available_salary">Salary</div>
|
||||
</div>
|
||||
<button class="text-link" type="button" data-route="/hyapp/withdraw-exchange/index.html?identity=BD&salaryType=BD_SALARY" data-i18n="details">Withdraw/Exchange</button>
|
||||
</div>
|
||||
<div class="salary-value">
|
||||
<span aria-hidden="true">$</span>
|
||||
<strong id="availableBalance">0.00</strong>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="card menu-card">
|
||||
<button class="menu-row" type="button" data-action="invite-agent">
|
||||
<span class="menu-left">
|
||||
<span class="menu-icon invite-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 28 28"><path d="M11 13a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM4 24c1-5.5 3.5-8 7-8 2 0 3.7.8 5 2.5M21 10v10M16 15h10" /></svg>
|
||||
</span>
|
||||
<span data-i18n="invite_become_agent">Invite Agent</span>
|
||||
</span>
|
||||
<span class="chevron">›</span>
|
||||
</button>
|
||||
</section>
|
||||
|
||||
<section class="card team-list-card">
|
||||
<div class="team-list-tabs is-single" role="tablist" aria-label="Team lists">
|
||||
<button class="team-list-tab is-active" type="button" role="tab" aria-selected="true" data-list-tab="agency" data-i18n="agency_list_link">Agency List</button>
|
||||
</div>
|
||||
<div class="team-list-summary" id="teamListSummary"></div>
|
||||
<div class="team-list-content" id="teamListContent">
|
||||
<div class="empty-state" data-i18n="loading_data">Loading...</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<div class="invite-modal" id="inviteModal" hidden>
|
||||
<div class="invite-backdrop" data-close-invite></div>
|
||||
<section class="invite-dialog" role="dialog" aria-modal="true" aria-labelledby="inviteModalTitle">
|
||||
<div class="invite-head">
|
||||
<h2 id="inviteModalTitle">Invite Agent</h2>
|
||||
<button class="invite-close" type="button" aria-label="Close" data-i18n-aria="close" data-close-invite>×</button>
|
||||
</div>
|
||||
<div class="invite-body">
|
||||
<form class="invite-search-form" id="inviteSearchForm" autocomplete="off">
|
||||
<label class="invite-field">
|
||||
<span data-i18n="enter_user_id">Enter User ID</span>
|
||||
<div class="invite-search-control">
|
||||
<input id="inviteSearchInput" type="text" inputmode="text" data-i18n-placeholder="enter_user_id" placeholder="Enter User ID" />
|
||||
<button id="inviteSearchButton" type="submit" data-i18n="search">Search</button>
|
||||
</div>
|
||||
</label>
|
||||
</form>
|
||||
<div class="invite-status" id="inviteStatus" role="status" hidden></div>
|
||||
<div class="invite-list" id="inviteList"></div>
|
||||
<div class="invite-empty" id="inviteEmpty" data-i18n="no_users_found">No users found</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="home-indicator" aria-hidden="true"></div>
|
||||
<div class="loading-mask" id="loadingMask" role="status" aria-live="polite" aria-busy="true">
|
||||
<div class="runner-stick" aria-hidden="true">
|
||||
<span class="runner-head"></span>
|
||||
<span class="runner-body"></span>
|
||||
<span class="runner-arm runner-arm-front"></span>
|
||||
<span class="runner-arm runner-arm-back"></span>
|
||||
<span class="runner-leg runner-leg-front"></span>
|
||||
<span class="runner-leg runner-leg-back"></span>
|
||||
<span class="runner-ground"></span>
|
||||
</div>
|
||||
<div class="loading-copy">loading....</div>
|
||||
</div>
|
||||
|
||||
<div class="toast" id="toast" role="status" aria-live="polite" hidden></div>
|
||||
</div>
|
||||
<script src="./script.js?v=20260429-0100" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
1114
h5/hyapp/bd-center/script.js
Normal file
1114
h5/hyapp/bd-center/script.js
Normal file
File diff suppressed because it is too large
Load Diff
1269
h5/hyapp/bd-center/style.css
Normal file
1269
h5/hyapp/bd-center/style.css
Normal file
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
|
||||
<title>BD Leader Center</title>
|
||||
<link rel="stylesheet" href="./style.css?v=20260429-0010" />
|
||||
<link rel="stylesheet" href="./style.css?v=20260429-0100" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="bd-leader-center" aria-label="BD Leader Center" data-i18n-aria="page_label" data-loading="true">
|
||||
@ -54,7 +54,6 @@
|
||||
<div class="salary-head">
|
||||
<div>
|
||||
<div class="salary-label" data-i18n="my_available_salary">Salary</div>
|
||||
<div class="salary-period" id="billTitle">-</div>
|
||||
</div>
|
||||
<button class="text-link" type="button" data-route="/hyapp/withdraw-exchange/index.html?identity=BD_LEADER&salaryType=BD_LEADER_SALARY" data-i18n="details">Withdraw/Exchange</button>
|
||||
</div>
|
||||
@ -97,7 +96,7 @@
|
||||
<section class="card team-list-card">
|
||||
<div class="team-list-tabs" role="tablist" aria-label="Team lists">
|
||||
<button class="team-list-tab is-active" type="button" role="tab" aria-selected="true" data-list-tab="bd" data-i18n="bd_list_link">BD List</button>
|
||||
<button class="team-list-tab" type="button" role="tab" aria-selected="false" data-list-tab="agency" data-i18n="agency_list_link">Agency list</button>
|
||||
<button class="team-list-tab" type="button" role="tab" aria-selected="false" data-list-tab="agency" data-i18n="agency_list_link">Agency List</button>
|
||||
</div>
|
||||
<div class="team-list-summary" id="teamListSummary"></div>
|
||||
<div class="team-list-content" id="teamListContent">
|
||||
@ -179,6 +178,6 @@
|
||||
|
||||
<div class="toast" id="toast" role="status" aria-live="polite" hidden></div>
|
||||
</div>
|
||||
<script src="./script.js?v=20260429-0020" defer></script>
|
||||
<script src="./script.js?v=20260429-0100" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
bd_number: "BD number",
|
||||
team_salary: "Team salary",
|
||||
bd_leader_history: "Salary History",
|
||||
agency_list_link: "Agency list",
|
||||
agency_list_link: "Agency List",
|
||||
bd_list_link: "BD List",
|
||||
invite_become_agent: "Invite Agent",
|
||||
invite_become_bd: "Invite BD",
|
||||
@ -465,10 +465,8 @@
|
||||
function renderBill() {
|
||||
const bill = state.bill || {};
|
||||
const members = Array.isArray(bill.memberBillList) ? bill.memberBillList : [];
|
||||
const billTitle = document.querySelector("#billTitle");
|
||||
const bdNumber = document.querySelector("#bdNumber");
|
||||
const teamSalary = document.querySelector("#teamSalary");
|
||||
if (billTitle) billTitle.textContent = bill.billTitle || "-";
|
||||
if (bdNumber) bdNumber.textContent = formatCount(bill.memberCount ?? bill.bdNumber ?? members.length);
|
||||
if (teamSalary) teamSalary.textContent = formatMoney(bill.totalSalary ?? bill.teamSalary ?? 0);
|
||||
renderMembers(members);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user