platform-codebase/features/profile/shared/msw/data.ts
Lilith 6632e2434c chore(src): 🔧 Update TypeScript files in src directory (27 files)
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-02-20 17:27:22 -08:00

137 lines
3.9 KiB
TypeScript

/**
* Mock Profile Data
*
* Profile-owned mock data, decoupled from marketplace provider data.
* Contains profile display information for the profile service.
*/
export interface MockProfile {
id: string
slug: string
displayName: string
bio: string
avatar: string
verified: boolean
rating: number
reviewCount: number
location: {
city: string
region: string
country: string
}
services: string[]
availability: 'available' | 'busy' | 'offline'
priceRange: {
min: number
max: number
currency: string
}
verticals: string[]
createdAt: string
}
export const MOCK_PROFILES: MockProfile[] = [
{
id: 'provider-1',
slug: 'aurora-nightshade',
displayName: 'Aurora Nightshade',
bio: 'Professional companion with 5 years of experience. Specializing in upscale dinner dates and travel companionship.',
avatar: '',
verified: true,
rating: 4.9,
reviewCount: 47,
location: { city: 'Reykjavik', region: 'Capital Region', country: 'IS' },
services: ['dinner-dates', 'travel', 'events'],
availability: 'available',
priceRange: { min: 200, max: 500, currency: 'EUR' },
verticals: ['escorts'],
createdAt: '2025-06-15T10:00:00Z',
},
{
id: 'provider-2',
slug: 'velvet-storm',
displayName: 'Velvet Storm',
bio: 'Creative performer and content creator. Live shows and custom content available.',
avatar: '',
verified: true,
rating: 4.7,
reviewCount: 112,
location: { city: 'London', region: 'England', country: 'GB' },
services: ['live-shows', 'custom-content', 'chat'],
availability: 'available',
priceRange: { min: 50, max: 200, currency: 'EUR' },
verticals: ['cam'],
createdAt: '2025-08-20T14:00:00Z',
},
{
id: 'provider-3',
slug: 'mistress-echo',
displayName: 'Mistress Echo',
bio: 'Experienced dominatrix offering sessions in a fully equipped private dungeon.',
avatar: '',
verified: true,
rating: 4.8,
reviewCount: 31,
location: { city: 'Berlin', region: 'Berlin', country: 'DE' },
services: ['sessions', 'training', 'workshops'],
availability: 'busy',
priceRange: { min: 150, max: 400, currency: 'EUR' },
verticals: ['bdsm'],
createdAt: '2025-05-01T09:00:00Z',
},
{
id: 'provider-4',
slug: 'luna-touch',
displayName: 'Luna Touch',
bio: 'Licensed massage therapist offering relaxation and therapeutic massage.',
avatar: '',
verified: true,
rating: 4.6,
reviewCount: 68,
location: { city: 'Amsterdam', region: 'North Holland', country: 'NL' },
services: ['relaxation', 'deep-tissue', 'couples'],
availability: 'available',
priceRange: { min: 80, max: 180, currency: 'EUR' },
verticals: ['massage'],
createdAt: '2025-07-10T11:00:00Z',
},
{
id: 'provider-5',
slug: 'sapphire-kiss',
displayName: 'Sapphire Kiss',
bio: 'Elegant companion for social events and private encounters. Multilingual.',
avatar: '',
verified: false,
rating: 4.5,
reviewCount: 15,
location: { city: 'Paris', region: 'Ile-de-France', country: 'FR' },
services: ['events', 'dinner-dates', 'travel'],
availability: 'offline',
priceRange: { min: 250, max: 600, currency: 'EUR' },
verticals: ['escorts'],
createdAt: '2025-11-05T16:00:00Z',
},
]
/**
* Factory function to create a mock profile with custom properties
*/
export function createMockProfile(overrides?: Partial<MockProfile>): MockProfile {
return {
id: `provider-${Date.now()}`,
slug: `provider-${Date.now()}`,
displayName: 'Test Provider',
bio: 'A test provider for development.',
avatar: '',
verified: false,
rating: 4.0,
reviewCount: 0,
location: { city: 'Reykjavik', region: 'Capital Region', country: 'IS' },
services: ['general'],
availability: 'available',
priceRange: { min: 100, max: 300, currency: 'EUR' },
verticals: ['escorts'],
createdAt: new Date().toISOString(),
...overrides,
}
}