Yaltopia-Tickets-App/components/ui/card.tsx
“kirukib” 4efcacaeba feat: add suggested screens with orange/black theme and mock data
- Add Expo Router with bottom tabs (Home, Scan, Proforma, Payments, Profile)
- Home: earnings summary, quick actions, invoice list with Waiting/Paid filters
- Scan: placeholder for camera flow, recent scans list
- Proforma: list of proforma requests with send-to-contacts CTA
- Payments: pending match and reconciled list
- Profile: account info, about, logout
- Apply Yaltopia theme: primary orange (#ea580c), dark navbar/tabs (#2d2d2d)
- Add mock data (invoices, proforma, payments, user) in lib/mock-data.ts
- Root layout: GestureHandler, SafeArea, PortalHost; tab bar dark with orange active

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-22 22:43:30 +03:00

53 lines
1.6 KiB
TypeScript

import { Text, TextClassContext } from '@/components/ui/text';
import { cn } from '@/lib/utils';
import { View, type ViewProps } from 'react-native';
function Card({ className, ...props }: ViewProps & React.RefAttributes<View>) {
return (
<TextClassContext.Provider value="text-card-foreground">
<View
className={cn(
'bg-card border-border flex flex-col gap-6 rounded-xl border py-6 shadow-sm shadow-black/5',
className
)}
{...props}
/>
</TextClassContext.Provider>
);
}
function CardHeader({ className, ...props }: ViewProps & React.RefAttributes<View>) {
return <View className={cn('flex flex-col gap-1.5 px-6', className)} {...props} />;
}
function CardTitle({
className,
...props
}: React.ComponentProps<typeof Text> & React.RefAttributes<Text>) {
return (
<Text
role="heading"
aria-level={3}
className={cn('font-semibold leading-none', className)}
{...props}
/>
);
}
function CardDescription({
className,
...props
}: React.ComponentProps<typeof Text> & React.RefAttributes<Text>) {
return <Text className={cn('text-muted-foreground text-sm', className)} {...props} />;
}
function CardContent({ className, ...props }: ViewProps & React.RefAttributes<View>) {
return <View className={cn('px-6', className)} {...props} />;
}
function CardFooter({ className, ...props }: ViewProps & React.RefAttributes<View>) {
return <View className={cn('flex flex-row items-center px-6', className)} {...props} />;
}
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };