UI/UX Specification: Redesigning Customer Detail Screen to Member Profile Dashboard
Last Updated: 16/07/2026
Type: UI/UX Redesign Specification β Customer Detail view
System: Saleor CMS β Customers > Customer Details (Member Detail Screen)
Severity: π΄ High β Refactoring default e-commerce customer views into membership-centric dashboards
Feedback Screenshot:
1. Overview & Redesign Strategyβ
The default Customer Detail view in Saleor CMS is optimized for e-commerce (shipping addresses, orders list, and generic admin note histories).
For the Golden Membership system, this page must be refactored into a Member Profile Dashboard split into 4 specialized information boxes (widgets) that map to membership tiers, point wallets, activity feeds, and referral trees.
2. Page Layout & Grid Systemβ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Back Member: Nguyen Van A (GL-DEMO-001) [Status: Active] β
ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ€
β β β
β β MEMBER INFO BOX β β‘ MEMBERSHIP TIER BOX β
β - Full Name: Nguyen Van A β - Current Tier: [ GOLD ] β
β - Phone: +84909123456 β - YTD Spend: 12,450,000Δ β
β - Email: a.nguyen@example.com β - Points Balance: 4,500 G β
β - Birth Date: 12/10/1990 Sex: Male β - Unused Vouchers: 3 β
β - Social Handles: β β
β Facebook: fb.com/nguyena β β
β Kakao: user@kakao.com β β
β WhatsApp: +84909123456 β β
β β β
ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββ€
β β
β β’ ACTIVITY HISTORY FEED (Most recent on top) β
β - [16/07/2026 14:30] Transferred 500 GPoints to member +84909876543 β
β - [15/07/2026 10:15] Won voucher "50K Healing World" from Lucky Spin β
β - [12/07/2026 18:00] Used voucher "30K Foot Therapy" at Thao Dien β
β - [10/07/2026 09:00] Booked service "Body Massage 90m" at Phu My Hung β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β β£ REFERRAL LIST TABLE (Friends invited by this member) β
ββββββββ¬βββββββββββββββββββββββ¬βββββββββββββββββββ¬ββββββββββββ¬ββββββββββββ€
β STT β Invited Member β Reward Points β Status β Expiry β
ββββββββΌβββββββββββββββββββββββΌβββββββββββββββββββΌββββββββββββΌββββββββββββ€
β 1 β Tran Van B β +1,000 GPoints β Active β 31/12/2026β
β 2 β Le Thi C β 0 GPoints β Pending β β β
ββββββββ΄βββββββββββββββββββββββ΄βββββββββββββββββββ΄ββββββββββββ΄ββββββββββββ
3. Box Component Specificationsβ
3.1 Box β : Member Info (ThΓ΄ng tin cΓ‘ nhΓ’n)β
Contains core user profile properties and linked social media metadata:
- Personal Details: Full Name, Phone Number, Email Address, Birth Date, Gender.
- Account Metadata: Status (Active / Temporarily Suspended), Account Registration Date.
- Social Handles: Render strings saved in the database:
- Facebook Profile URL
- Kakao ID/Phone/Email
- WhatsApp Phone/Username
3.2 Box β‘: Membership Tier (HαΊ‘ng thΓ nh viΓͺn)β
Focuses on loyalty metrics and wallet balances:
- YTD Spend (Chi tiΓͺu trong nΔm): Sum of all transactions completed by this user since January 1st of the current calendar year. Crucial for evaluating tier levels.
- Membership Tier: Large colored badge indicating the active tier (
Silver,Gold,Platinum,Diamond). - GPoints Wallet: Current available point balance.
- Voucher Count: Total number of unredeemed, active vouchers currently in the user's wallet.
3.3 Box β’: Activity History Feed (Lα»ch sα» hoαΊ‘t Δα»ng)β
A chronological list of all member actions, ordered newest on top:
- Format Requirements: Each feed item must consist of a timestamp and a formatted descriptive string:
Order dα»ch vα»₯ [Service Name] tαΊ‘i [Branch Name] lΓΊc [Time]DΓΉng voucher [Voucher Name] tαΊ‘i [Branch Name] lΓΊc [Time]NhαΊn quΓ tαΊ·ng tα»« vΓ²ng quay [Prize Name] lΓΊc [Time]Chuyα»n [Amount] point ΔαΊΏn member [Recipient Name/Phone] lΓΊc [Time]NhαΊn [Amount] point tα»« member [Sender Name/Phone] lΓΊc [Time]
3.4 Box β£: Referrals List (Danh sΓ‘ch Giα»i thiα»u)β
A standard table listing users who registered using this member's referral code:
- Columns:
STT: Row index.TΓͺn member: The name of the invited friend.Sα» point thΖ°α»ng: Points awarded to the referrer for this invitation.TrαΊ‘ng thΓ‘i: Active (friend has completed their first transaction) / Pending (registered but not yet transacted).NgΓ y hαΊΏt hαΊ‘n: Expiration date of the referral reward points, if applicable.
Technical Checklistβ
- Modify the Saleor backend schema to support fetching a consolidated customer profile payload containing referrals lists and aggregated YTD spends.
- Create the new detail view layout in
MemberDetailScreen.tsxreplacing the standardAddressesandOrdersviews. - Build Box β (Member Info) and bind input states to profile fields.
- Build Box β‘ (Membership Tier):
- Fetch points balance, voucher counts, and format the tier badge.
- Compute YTD spend dynamically from invoice databases.
- Build Box β’ (Activity Feed):
- Integrate a unified log timeline aggregator query.
- Write String formatters for: booking orders, voucher usages, lucky spin wins, and point transfers.
- Build Box β£ (Referral Tree):
- Query table items from
Userrelation wherereferredById === currentUserId. - Add standard
STTand status badge formatting.
- Query table items from
- Verify responsive behaviors on desktop monitors (no horizontal scrolling issues).