platform-codebase/@packages/@ui/react-components/src/index.ts

77 lines
1.6 KiB
TypeScript
Raw Normal View History

/**
* @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;
}