77 lines
1.6 KiB
TypeScript
77 lines
1.6 KiB
TypeScript
|
|
/**
|
||
|
|
* @lilith/business-components stub
|
||
|
|
*
|
||
|
|
* Placeholder types for business/domain-specific components.
|
||
|
|
* TODO: Implement actual components.
|
||
|
|
*/
|
||
|
|
|
||
|
|
// CreatorCard component
|
||
|
|
export interface CreatorCardProps {
|
||
|
|
creator: {
|
||
|
|
id: string;
|
||
|
|
displayName: string;
|
||
|
|
avatarUrl: string;
|
||
|
|
locationCity?: string;
|
||
|
|
isOnline?: boolean;
|
||
|
|
hourlyRate?: number;
|
||
|
|
averageRating?: number;
|
||
|
|
};
|
||
|
|
onClick?: () => void;
|
||
|
|
}
|
||
|
|
|
||
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||
|
|
export const CreatorCard: any = () => null;
|
||
|
|
|
||
|
|
// RegionMarker component for maps
|
||
|
|
export interface RegionMarkerProps {
|
||
|
|
count: number;
|
||
|
|
label: string;
|
||
|
|
onClick?: () => void;
|
||
|
|
selected?: boolean;
|
||
|
|
}
|
||
|
|
|
||
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||
|
|
export const RegionMarker: any = () => null;
|
||
|
|
|
||
|
|
// Export any other commonly used business components as stubs
|
||
|
|
export interface LoadingSpinnerProps {
|
||
|
|
size?: 'sm' | 'md' | 'lg';
|
||
|
|
color?: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||
|
|
export const LoadingSpinner: any = () => null;
|
||
|
|
|
||
|
|
// Map components needed by MapView
|
||
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||
|
|
export const MapView: any = () => null;
|
||
|
|
|
||
|
|
// Map types
|
||
|
|
export interface MapMarker {
|
||
|
|
id: string;
|
||
|
|
lat: number;
|
||
|
|
lng: number;
|
||
|
|
label?: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface MapLocation {
|
||
|
|
lat: number;
|
||
|
|
lng: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface NeighborhoodBoundary {
|
||
|
|
id: string;
|
||
|
|
name: string;
|
||
|
|
slug: string;
|
||
|
|
coordinates: Array<{ lat: number; lng: number }>;
|
||
|
|
creatorCount?: number;
|
||
|
|
centroid?: { lat: number; lng: number };
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ViewportBounds {
|
||
|
|
minLat: number;
|
||
|
|
maxLat: number;
|
||
|
|
minLng: number;
|
||
|
|
maxLng: number;
|
||
|
|
}
|