feat: Add Promo Interest column to admin users page

- Backend: Include promo_preferred_maker, promo_preferred_model, promo_email_enabled in admin/users API
- Frontend: Add AdminUser interface fields
- Admin UI: Display Promo Interest column with maker/model and email alert status

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
AutonetSellCar Deploy
2026-01-13 07:51:55 +09:00
parent 25caadde95
commit 7c97d9aecb
3 changed files with 23 additions and 0 deletions

View File

@@ -341,6 +341,9 @@ def admin_get_users(
"is_dealer": user.is_dealer,
"referral_code": user.referral_code,
"referred_by": user.referred_by,
"promo_preferred_maker": user.promo_preferred_maker,
"promo_preferred_model": user.promo_preferred_model,
"promo_email_enabled": user.promo_email_enabled,
"created_at": user.created_at.isoformat() if user.created_at else None,
}
for user in users

View File

@@ -288,6 +288,7 @@ export default function AdminUsersPage() {
<th className="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase">CC Balance</th>
<th className="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase">Type</th>
<th className="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase">Referral</th>
<th className="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase">Promo Interest</th>
<th className="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase">Registered</th>
<th className="px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase">Actions</th>
</tr>
@@ -316,6 +317,22 @@ export default function AdminUsersPage() {
{user.referred_by && <div className="text-blue-500">By: {user.referred_by}</div>}
</div>
</td>
<td className="px-4 py-3 text-sm">
{user.promo_preferred_maker || user.promo_preferred_model ? (
<div className="text-xs">
<div className="font-medium text-purple-700">
{user.promo_preferred_maker || '-'} / {user.promo_preferred_model || '-'}
</div>
{user.promo_email_enabled && (
<span className="inline-flex items-center px-1.5 py-0.5 mt-1 rounded text-xs bg-green-100 text-green-700">
Email Alert ON
</span>
)}
</div>
) : (
<span className="text-gray-400">-</span>
)}
</td>
<td className="px-4 py-3 text-sm text-gray-500">
{formatDate(user.created_at)}
</td>

View File

@@ -1203,6 +1203,9 @@ export interface AdminUser {
is_dealer: boolean;
referral_code?: string;
referred_by?: string;
promo_preferred_maker?: string;
promo_preferred_model?: string;
promo_email_enabled?: boolean;
created_at?: string;
}