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:
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user