2 lines
8.1 KiB
JavaScript
2 lines
8.1 KiB
JavaScript
|
|
import{a as m,j as e}from"./vendor-react-YMhRUmcb.js";import{m as u,B as l,C as d,s as g}from"./index-D2uzyr9g.js";import{y as p,w as f,z as v,k as b,a3 as j,E as N,D as h,a1 as w,ah as y}from"./vendor-icons-DINCNwpk.js";import{G as x}from"./vendor-fFnFILYR.js";import"./skeleton-BPDNnZ8E.js";import"./vendor-router-DX94Iu-2.js";import"./vendor-tanstack-CoFNL2zy.js";import"./vendor-utils-4BWoYre8.js";const k={id:"1",title:"Late Night DnB Production 🎧 | Feedback Session",streamer:"Neuro_Glitch",viewers:1240,thumbnailUrl:"https://picsum.photos/id/140/800/450",tags:["Production","Ableton","DnB"],isLive:!0,category:"Production"},S=[{user:"BassHead99",text:"That Reese bass is filthy! 🤮🔥",color:"text-muted-foreground"},{user:"Studio_Rat",text:"What VST is that?",color:"text-muted-foreground"},{user:"Neuro_Glitch",text:"It's Phase Plant, just initializing now.",color:"text-warning font-bold"},{user:"VocalChops",text:"Sent a $5 dono! Check my track?",color:"text-success"}];function C(s={}){const{addToast:a}=u(),r=s.stream??k,n=s.chatMessages??S,[o,t]=m.useState(""),c=m.useCallback(()=>{o.trim()&&(s.onSendMessage?s.onSendMessage(o):a("Message sent to chat","success"),t(""))},[o,s.onSendMessage,a]);return{stream:r,chatMessages:n,msgInput:o,setMsgInput:t,handleSend:c,addToast:a}}function M({stream:s,onToggleChat:a,onSettings:r,onFullscreen:n}){return e.jsxs("div",{className:"relative aspect-video bg-black rounded-xl overflow-hidden shadow-2xl border border-border group",children:[e.jsx("img",{src:s.thumbnailUrl,alt:"",className:"w-full h-full object-cover opacity-80"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 via-transparent to-transparent"}),e.jsxs("div",{className:"absolute top-4 left-4 flex gap-2",children:[e.jsxs("span",{className:"bg-destructive text-destructive-foreground px-2 py-1 text-xs font-bold rounded flex items-center gap-1 animate-pulse",children:[e.jsx(p,{className:"w-3 h-3"})," LIVE"]}),e.jsxs("span",{className:"bg-black/50 backdrop-blur text-white px-2 py-1 text-xs font-mono rounded flex items-center gap-1",children:[e.jsx(f,{className:"w-3 h-3"})," ",s.viewers]})]}),e.jsxs("div",{className:"absolute bottom-0 left-0 right-0 p-4 flex justify-between items-end opacity-0 group-hover:opacity-100 transition-opacity duration-300",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsx(l,{variant:"ghost",size:"sm",className:"text-white hover:bg-white/10",onClick:a,children:e.jsx(v,{className:"w-5 h-5"})}),e.jsx(l,{variant:"ghost",size:"sm",className:"text-white hover:bg-white/10",onClick:r,children:e.jsx(b,{className:"w-5 h-5"})})]}),e.jsx("div",{className:"flex gap-4",children:e.jsx(l,{variant:"ghost",size:"sm",className:"text-white hover:bg-white/10",onClick:n,children:e.jsx(j,{className:"w-5 h-5"})})})]})]})}function E({stream:s,onStreamerClick:a,onFollow:r,onDonate:n,onShare:o}){return e.jsx(d,{variant:"glass",className:"p-6 border-white/5 bg-black/20 backdrop-blur-xl hover-glow-cyan transition-shadow duration-300",children:e.jsxs("div",{className:"flex justify-between items-start",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-neon p-0.5",children:e.jsx("img",{src:"https://picsum.photos/100/100",alt:"",className:"w-full h-full rounded-full object-cover border-2 border-border"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold text-foreground tracking-tight",children:s.title}),e.jsx("p",{className:"text-primary font-medium cursor-pointer hover:underline",onClick:a,children:s.streamer}),e.jsx("div",{className:"flex gap-2 mt-2",children:s.tags.map(t=>e.jsx(g,{label:t,variant:"terminal"},t))})]})]}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(l,{variant:"secondary",icon:e.jsx(N,{className:"w-4 h-4"}),onClick:r,children:"FOLLOW"}),e.jsx(l,{variant:"primary",icon:e.jsx(h,{className:"w-4 h-4"}),onClick:n,children:"DONATE"}),e.jsx(l,{variant:"ghost",icon:e.jsx(w,{className:"w-4 h-4"}),onClick:o,children:"SHARE"})]})]})})}function T({onChannelClick:s}){return e.jsxs("div",{className:"m
|