# UPLOAD LIST — Sidebar accordion + User List (pagination / bulk / edit)

তারিখ: 2026-08-20

---

## 1. লাইভ সার্ভারে যে ফাইলগুলো আপলোড করতে হবে

### পরিবর্তিত ফাইল (MODIFIED — replace করুন)

| # | সার্ভারে পাথ | কী বদলেছে |
|---|---|---|
| 1 | `/admin/includes/sidebar.php` | **Accordion** — একসাথে একটাই ড্রপডাউন খোলা থাকবে, নতুন একটা খুললে আগেরটা নিজে থেকে বন্ধ হয়ে যাবে |
| 2 | `/admin/user_list.php` | পেজিনেশন (১০০/পেজ), উপরে horizontal scroll bar, bulk selection + bulk action, নতুন **Edit Details** মডাল |

> **ডাটাবেস পরিবর্তন নেই** — এই ব্যাচে কোনো নতুন টেবিল বা কলাম লাগে না, তাই কোনো migration ফাইলও নেই।

---

## 2. কী কী যোগ হলো

### ক) সাইডবার (সব admin পেজে)

- একটা গ্রুপ expand করলে অন্য গ্রুপ auto-collapse
- বর্তমান পেজের গ্রুপটা সবসময় আগে খুলবে
- মনে রাখার জন্য নতুন localStorage key `wb_sb_open_one` (পুরোনো `wb_sb_open` আর ব্যবহার হয় না)

### খ) User List — pagination

- এক পেজে **১০০** ইউজার, DB থেকেও শুধু ১০০টা রো আসে → পেজ অনেক দ্রুত লোড হয়
- নিচে pager: First / Prev / পেজ নম্বর / Next / Last + "Go to page" বক্স
- ফিল্টার + সার্চ pager লিংকে ধরে রাখা হয়
- কোনো action (update / suspend / bulk) করলে একই পেজ নম্বরে ফেরত আসে

### গ) User List — উপরের স্ক্রল বার

- টেবিলের ঠিক উপরে একটা পাতলা horizontal scroll bar — নিচে না গিয়েই কলাম স্লাইড করা যায়
- টেবিল আর বার দুইদিকেই sync হয়; স্ক্রল করার কিছু না থাকলে বারটা নিজে থেকে লুকিয়ে যায়

### ঘ) User List — bulk selection

- প্রতি রো-তে চেকবক্স + হেডারে "select all on this page"
- একটাও টিক দিলেই উপরে bulk action bar আসে:
  **Activate · Suspend · Make Customer · Make Seller · Subscribe · Unsubscribe**
- নিরাপত্তা: নিজের অ্যাকাউন্ট suspend হবে না, Staff/Admin কে customer/seller বানানো যাবে না
- প্রতিটা পরিবর্তন ওই ইউজারের **Update History** তে লেখা হয়

### ঙ) User List — Edit Details (নতুন মডাল)

Update কলামে নতুন নীল **Edit Details** বাটন। যা যা এডিট করা যায়:

- Name, Gender, Mobile (login), Email, Call Number, WhatsApp Number
- Village / Post Office / Block-City / Landmark / District / State / Pin Code
- User Type (Customer / Seller / Staff), Account Status (Active / Blocked), Subscription (Pro / না)
- Profile Picture আপলোড

পুরোনো সবুজ বাটনটার নাম এখন **Update KYC** (আগে শুধু "Update" ছিল) — ওটা KYC ডকুমেন্ট/ব্যাংক/বিজনেস ডিটেইলসের জন্য।

> নোট: ইউজার KYC জমা দিলে লিস্টে KYC-র ঠিকানা দেখায়। সেটা বদলাতে হলে **Update KYC** ব্যবহার করবেন;
> **Edit Details** এর ঠিকানা `users` টেবিলের রেজিস্ট্রেশন ঠিকানা বদলায়।

---

## 3. আপলোডের পরে যা চেক করবেন

- [ ] সাইডবারে User Management খুলে তারপর Wallet Management খুলুন — User Management নিজে থেকে বন্ধ হবে
- [ ] User List এ নিচে pager দেখা যাচ্ছে, "Showing 1–100 of 1201 · page 1 of 13"
- [ ] পেজ ২ তে গিয়ে ফিল্টার ঠিক আছে কিনা
- [ ] টেবিলের উপরের পাতলা বার টেনে দেখুন — কলাম সরছে কিনা
- [ ] ২-৩টা রো টিক দিয়ে Activate/Suspend চালিয়ে দেখুন
- [ ] Edit Details এ নাম/ফোন/ইমেইল/ঠিকানা বদলে Save → Update History তে এন্ট্রি এসেছে কিনা

---

## 4. রোলব্যাক

দুটো ফাইলেরই ব্যাকআপ রেখে দিন; সমস্যা হলে পুরোনোগুলো ফেরত দিলেই আগের অবস্থা ফিরে আসবে।
