PageSourceSearch

https://customer-all-in-one.lovable.app/assets/MarketingStatistics-0Rf0gARf.js

js customer-all-in-one.lovable.app collected 2026-10-03 03:24:38 UTC 20,637 bytes, 1 lines download raw bytes

1import{b as Me,r as f,a as y,s as j,h as A,j as e,V as Ve,Y as Ae,B as Re,$ as Pe,aG as Oe,aH as De,aI as Ke,aJ as ze,aK as Le,aL as qe,af as Te,Z as Be,n as o,q as x,T as R,d as g,a5 as Fe,aV as Ie,ac as T,ad as B,ao as se,bi as te,o as P,p as O,l as F}from"./index-DH-BokCi.js";import{u as Ue,a as $e}from"./useUserStructureLevel-DRo1wc01.js";import{P as ae}from"./progress-BiMWyNLo.js";import{V as Ge}from"./MarketingDashboard-DWdwUySo.js";import{s as We}from"./marketingTracking-CNM6lDTA.js";import{C as Ye}from"./chevrons-up-down-VVOZWIcd.js";import{C as re}from"./chart-column-Ca29-7AZ.js";import{P as ne}from"./play-DvRXdhnb.js";import{A as He}from"./arrow-up-right-DazHTqyy.js";import{R as le,X as Xe,Y as Je,T as ie,B as I,C as Qe,L as Ze}from"./generateCategoricalChart-Bk2hj6AZ.js";import{B as es}from"./BarChart-Vpnp2Maj.js";import{C as ss}from"./CartesianGrid-kQv2fqrZ.js";import{P as ts,a as as}from"./PieChart-A3QLzh5s.js";import{s as rs}from"./subDays-DrcKCm7O.js";import"./award-CBTacqdu.js";import"./plus-BpzaYYvs.js";import"./grip-vertical-Cd1lS1BQ.js";import"./settings-2-BhLbbscX.js";import"./circle-check-big-CJj_8jVv.js";import"./monitor-DG0HISFB.js";import"./globe-D82z6n_O.js";import"./smartphone-GAhoV-zV.js";import"./layers-KhTSshVh.js";import"./wifi-BYIE4eBa.js";import"./formatDistanceToNow-BhHGKdS8.js";import"./differenceInCalendarMonths-Iy4bPkI5.js";import"./endOfDay-B2Gngflg.js";import"./endOfMonth-BSXPyvgy.js";import"./getRoundingMethod-D0I6Z7xl.js";import"./differenceInMilliseconds-5GNbS0QF.js";import"./square-pen-k58n3rdf.js";import"./camera-D8ZOCduy.js";import"./phone-BSjYJulZ.js";import"./youtube-CuuWzv1H.js";import"./facebook-C5G-9pSM.js";import"./alert-dialog-B-SXSf4z.js";import"./quote-BXVDvAqS.js";import"./share-2-DTTi71Id.js";import"./shopping-cart-Bo0AEueu.js";import"./isEqual-CJ-YxsYx.js";import"./PolarAngleAxis-BdNMwK9y.js";const ce=["hsl(var(--primary))","hsl(220, 70%, 55%)","hsl(150, 60%, 45%)","hsl(40, 90%, 55%)","hsl(0, 70%, 55%)"];function Gs(){var Q;const{user:n,roles:D}=Me(),{data:K}=Ue(),{data:z=[]}=$e(!0),N=Array.isArray(D)&&(D.includes("admin")||D.includes("innendienstmitarbeiter")),v=!!(K!=null&&K.isManager),b=N||v,[p,de]=f.useState("all"),[U,S]=f.useState(null),h=f.useMemo(()=>n!=null&&n.id?N?null:v?[n.id,...z]:[n.id]:[],[N,v,z,n==null?void 0:n.id]),{data:d=[],isLoading:me}=y({queryKey:["marketing-stats-videos",n==null?void 0:n.id,N,v,z.join(","),p],queryFn:async()=>{const s=[];let a=0;for(;;){let r=j.from("marketing_videos").select("id, title, status, created_at, sent_at, expires_days, duration_seconds, customer_id, created_by").order("created_at",{ascending:!1}).range(a,a+1e3-1);p!=="all"?r=r.eq("created_by",p):h!==null&&(r=r.in("created_by",h));const{data:l,error:i}=await r;if(i)throw i;if(!l||l.length===0||(s.push(...l),l.length<1e3))break;a+=1e3}return s},enabled:!!(n!=null&&n.id)}),k=f.useMemo(()=>[...new Set(d.map(s=>s.created_by).filter(Boolean))],[d]),{data:oe={}}=y({queryKey:["marketing-stats-creators",k],queryFn:async()=>{if(k.length===0)return{};const{data:s}=await j.from("profiles").select("id, full_name").in("id",k),t={};return(s||[]).forEach(a=>{t[a.id]=a.full_name||"Unbekannt"}),t},enabled:k.length>0}),_=d.map(s=>s.id),{data:$=[]}=y({queryKey:["marketing-stats-events",_],queryFn:async()=>{if(_.length===0)return[];const s=[],t=1e3;let a=0,r=!0;for(;r;){const{data:l,error:i}=await j.from("marketing_tracking_events").select("id, video_id, event_type, event_data, created_at").in("video_id",_).order("created_at",{ascending:!1}).range(a,a+t-1);if(i)throw i;l&&l.length>0?(s.push(...l),a+=t,r=l.length===t):r=!1}return s},enabled:_.length>0}),{data:xe={}}=y({queryKey:["marketing-stats-customers",d.map(s=>s.customer_id)],queryFn:async()=>{const s=[...new Set(d.map(r=>r.customer_id))];if(s.length===0)return{};const{data:t}=await j.from("customers").select("id, first_name, last_name").in("id",s),a={};return(t||[]).forEach(r=>{a[r.id]=[r.first_name,r.last_name].filter(Boolean).join(" ")}),a},enabled:d.length>0}),m=d.map(s=>{const t=$.filter(Ee=>Ee.video_id===s.id),a=We(t),r=a.views,l=a.starts,i=a.completes,c=a.downloads,M=a.emailOpens,ve=a.emailsSent,Se=a.maxPct,ke=r>0?Math.round(i/r*100):0,_e=r>0?Math.round(c/r*100):0,Ce=a.emailOpenRate;let Z=!1,ee=null,V=null;return s.sent_at&&s.expires_days&&(V=new Date(new Date(s.sent_at).getTime()+s.expires_days*24*60*60*1e3),Z=new Date>V,ee=Math.ceil((V.getTime()-Date.now())/(24*60*60*1e3))),{...s,customerName:xe[s.customer_id]||"Unbekannt",creatorName:oe[s.created_by]||"—",views:r,starts:l,completes:i,downloads:c,emailOpens:M,emailsSent:ve,emailOpenRate:Ce,maxPct:Se,completionRate:ke,downloadRate:_e,isExpired:Z,daysLeft:ee,expiresAt:V,eventCount:t.length,pageErrors:a.pageErrors,linkClicks:a.linkClicks}}),he=d.length,w=d.filter(s=>s.status==="sent").length,ue=m.reduce((s,t)=>s+t.views,0),pe=m.reduce((s,t)=>s+t.starts,0),fe=m.reduce((s,t)=>s+t.downloads,0);m.reduce((s,t)=>s+t.completes,0);const je=w>0?Math.round(m.filter(s=>s.status==="sent").reduce((s,t)=>s+t.completionRate,0)/w):0,ge=w>0?Math.round(m.filter(s=>s.status==="sent").reduce((s,t)=>s+t.downloadRate,0)/w):0,Ne=m.reduce((s,t)=>s+t.emailOpens,0),G=m.reduce((s,t)=>s+t.emailsSent,0),be=G>0?Math.round(Ne/G*100):0,C=m.reduce((s,t)=>s+t.pageErrors,0),E=m.filter(s=>s.pageErrors>0),u=m.filter(s=>s.status==="sent"&&s.views>0&&s.starts===0),we=Array.from({length:7},(s,t)=>{const a=rs(new Date,6-t),r=A(a,"yyyy-MM-dd"),l=A(a,"EEE",{locale:F}),i=$.filter(c=>{var M;return(M=c.created_at)==null?void 0:M.startsWith(r)});return{label:l,views:i.filter(c=>c.event_type==="page_view").length,starts:i.filter(c=>c.event_type==="video_start").length,downloads:i.filter(c=>c.event_type==="pdf_download").length}}),W=[{name:"Entwurf",value:d.filter(s=>s.status==="draft").length},{name:"Aufgenommen",value:d.filter(s=>s.status==="recorded").length},{name:"Versendet",value:d.filter(s=>s.status==="sent").length}].filter(s=>s.value>0),L=[...m].filter(s=>s.status==="sent").sort((s,t)=>t.views-s.views).slice(0,5),{data:Y=[]}=y({queryKey:["marketing-stats-allowed-creators",N,h==null?void 0:h.join(",")],queryFn:async()=>{let s=j.from("profiles").select("id, full_name").order("full_name");if(h!==null){if(h.length===0)return[];s=s.in("id",h)}else{const a=[];{let i=0;for(;;){const{data:c}=await j.from("marketing_videos").select("created_by").not("created_by","is",null).range(i,i+1e3-1);if(!c||c.length===0||(a.push(...c),c.length<1e3))break;i+=1e3}}
1const r=[...new Set((a||[]).map(l=>l.created_by))];if(r.length===0)return[];s=s.in("id",r)}const{data:t}=await s;return t||[]},enabled:b&&!!(n!=null&&n.id)}),[H,X]=f.useState(!1),J=f.useMemo(()=>{const s=[{value:"all",label:"Alle Vertriebler"}];return n!=null&&n.id&&s.push({value:n.id,label:"Nur ich"}),Y.filter(t=>t.id!==(n==null?void 0:n.id)).forEach(t=>s.push({value:t.id,label:t.full_name||"Unbekannt"})),s},[Y,n==null?void 0:n.id]),ye=((Q=J.find(s=>s.value===p))==null?void 0:Q.label)||"Alle Vertriebler",q=b?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Vertriebler:"}),e.jsxs(Ve,{open:H,onOpenChange:X,children:[e.jsx(Ae,{asChild:!0,children:e.jsxs(Re,{variant:"outline",role:"combobox","aria-expanded":H,className:"w-[260px] justify-between font-normal",children:[ye,e.jsx(Ye,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e.jsx(Pe,{className:"w-[260px] p-0",align:"start",children:e.jsxs(Oe,{children:[e.jsx(De,{placeholder:"Vertriebler suchen..."}),e.jsxs(Ke,{children:[e.jsx(ze,{children:"Kein Vertriebler gefunden."}),e.jsx(Le,{children:J.map(s=>e.jsxs(qe,{value:s.label,onSelect:()=>{de(s.value),X(!1)},children:[e.jsx(Te,{className:Be("mr-2 h-4 w-4",p===s.value?"opacity-100":"opacity-0")}),s.label]},s.value))})]})]})})]})]}):null;return me?e.jsxs("div",{className:"space-y-4",children:[q,e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx("div",{className:"animate-spin h-8 w-8 border-4 border-primary border-t-transparent rounded-full"})})]}):d.length===0?e.jsxs("div",{className:"space-y-4",children:[q,e.jsx(o,{children:e.jsxs(x,{className:"p-8 text-center",children:[e.jsx(re,{className:"h-12 w-12 text-muted-foreground mx-auto mb-3"}),e.jsx("h3",{className:"font-medium mb-1",children:"Noch keine Statistiken"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:b&&p!=="all"?"Für diesen Vertriebler liegen keine Videos vor.":"Erstelle und versende dein erstes Angebotsvideo, um Statistiken zu sehen."})]})})]}):e.jsxs("div",{className:"space-y-6",children:[q,(C>0||u.length>0)&&e.jsx(o,{className:"border-destructive/40 bg-destructive/5",children:e.jsx(x,{className:"p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"h-10 w-10 rounded-full bg-destructive/15 flex items-center justify-center shrink-0",children:e.jsx(R,{className:"h-5 w-5 text-destructive"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"font-semibold text-sm",children:"Probleme beim Videoanschauen erkannt"}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[C>0&&e.jsxs(e.Fragment,{children:[C," Player-/Ladefehler bei ",E.length," Kunde",E.length!==1?"n":"","."]}),C>0&&u.length>0&&" ",u.length>0&&e.jsxs(e.Fragment,{children:[u.length," Kunde",u.length!==1?"n haben":" hat"," die Seite geöffnet, aber das Video nie gestartet."]})]}),(E.length>0||u.length>0)&&e.jsxs("div",{className:"mt-3 space-y-1.5 max-h-48 overflow-y-auto",children:[E.slice(0,5).map(s=>e.jsxs("button",{onClick:()=>S(s.id),className:"w-full flex items-center justify-between gap-2 text-xs p-2 rounded hover:bg-destructive/10 transition-colors text-left",children:[e.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(R,{className:"h-3.5 w-3.5 text-destructive shrink-0"}),e.jsx("span",{className:"font-medium truncate",children:s.customerName}),e.jsxs("span",{className:"text-muted-foreground truncate",children:["– ",s.title]})]}),e.jsxs(g,{variant:"destructive",className:"text-[10px] shrink-0",children:[s.pageErrors," Fehler"]})]},`err-${s.id}`)),u.slice(0,5).map(s=>e.jsxs("button",{onClick:()=>S(s.id),className:"w-full flex items-center justify-between gap-2 text-xs p-2 rounded hover:bg-destructive/10 transition-colors text-left",children:[e.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(Fe,{className:"h-3.5 w-3.5 text-orange-500 shrink-0"}),e.jsx("span",{className:"font-medium truncate",children:s.customerName}),e.jsxs("span",{className:"text-muted-foreground truncate",children:["– ",s.title]})]}),e.jsx(g,{variant:"outline",className:"text-[10px] shrink-0 border-orange-500/40 text-orange-600",children:"Seite offen, kein Start"})]},`stuck-${s.id}`))]})]})]})})}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-7 gap-3",children:[e.jsx(o,{children:e.jsxs(x,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(Ie,{className:"h-4 w-4 text-primary"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Videos"})]}),e.jsx("p",{className:"text-2xl font-bold",children:he}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[w," versendet"]})]})}),e.jsx(o,{children:e.jsxs(x,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(T,{className:"h-4 w-4 text-blue-500"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Aufrufe"})]}),e.jsx("p",{className:"text-2xl font-bold",children:ue})]})}),e.jsx(o,{children:e.jsxs(x,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(ne,{className:"h-4 w-4 text-green-500"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Starts"})]}),e.jsx("p",{className:"text-2xl font-bold",children:pe})]})}),e.jsx(o,{children:e.jsxs(x,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(B,{className:"h-4 w-4 text-orange-500"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Downloads"})]}),e.jsx("p",{className:"text-2xl font-bold",children:fe})]})}),e.jsx(o,{children:e.jsxs(x,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(se,{className:"h-4 w-4 text-green-500"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"E-Mail geöffnet"})]}),e.jsxs("p",{className:"text-2xl font-bold",children:[be,"%"]})]})}),e.jsx(o,{children:e.jsxs(x,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(te,{className:"h-4 w-4 text-purple-500"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Ø Abschluss"})]}),e.jsxs("p",{className:"text-2xl font-bold",children:[je,"%"]})]})}),e.jsx(o,{children:e.jsxs(x,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(He,{className:"h-4 w-4 text-emerald-500"}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"Ø Download-Rate"})]}),e.jsxs("p",{className:"text-2xl font-bold",children:[ge,"%"]})]})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4",children:[e.jsxs(o,{className:"lg:col-span-2",children:[e.jsx(P,{className:"pb-2",children:e.jsx(O,{className:"text-base",children:"Aktivität der letzten 7 Tage"})}),e.jsx(x,{children:e.jsx(le,{width:"100%",height:220,children:e.jsxs(es,{data:we,children:[e.jsx(ss,{strokeDasharray:"3 3",className:"stroke-border"}),e.jsx(Xe,{dataKey:"label",tick:{fontSize:12},className:"fill-muted-foreground"}),e.jsx(Je,{tick:{fontSize:12},className:"fill-muted-foreground",allowDecimals:!1}
1),e.jsx(ie,{contentStyle:{borderRadius:8,border:"1px solid hsl(var(--border))"},labelStyle:{fontWeight:600}}),e.jsx(I,{dataKey:"views",name:"Aufrufe",fill:"hsl(220, 70%, 55%)",radius:[4,4,0,0]}),e.jsx(I,{dataKey:"starts",name:"Starts",fill:"hsl(150, 60%, 45%)",radius:[4,4,0,0]}),e.jsx(I,{dataKey:"downloads",name:"Downloads",fill:"hsl(40, 90%, 55%)",radius:[4,4,0,0]})]})})})]}),e.jsxs(o,{children:[e.jsx(P,{className:"pb-2",children:e.jsx(O,{className:"text-base",children:"Video-Status"})}),e.jsx(x,{children:e.jsx(le,{width:"100%",height:220,children:e.jsxs(ts,{children:[e.jsx(as,{data:W,cx:"50%",cy:"50%",innerRadius:50,outerRadius:80,paddingAngle:4,dataKey:"value",children:W.map((s,t)=>e.jsx(Qe,{fill:ce[t%ce.length]},t))}),e.jsx(Ze,{iconSize:10,wrapperStyle:{fontSize:12}}),e.jsx(ie,{})]})})})]})]}),e.jsxs(o,{children:[e.jsx(P,{className:"pb-2",children:e.jsxs(O,{className:"text-base flex items-center gap-2",children:[e.jsx(re,{className:"h-5 w-5"}),"Statistik pro Video"]})}),e.jsx(x,{className:"p-0",children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b bg-muted/50",children:[e.jsx("th",{className:"text-left p-3 font-medium",children:"Video / Kunde"}),b&&e.jsx("th",{className:"text-left p-3 font-medium",children:"Vertriebler"}),e.jsx("th",{className:"text-center p-3 font-medium",children:"Status"}),e.jsx("th",{className:"text-center p-3 font-medium",children:e.jsx(T,{className:"h-4 w-4 mx-auto"})}),e.jsx("th",{className:"text-center p-3 font-medium",children:e.jsx(ne,{className:"h-4 w-4 mx-auto"})}),e.jsx("th",{className:"text-center p-3 font-medium",children:e.jsx(B,{className:"h-4 w-4 mx-auto"})}),e.jsx("th",{className:"text-center p-3 font-medium",children:"Max %"}),e.jsx("th",{className:"text-center p-3 font-medium",title:"E-Mail-Pixel geladen (von Mailclients automatisch ausgelöst)",children:e.jsx(se,{className:"h-4 w-4 mx-auto"})}),e.jsx("th",{className:"text-center p-3 font-medium",title:"Klick-Rate: tatsächliche Seitenaufrufe ÷ versendete E-Mails",children:"Klick-Rate"}),e.jsx("th",{className:"text-center p-3 font-medium",children:"Abschluss"}),e.jsx("th",{className:"text-center p-3 font-medium",title:"Player-/Ladefehler beim Kunden",children:e.jsx(R,{className:"h-4 w-4 mx-auto"})}),e.jsx("th",{className:"text-center p-3 font-medium",children:"Angebot läuft aus"})]})}),e.jsx("tbody",{children:m.map(s=>{const t=s.status==="draft"?"Entwurf":s.status==="recorded"?"Aufgenommen":s.status==="sent"?"Versendet":s.status;return e.jsxs("tr",{onClick:()=>S(s.id),className:"border-b hover:bg-muted/30 transition-colors cursor-pointer",children:[e.jsxs("td",{className:"p-3",children:[e.jsx("p",{className:"font-medium truncate max-w-[200px]",children:s.title}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.customerName})]}),b&&e.jsx("td",{className:"p-3 text-xs text-muted-foreground",children:s.creatorName}),e.jsx("td",{className:"p-3 text-center",children:e.jsx(g,{variant:s.status==="sent"?"default":"secondary",className:"text-xs",children:t})}),e.jsx("td",{className:"p-3 text-center font-medium",children:s.views}),e.jsx("td",{className:"p-3 text-center font-medium",children:s.starts}),e.jsx("td",{className:"p-3 text-center font-medium",children:s.downloads}),e.jsx("td",{className:"p-3 text-center",children:e.jsxs("div",{className:"flex items-center gap-2 justify-center",children:[e.jsx(ae,{value:s.maxPct,className:"w-16 h-1.5"}),e.jsxs("span",{className:"text-xs",children:[s.maxPct,"%"]})]})}),e.jsx("td",{className:"p-3 text-center",children:s.emailOpenRate!==null?e.jsxs("span",{className:s.emailOpenRate>0?"text-green-600 font-medium":"text-muted-foreground",children:[s.emailOpenRate,"%"]}):e.jsx("span",{className:"text-muted-foreground",children:"–"})}),e.jsx("td",{className:"p-3 text-center",children:s.emailsSent>0?(()=>{const a=Math.round(s.views/s.emailsSent*100);return e.jsxs("span",{className:a>0?"text-green-600 font-medium":"text-muted-foreground",title:`${s.views} Aufrufe / ${s.emailsSent} E-Mails`,children:[a,"%"]})})():e.jsx("span",{className:"text-muted-foreground",children:"–"})}),e.jsx("td",{className:"p-3 text-center",children:s.status==="sent"?e.jsxs("span",{className:s.completionRate>50?"text-green-600 font-medium":"text-muted-foreground",children:[s.completionRate,"%"]}):e.jsx("span",{className:"text-muted-foreground",children:"–"})}),e.jsx("td",{className:"p-3 text-center",children:s.pageErrors>
10?e.jsxs(g,{variant:"destructive",className:"text-xs gap-1",children:[e.jsx(R,{className:"h-3 w-3"}),s.pageErrors]}):s.status==="sent"&&s.views>0&&s.starts===0?e.jsx(g,{variant:"outline",className:"text-[10px] border-orange-500/40 text-orange-600",children:"kein Start"}):e.jsx("span",{className:"text-muted-foreground text-xs",children:"–"})}),e.jsx("td",{className:"p-3 text-center",children:s.expiresAt?s.isExpired?e.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[e.jsx(g,{variant:"destructive",className:"text-xs",children:"Abgelaufen"}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:A(s.expiresAt,"dd.MM.yyyy",{locale:F})})]}):e.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[e.jsx("span",{className:`text-xs font-medium ${s.daysLeft!==null&&s.daysLeft<=2?"text-orange-500":"text-foreground"}`,children:A(s.expiresAt,"dd.MM.yyyy",{locale:F})}),e.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["noch ",s.daysLeft," Tag",s.daysLeft!==1?"e":""]})]}):e.jsx("span",{className:"text-muted-foreground text-xs",children:"–"})})]},s.id)})})]})})})]}),L.length>0&&e.jsxs(o,{children:[e.jsx(P,{className:"pb-2",children:e.jsxs(O,{className:"text-base flex items-center gap-2",children:[e.jsx(te,{className:"h-5 w-5"}),"Top Videos (nach Aufrufen)"]})}),e.jsx(x,{children:e.jsx("div",{className:"space-y-3",children:L.map((s,t)=>{var r;const a=((r=L[0])==null?void 0:r.views)||1;return e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-lg font-bold text-muted-foreground w-6 text-right",children:t+1}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("p",{className:"font-medium text-sm truncate",children:s.title}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",s.customerName,")"]})]}),e.jsx(ae,{value:s.views/a*100,className:"h-2"})]}),e.jsxs("div",{className:"flex items-center gap-4 text-xs text-muted-foreground flex-shrink-0",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(T,{className:"h-3.5 w-3.5"})," ",s.views]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(B,{className:"h-3.5 w-3.5"})," ",s.downloads]})]})]},s.id)})})})]}),e.jsx(Ge,{open:!!U,onOpenChange:s=>!s&&S(null),videoId:U})]})}export{Gs as MarketingStatistics};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.