1import{l as n,j as e,H as f,L as x}from"./index-DawKARqW.js";import{h as y,p as b}from"./hub-ehE1jQbm.js";import{A as j}from"./arrow-left-DWqngnSQ.js";import{B as g}from"./bluetooth-CZMWNPSB.js";import{C as w}from"./cloud-DqFamj-J.js";import{C as v}from"./chart-column-BlB9m3zG.js";import{S as N}from"./sparkles-D0lObpLB.js";import{A as k}from"./arrow-right-yKsbQc8Z.js";const P=b.url,m={product:"Absolut Vodka 70cl",sku:"ABS-70-01",price:"â¬24.95",timestamp:new Date().toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit"}),receipt:"#4821"},A="â ï¸ Over-pour detected: Absolut Vodka poured 45 ml vs 25 ml standard. Estimated loss per pour: â¬0.82. At current rate, projected monthly loss: â¬246.",I=(t,s,a)=>{const[r,i]=n.useState(0);return n.useEffect(()=>{if(!t){i(0);return}const o=performance.now();let l;const d=u=>{const p=Math.min((u-o)/a,1);i(Math.round(p*s)),p<1&&(l=requestAnimationFrame(d))};return l=requestAnimationFrame(d),()=>cancelAnimationFrame(l)},[t,s,a]),r},C=(t,s,a=18)=>{const[r,i]=n.useState("");return n.useEffect(()=>{if(!s){i("");return}let o=0;const l=setInterval(()=>{o++,i(t.slice(0,o)),o>=t.length&&clearInterval(l)},a);return()=>clearInterval(l)},[t,s,a]),r},S=({active:t})=>t?e.jsx("div",{className:"absolute left-1/2 top-[62%] -translate-x-1/2 pointer-events-none",children:Array.from({length:6}).map((s,a)=>e.jsx("span",{className:"absolute rounded-full bg-purple-400/70",style:{width:4+Math.random()*4,height:4+Math.random()*4,left:-6+Math.random()*12,animation:`liquidDrop ${.6+Math.random()*.5}s ease-in infinite`,animationDelay:`${a*.12}s`}},a))}):null,h=({active:t,vertical:s=!1})=>{if(!t)return null;const a=s?"flex flex-col items-center gap-2 h-16":"flex items-center gap-2 w-24";return e.jsx("div",{className:a,children:[0,1,2].map(r=>e.jsx("span",{className:"w-2 h-2 rounded-full bg-purple-400",style:{animation:"dotPulse 1s ease-in-out infinite",animationDelay:`${r*.25}s`}},r))})},c=({title:t,value:s,sub:a,delay:r=0,accent:i=!1})=>e.jsxs("div",{className:"rounded-xl border border-white/10 bg-white/[0.04] backdrop-blur-md p-4 opacity-0",style:{animation:`cardIn 0.5s ease-out ${r}s forwards`},children:[e.jsx("p",{className:"text-[11px] uppercase tracking-wider text-white/40 mb-1",children:t}),e.jsx("p",{className:`text-xl font-semibold ${i?"text-purple-400":"text-white"}`,children:s}),a&&e.jsx("p",{className:"text-xs text-white/50 mt-0.5",children:a})]}),R=()=>{const[t,s]=n.useState(0),a=I(t>=1,45,2e3),r=C(A,t>=5,16);n.useEffect(()=>{if(t===0||t===4||t===5)return;const d=setTimeout(()=>s(u=>Math.min(u+1,5)),{1:2200,2:1800,3:1800}[t]??2e3);return()=>clearTimeout(d)},[t]),n.useEffect(()=>{if(t!==4)return;const l=setTimeout(()=>s(5),2500);return()=>clearTimeout(l)},[t]);const i=n.useCallback(()=>{t===0&&s(1)},[t]),o=n.useCallback(()=>s(0),[]);return e.jsxs(e.Fragment,{children:[e.jsxs(f,{children:[e.jsx("title",{children:"Pourify - Interactive Demo"}),e.jsx("meta",{name:"robots",content:"noindex,nofollow"})]}),e.jsxs("div",{className:"fixed inset-0 bg-[#0F1117] text-white overflow-hidden select-none",children:[e.jsx("style",{children:` 2 @keyframes liquidDrop { 3 0% { transform: translateY(0) scale(1); opacity: .9; } 4 100% { transform: translateY(60px) scale(.4); opacity: 0; } 5 } 6 @keyframes dotPulse { 7 0%, 100% { opacity: .2; transform: scale(.7); } 8 50% { opacity: 1; transform: scale(1.1); } 9 } 10 @keyframes cardIn { 11 0% { opacity: 0; transform: translateY(16px); } 12 100% { opacity: 1; transform: translateY(0); } 13 } 14 @keyframes glowPulse { 15 0%, 100% { box-shadow: 0 0 20px rgba(168,85,247,.15); } 16 50% { box-shadow: 0 0 40px rgba(168,85,247,.35); } 17 } 18 @keyframes promptPulse { 19 0%, 100% { opacity: .6; } 20 50% { opacity: 1; } 21 } 22 `}),e.jsxs(x,{to:"/",className:"absolute top-5 left-5 z-50 flex items-center gap-1.5 text-xs text-white/40 hover:text-white/70 transition-colors","aria-label":"Back to Pourify homepage",children:[e.jsx(j,{className:"w-3.5 h-3.5"})," Back to Pourify homepage"]}),e.jsx("div",{className:"absolute top-5 left-1/2 -translate-x-1/2 z-50",children:e.jsxs("span",{className:"text-[10px] uppercase tracking-[.25em] text-white/30",children:[t===0&&"Interactive Demo",t===1&&"Pouringâ¦",t===2&&"Bluetooth â Hub",t===3&&"Hub â Cloud",t===4&&"Dashboard",t===5&&"AI Insight"]})}),e.jsx("div",{className:"absolute bottom-5 left-1/2 -translate-x-1/2 z-50 flex gap-2",children:[0,1,2,3,4,5].map(l=>e.jsx("span",{className:`w-1.5 h-1.5 rounded-full transition-all duration-500 ${l<=t?"bg-purple-400 scale-110":"bg-white/20"}`},l))}),e.jsx("div",{className:`absolute inset-0 flex flex-col items-center justify-center transition-all duration-700 ${t>=4?"opacity-0 scale-95 pointer-events-none":"opacity-100"}`,children:e.jsxs("div",{className:"flex items-center gap-4 sm:gap-8",children:[e.jsxs("div",{className:"relative flex flex-col items-center",children:[e.jsxs("button",{onClick:i,className:"relative focus:outline-none",style:{animation:t===0?"glowPulse 2.5s ease-in-out infinite":void 0,borderRadius:16},children:[e.jsx("img",{src:P,alt:"Smart Pourer",className:"w-20 sm:w-28 transition-transform duration-1000 ease-[
22cubic-bezier(.4,0,.2,1)]",style:{transform:t>=1?"rotate(-45deg)":"rotate(0deg)",filter:t>=1?"drop-shadow(0 0 20px rgba(168,85,247,.4))":"none"}}),e.jsx(S,{active:t===1})]}),e.jsx("div",{className:`mt-3 text-center transition-opacity duration-500 ${t>=1&&t<=3?"opacity-100":"opacity-0"}`,children:e.jsxs("span",{className:"text-2xl font-bold text-purple-400 tabular-nums",children:[a," ml"]})}),t===0&&e.jsx("p",{className:"mt-4 text-sm text-white/60",style:{animation:"promptPulse 2s ease-in-out infinite"},children:"Tap to pour â"})]}),e.jsx(h,{active:t===2}),e.jsxs("div",{className:`flex flex-col items-center transition-all duration-700 ${t>=2?"opacity-100 scale-100":"opacity-20 scale-90"}`,children:[e.jsxs("div",{className:"relative",children:[e.jsx("img",{src:y,alt:"Pourify Hub",className:"w-16 sm:w-20"}),t===2&&e.jsx(g,{className:"absolute -top-3 -right-3 w-4 h-4 text-blue-400 animate-pulse"})]}),e.jsx("span",{className:"text-[10px] uppercase tracking-wider text-white/40 mt-2",children:"Hub"})]}),e.jsx(h,{active:t===3}),e.jsxs("div",{className:`flex flex-col items-center transition-all duration-700 ${t>=3?"opacity-100 scale-100":"opacity-20 scale-90"}`,children:[e.jsx(w,{className:"w-10 sm:w-14 h-10 sm:h-14 text-purple-400",style:{filter:t===3?"drop-shadow(0 0 12px rgba(168,85,247,.5))":"none"}}),e.jsx("span",{className:"text-[10px] uppercase tracking-wider text-white/40 mt-2",children:"Cloud"})]})]})}),e.jsx("div",{className:`absolute inset-0 transition-all duration-700 ${t>=4?"opacity-100":"opacity-0 pointer-events-none"}`,children:e.jsxs("div",{className:"h-full flex flex-col items-center justify-center px-4 sm:px-8 max-w-3xl mx-auto",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-6 opacity-0",style:{animation:t>=4?"cardIn 0.4s ease-out 0s forwards":void 0},children:[e.jsx(v,{className:"w-5 h-5 text-purple-400"}),e.jsx("h2",{className:"text-lg font-semibold",children:"Live Dashboard"})]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3 w-full mb-6",children:[e.jsx(c,{title:"Last Pour",value:"45 ml",sub:"Absolut Vodka",delay:.1,accent:!0}),e.jsx(c,{title:"POS Match",value:m.receipt,sub:m.product,delay:.25}),e.jsx(c,{title:"Price / Bottle",value:m.price,sub:`SKU ${m.sku}`,delay:.4}),e.jsx(c,{title:"Time",value:m.timestamp,sub:"Synced",delay:.55})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-3 w-full mb-6",children:[e.jsx(c,{title:"Pours Today",value:"127",delay:.65}),e.jsx(c,{title:"Revenue",value:"â¬2,841",sub:"+12% vs yesterday",delay:.75,accent:!0}),e.jsx(c,{title:"Variance",value:"4.2%",sub:"Above target",delay:.85})]}),e.jsxs("div",{className:`w-full rounded-xl border border-purple-500/20 bg-purple-500/[0.06] backdrop-blur-md p-5 transition-all duration-700 ${t>=5?"opacity-100 translate-y-0":"opacity-0 translate-y-4"}`,children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(N,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-xs uppercase tracking-wider text-purple-300/70",children:"AI Insight"})]}),e.jsxs("p",{className:"text-sm text-white/80 leading-relaxed min-h-[3rem]",children:[r,e.jsx("span",{className:"inline-block w-[2px] h-4 bg-purple-400 ml-0.5 animate-pulse align-middle"})]})]}),e.jsxs("div",{className:`mt-8 flex flex-col items-center gap-3 transition-all duration-700 delay-500 ${t>=5?"opacity-100 translate-y-0":"opacity-0 translate-y-4"}`,children:[e.jsx("p",{className:"text-white/40 text-sm",children:"This is Pourify."}),e.jsxs(x,{to:"/demo",className:"inline-flex items-center gap-2 rounded-full bg-purple-500 hover:bg-purple-400 text-white px-8 py-3 text-sm font-medium transition-colors",children:["Book a demo ",e.jsx(k,{className:"w-4 h-4"})]}),e.jsx("button",{onClick:o,className:"text-xs text-white/30 hover:text-white/60 transition-colors mt-1",children:"â» Replay demo"})]})]})})]})]})};export{R as default};
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.