veza/apps/web/src/features/live/pages/live-page/LiveViewStreamInfo.tsx
senke 8b1644640d refactor(audit-2.1,2.6): unify views and pages to features/*/pages pattern
- Migrate LiveView, GearView, PurchasesView, SocialView, AnalyticsView into features
- Create features: admin, developer, seller; add QueuePage, WishlistPage
- Migrate pages/marketplace to features/marketplace
- Remove components/views/ and pages/ legacy directories
- Update lazyExports, docs (ARCHITECTURE)
- Mark audit 2.1, 2.6 as done

Refs: AUDIT_TECHNIQUE_INTEGRAL_2026_02_15.md items 2.1, 2.6
2026-02-15 14:30:40 +01:00

74 lines
2.1 KiB
TypeScript

import { Card } from '@/components/ui/card';
import { Button } from '@/components/ui/button';
import { Badge } from '@/components/ui/badge';
import { Heart, Share2, DollarSign } from 'lucide-react';
import type { LiveStream } from '@/types';
interface LiveViewStreamInfoProps {
stream: LiveStream;
onStreamerClick?: () => void;
onFollow?: () => void;
onDonate?: () => void;
onShare?: () => void;
}
export function LiveViewStreamInfo({
stream,
onStreamerClick,
onFollow,
onDonate,
onShare,
}: LiveViewStreamInfoProps) {
return (
<Card variant="glass" className="p-6 border-white/5 bg-black/20 backdrop-blur-xl transition-shadow duration-[var(--sumi-duration-normal)]">
<div className="flex justify-between items-start">
<div className="flex gap-4">
<div className="w-12 h-12 rounded-full bg-gradient-neon p-0.5">
<img
src="https://picsum.photos/100/100"
alt=""
className="w-full h-full rounded-full object-cover border-2 border-border"
/>
</div>
<div>
<h1 className="text-3xl font-bold text-foreground tracking-tight">{stream.title}</h1>
<p
className="text-primary font-medium cursor-pointer hover:underline"
onClick={onStreamerClick}
>
{stream.streamer}
</p>
<div className="flex gap-2 mt-2">
{stream.tags.map((tag) => (
<Badge key={tag} label={tag} variant="terminal" />
))}
</div>
</div>
</div>
<div className="flex gap-4">
<Button
variant="secondary"
icon={<Heart className="w-4 h-4" />}
onClick={onFollow}
>
FOLLOW
</Button>
<Button
variant="primary"
icon={<DollarSign className="w-4 h-4" />}
onClick={onDonate}
>
DONATE
</Button>
<Button
variant="ghost"
icon={<Share2 className="w-4 h-4" />}
onClick={onShare}
>
SHARE
</Button>
</div>
</div>
</Card>
);
}