205 lines
5.8 KiB
TypeScript
205 lines
5.8 KiB
TypeScript
import { Partner, DealTerm, LedgerEntry, PartnerDocument } from '../types/partner';
|
|
import { subDays, subMonths } from 'date-fns';
|
|
|
|
export const mockPartners: Partner[] = [
|
|
{
|
|
id: 'p1',
|
|
name: 'Neon Arena',
|
|
type: 'Venue',
|
|
status: 'Active',
|
|
logo: 'https://ui-avatars.com/api/?name=Neon+Arena&background=0D8ABC&color=fff',
|
|
primaryContact: {
|
|
name: 'Alex Rivera',
|
|
email: 'alex@neonarena.com',
|
|
phone: '+91 98765 43210',
|
|
role: 'Venue Manager',
|
|
},
|
|
metrics: {
|
|
activeDeals: 2,
|
|
totalRevenue: 4500000,
|
|
openBalance: 125000,
|
|
lastActivity: new Date().toISOString(),
|
|
eventsCount: 12,
|
|
},
|
|
tags: ['Premium', 'Indoor', 'Capacity: 5000'],
|
|
joinedAt: subMonths(new Date(), 6).toISOString(),
|
|
},
|
|
{
|
|
id: 'p2',
|
|
name: 'TopTier Promoters',
|
|
type: 'Promoter',
|
|
status: 'Active',
|
|
logo: 'https://ui-avatars.com/api/?name=Top+Tier&background=F59E0B&color=fff',
|
|
primaryContact: {
|
|
name: 'Sarah Chen',
|
|
email: 'sarah@toptier.com',
|
|
role: 'Head of Marketing',
|
|
},
|
|
metrics: {
|
|
activeDeals: 5,
|
|
totalRevenue: 850000,
|
|
openBalance: 45000,
|
|
lastActivity: subDays(new Date(), 2).toISOString(),
|
|
eventsCount: 8,
|
|
},
|
|
tags: ['Influencer Network', 'Social Media'],
|
|
joinedAt: subMonths(new Date(), 3).toISOString(),
|
|
},
|
|
{
|
|
id: 'p3',
|
|
name: 'TechFlow Solutions',
|
|
type: 'Vendor',
|
|
status: 'Suspended',
|
|
logo: 'https://ui-avatars.com/api/?name=Tech+Flow&background=EF4444&color=fff',
|
|
primaryContact: {
|
|
name: 'Mike Ross',
|
|
email: 'mike@techflow.io',
|
|
role: 'Operations',
|
|
},
|
|
metrics: {
|
|
activeDeals: 0,
|
|
totalRevenue: 120000,
|
|
openBalance: 0,
|
|
lastActivity: subMonths(new Date(), 1).toISOString(),
|
|
eventsCount: 3,
|
|
},
|
|
tags: ['AV Equipment', 'Lighting'],
|
|
notes: 'Suspended due to breach of contract on Event #402',
|
|
joinedAt: subMonths(new Date(), 8).toISOString(),
|
|
},
|
|
{
|
|
id: 'p4',
|
|
name: 'Global Sponsors Inc',
|
|
type: 'Sponsor',
|
|
status: 'Invited',
|
|
logo: 'https://ui-avatars.com/api/?name=Global+Sponsors&background=10B981&color=fff',
|
|
primaryContact: {
|
|
name: 'Jessica Pearson',
|
|
email: 'jessica@globalsponsors.com',
|
|
role: 'Brand Director',
|
|
},
|
|
metrics: {
|
|
activeDeals: 0,
|
|
totalRevenue: 0,
|
|
openBalance: 0,
|
|
lastActivity: subDays(new Date(), 5).toISOString(),
|
|
eventsCount: 0,
|
|
},
|
|
tags: ['Corporate', 'High Value'],
|
|
joinedAt: subDays(new Date(), 5).toISOString(),
|
|
verificationStatus: 'Verified',
|
|
},
|
|
{
|
|
id: 'p5',
|
|
name: 'New Age Vendors',
|
|
type: 'Vendor',
|
|
status: 'Active',
|
|
logo: '',
|
|
primaryContact: {
|
|
name: 'John Doe',
|
|
email: 'john@newage.com',
|
|
role: 'Owner'
|
|
},
|
|
metrics: {
|
|
activeDeals: 0,
|
|
totalRevenue: 0,
|
|
openBalance: 0,
|
|
lastActivity: new Date().toISOString(),
|
|
eventsCount: 0,
|
|
},
|
|
tags: ['New'],
|
|
joinedAt: new Date().toISOString(),
|
|
verificationStatus: 'Pending',
|
|
}
|
|
];
|
|
|
|
export const mockDealTerms: DealTerm[] = [
|
|
{
|
|
id: 'dt1',
|
|
partnerId: 'p1',
|
|
type: 'RevenueShare',
|
|
name: 'Standard Venue Split',
|
|
params: {
|
|
percentage: 15,
|
|
currency: 'INR',
|
|
conditions: 'Net revenue after tax and platform fees',
|
|
},
|
|
effectiveFrom: subMonths(new Date(), 6).toISOString(),
|
|
status: 'Active',
|
|
version: 1,
|
|
},
|
|
{
|
|
id: 'dt2',
|
|
partnerId: 'p2',
|
|
type: 'CommissionPerTicket',
|
|
name: 'Promoter Commission',
|
|
params: {
|
|
amount: 150,
|
|
currency: 'INR',
|
|
},
|
|
effectiveFrom: subMonths(new Date(), 3).toISOString(),
|
|
status: 'Active',
|
|
version: 2,
|
|
}
|
|
];
|
|
|
|
export const mockLedger: LedgerEntry[] = [
|
|
{
|
|
id: 'le1',
|
|
partnerId: 'p1',
|
|
eventId: 'evt_123',
|
|
type: 'Credit',
|
|
description: 'Revenue Share - Neon Nights Event',
|
|
amount: 75000,
|
|
currency: 'INR',
|
|
createdAt: subDays(new Date(), 2).toISOString(),
|
|
status: 'Pending',
|
|
},
|
|
{
|
|
id: 'le2',
|
|
partnerId: 'p1',
|
|
type: 'Payout',
|
|
description: 'Monthly Settlement - Jan 2026',
|
|
amount: -50000,
|
|
currency: 'INR',
|
|
referenceId: 'TXN_987654',
|
|
createdAt: subDays(new Date(), 10).toISOString(),
|
|
status: 'Cleared',
|
|
},
|
|
{
|
|
id: 'le3',
|
|
partnerId: 'p2',
|
|
eventId: 'evt_124',
|
|
type: 'Credit',
|
|
description: 'Ticket Commission - Summer Fest',
|
|
amount: 12500,
|
|
currency: 'INR',
|
|
createdAt: subDays(new Date(), 1).toISOString(),
|
|
status: 'Pending',
|
|
}
|
|
];
|
|
|
|
export const mockDocuments: PartnerDocument[] = [
|
|
{
|
|
id: 'doc1',
|
|
partnerId: 'p1',
|
|
type: 'Contract',
|
|
name: 'Venue Agreement 2026',
|
|
url: '#',
|
|
status: 'Signed',
|
|
uploadedBy: 'Admin User',
|
|
uploadedAt: subMonths(new Date(), 6).toISOString(),
|
|
expiresAt: subMonths(new Date(), -6).toISOString(),
|
|
},
|
|
{
|
|
id: 'doc2',
|
|
partnerId: 'p1',
|
|
type: 'Tax',
|
|
name: 'GST Registration',
|
|
url: '#',
|
|
status: 'Verified',
|
|
uploadedBy: 'Alex Rivera',
|
|
uploadedAt: subMonths(new Date(), 6).toISOString(),
|
|
}
|
|
];
|