PageSourceSearch

https://www.dealkeep.io/assets/PlanTransitionOverlay-CXpKZWHn.js

js dealkeep.io collected 2026-09-24 13:36:43 UTC 3,232 bytes, 1 lines download raw bytes

1import{r as n,j as e}from"./vendor-react-Dqm4a0k5.js";import{u as g,P as p}from"./MobilePageTransitionAnimated-lpTtBr8f.js";import{U as j,d as w,Z as c,G as v,e as N}from"./vendor-icons-Dv6Y7wXg.js";import{A as f,m as t}from"./vendor-motion-uI1IlCbt.js";import"./index-BR-ShKyk.js";import"./vendor-supabase-RijQlDjE.js";import"./vendor-utils-KLhAiGEE.js";import"./vendor-query-BQV4-hhd.js";import"./radix-react-slot-CrO6XSQS.js";import"./radix-react-compose-refs-IIetlP92.js";const b={TRIAL:{name:"Trial",icon:v,color:"text-primary",gradient:"from-primary to-primary/80"},STARTER:{name:"Starter",icon:c,color:"text-sky-500",gradient:"from-sky-500 to-sky-600"},FREE:{name:"Free",icon:c,color:"text-muted-foreground",gradient:"from-muted-foreground to-muted-foreground/80"},PRO:{name:"Starter",icon:w,color:"text-primary",gradient:"from-primary to-primary/80"},TEAM:{name:"Pro",icon:j,color:"text-primary",gradient:"from-primary to-success"}};function I(){const{plan:E}=g(),[x,l]=n.useState(!1),[m,d]=n.useState(null),[r,o]=n.useState(!1),s=n.useRef(null);n.useEffect(()=>{const u=h=>{const a=h.detail.plan;if(a){if(s.current===null){s.current=a;return}a!==s.current&&(s.current=a,d(a),l(!0),o(!1),setTimeout(()=>{o(!0)},400),setTimeout(()=>{l(!1),d(null),o(!1)},2e3))}};return window.addEventListener(p,u),()=>{window.removeEventListener(p,u)}},[]);const i=m?b[m]:null,y=i?.icon||c;return e.jsx(f,{children:x&&i&&e.jsx(t.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-[100] flex items-center justify-center bg-background/80 backdrop-blur-sm",children:e.jsxs(t.div,{initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.8,opacity:0},transition:{type:"spring",damping:20,stiffness:300},className:"flex flex-col items-center justify-center text-center space-y-6 px-4 max-w-sm mx-auto",children:[e.jsxs(t.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1,type:"spring",damping:15},className:"relative flex items-center justify-center w-24 h-24 shrink-0","aria-hidden":"true",children:[e.jsx("div",{className:`w-24 h-24 rounded-full bg-gradient-to-br ${i.gradient} flex items-center justify-center shadow-2xl`,children:e.jsx(f,{mode:"wait",children:r?e.jsx(t.div,{initial:{scale:0,rotate:-180},animate:{scale:1,rotate:0},exit:{scale:0},transition:{type:"spring",damping:12},children:e.jsx(N,{className:"w-12 h-12 text-white"})},"success"):e.jsx(t.div,{initial:{scale:1},animate:{scale:[1,1.1,1]},transition:{repeat:1/0,duration:.8},children:e.jsx(y,{className:"w-12 h-12 text-white"})},"icon")})}),r&&e.jsx(t.div,{initial:{scale:1,opacity:.6},animate:{scale:2,opacity:0},transition:{duration:.6},className:`absolute inset-0 rounded-full bg-gradient-to-br ${i.gradient}`})]}),e.jsxs(t.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.2},className:"space-y-2",children:[e.jsx("h2",{className:"text-2xl font-bold text-foreground",children:r?"Welcome to":"Switching to"}),e.jsxs("p",{className:`text-3xl font-bold ${i.color}`,children:[i.name," Plan"]}),r&&e.jsx(t.p,{initial:{opacity:0}
1,animate:{opacity:1},transition:{delay:.3},className:"text-muted-foreground",children:"Your dashboard is ready!"})]})]})})})}export{I as PlanTransitionOverlay};

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.