feat: Affiliate program enrichment (Link Builder, Curated Collections, Smart Links)
This commit is contained in:
@@ -33,6 +33,8 @@ interface Referral {
|
||||
currency: string;
|
||||
created_at: string;
|
||||
approved_at?: string;
|
||||
utm_campaign?: string;
|
||||
utm_source?: string;
|
||||
}
|
||||
|
||||
export default function AffiliatesReferrals() {
|
||||
@@ -88,7 +90,7 @@ export default function AffiliatesReferrals() {
|
||||
|
||||
// Export to CSV
|
||||
const exportToCSV = () => {
|
||||
const headers = ['ID', 'Affiliate', 'Order ID', 'Status', 'Commission', 'Currency', 'Created At'];
|
||||
const headers = ['ID', 'Affiliate', 'Order ID', 'Status', 'Commission', 'Currency', 'Campaign', 'Created At'];
|
||||
const rows = filteredReferrals.map(ref => [
|
||||
ref.id,
|
||||
ref.affiliate_name || `Affiliate #${ref.affiliate_id}`,
|
||||
@@ -96,6 +98,7 @@ export default function AffiliatesReferrals() {
|
||||
ref.status,
|
||||
ref.commission_amount,
|
||||
ref.currency,
|
||||
[ref.utm_campaign, ref.utm_source].filter(Boolean).join(' / '),
|
||||
new Date(ref.created_at).toISOString()
|
||||
]);
|
||||
|
||||
@@ -311,6 +314,7 @@ export default function AffiliatesReferrals() {
|
||||
<TableHead>{__('Affiliate')}</TableHead>
|
||||
<TableHead>{__('Order ID')}</TableHead>
|
||||
<TableHead>{__('Status')}</TableHead>
|
||||
<TableHead>{__('Campaign')}</TableHead>
|
||||
<TableHead>{__('Date')}</TableHead>
|
||||
<TableHead className="text-right">{__('Commission')}</TableHead>
|
||||
</TableRow>
|
||||
@@ -336,6 +340,9 @@ export default function AffiliatesReferrals() {
|
||||
{ref.status}
|
||||
</span>
|
||||
</TableCell>
|
||||
<TableCell className="text-muted-foreground text-sm">
|
||||
{[ref.utm_campaign, ref.utm_source].filter(Boolean).join(' / ') || '—'}
|
||||
</TableCell>
|
||||
<TableCell className="text-muted-foreground">
|
||||
{new Date(ref.created_at).toLocaleDateString('id-ID', {
|
||||
year: 'numeric',
|
||||
|
||||
Reference in New Issue
Block a user