1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3928],{3998:(e,t,r)=>{r.d(t,{$:()=>d,r:()=>l});var a=r(95155),s=r(12115),i=r(32467),n=r(83101),o=r(64269);let l=(0,n.F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=s.forwardRef((e,t)=>{let{className:r,variant:s,size:n,asChild:d=!1,...c}=e,u=d?i.DX:"button";return(0,a.jsx)(u,{className:(0,o.cn)(l({variant:s,size:n,className:r})),ref:t,...c})});d.displayName="Button"},13496:(e,t,r)=>{r.d(t,{$m:()=>c,As:()=>d,nD:()=>l,ub:()=>u});var a=r(95155),s=r(12115),i=r(16083),n=r(24033),o=r(64269);let l=i.bL,d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(i.q7,{ref:t,className:(0,o.cn)("border-b",r),...s})});d.displayName="AccordionItem";let c=s.forwardRef((e,t)=>{let{className:r,children:s,...l}=e;return(0,a.jsx)(i.Y9,{className:"flex",children:(0,a.jsxs)(i.l9,{ref:t,className:(0,o.cn)("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",r),...l,children:[s,(0,a.jsx)(n.A,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})})});c.displayName=i.l9.displayName;let u=s.forwardRef((e,t)=>{let{className:r,children:s,...n}=e;return(0,a.jsx)(i.UC,{ref:t,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:(0,a.jsx)("div",{className:(0,o.cn)("pb-4 pt-0",r),children:s})})});u.displayName=i.UC.displayName},15894:(e,t,r)=>{r.d(t,{d:()=>u});var a=r(12115);let s=0,i=new Map,n=e=>{if(i.has(e))return;let t=setTimeout(()=>{i.delete(e),d({type:"REMOVE_TOAST",toastId:e})},1e6);i.set(e,t)},o=[],l={toasts:[]};function d(e){l=((e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?n(r):e.toasts.forEach(e=>{n(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}})(l,e),o.forEach(e=>{e(l)})}function c(e){let t=(s=(s+1)%Number.MAX_VALUE).toString(),r=()=>d({type:"DISMISS_TOAST",toastId:t});return d({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function u(){let[e,t]=a.useState(l);return a.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:c,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}},18332:(e,t,r)=>{r.d(t,{Fc:()=>l,TN:()=>c,XL:()=>d});var a=r(95155),s=r(12115),i=r(83101),n=r(64269);let o=(0,i.F)("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),l=s.forwardRef((e,t)=>{let{className:r,variant:s,...i}=e;return(0,a.jsx)("div",{ref:t,role:"alert",className:(0,n.cn)(o({variant:s}),r),...i})});l.displayName="Alert";let d=s.forwardRef((e,t)=>
1{let{className:r,...s}=e;return(0,a.jsx)("h5",{ref:t,className:(0,n.cn)("mb-1 font-medium leading-none tracking-tight",r),...s})});d.displayName="AlertTitle";let c=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("text-sm [&_p]:leading-relaxed",r),...s})});c.displayName="AlertDescription"},19016:(e,t,r)=>{r.d(t,{A:()=>u,AuthProvider:()=>c});var a=r(95155),s=r(12115),i=r(81328),n=r(49489),o=r(39390),l=r(35299);let d=(0,s.createContext)(void 0);function c(e){let{children:t}=e,[r,c]=(0,s.useState)(null),[u,f]=(0,s.useState)(!0),[m,p]=(0,s.useState)(!1),[x,h]=(0,s.useState)("free"),[g,v]=(0,s.useState)("user"),b=async e=>{p(!0);try{let t=await (0,i.yx)(e,!0);console.log("Firebase Auth Claims:",t.claims);let r=t.claims.stripeRole;if(r)h(r);else{let t=await (0,o.x7)((0,o.H9)(n.db,"users",e.uid));if(t.exists()){let e=t.data();h(e.plan||"free"),v(e.role||"user")}else h("free"),v("user")}t.claims.admin&&v("admin")}catch(e){console.error("Failed to fetch user data:",e)}finally{p(!1)}};(0,s.useEffect)(()=>{if(!n.Vi||!n.e7)return void f(!1);let e=(0,i.hg)(n.e7,async e=>{c(e),e?await b(e):(h("free"),v("user")),f(!1)});return()=>e()},[]);let y=async()=>{r&&await b(r)},N=async()=>{n.Vi&&n.e7&&(await (0,i.CI)(n.e7),c(null),h("free"),v("user"))},j=async()=>{r&&await (0,i.gA)(r)},w=u||m,A={user:r,userId:(null==r?void 0:r.uid)||null,isPro:"pro"===x||"business"===x,isAdmin:"admin"===g,loading:w,logout:N,refreshAuth:y,isFirebaseEnabled:n.Vi,plan:x,role:g,sendEmailVerification:j};return w&&n.Vi&&!r?(0,a.jsx)("div",{className:"flex items-center justify-center min-h-screen",children:(0,a.jsx)(l.A,{className:"h-12 w-12 animate-spin text-primary"})}):(0,a.jsx)(d.Provider,{value:A,children:t})}function u(){let e=(0,s.useContext)(d);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}},31120:(e,t,r)=>{r.d(t,{T:()=>n});var a=r(95155),s=r(12115),i=r(64269);let n=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("textarea",{className:(0,i.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm r
1ing-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...s})});n.displayName="Textarea"},36033:(e,t,r)=>{r.d(t,{A:()=>c});var a=r(95155),s=r(52619),i=r.n(s),n=r(13496),o=r(17666),l=r(26667),d=r(3998);function c(){return(0,a.jsx)(n.nD,{type:"single",collapsible:!0,className:"w-full mt-6",children:(0,a.jsxs)(n.As,{value:"item-1",children:[(0,a.jsx)(n.$m,{children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.A,{className:"h-5 w-5 text-primary"}),(0,a.jsx)("span",{children:"Tips for Better AI-Generated Content"})]})}),(0,a.jsxs)(n.ub,{className:"space-y-4 text-sm text-muted-foreground",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"font-semibold text-foreground mb-1",children:"Be Specific and Detailed"}),(0,a.jsx)("p",{children:'The more context you provide, the better the result. Instead of "a dog", try "a golden retriever puppy playing in a sunny field of flowers, photorealistic style".'})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"font-semibold text-foreground mb-1",children:"Define the Style and Mood"}),(0,a.jsx)("p",{children:'Use adjectives to guide the AI. Words like "cinematic," "minimalist," "vibrant," "dark fantasy," or "watercolor painting" can dramatically change the output.'})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"font-semibold text-foreground mb-1",children:"Iterate and Refine"}),(0,a.jsx)("p",{children:"Your first prompt is just the starting point. Use the initial output as inspiration and refine your prompt with more details to get closer to your vision."})]}),(0,a.jsxs)("div",{className:"p-4 bg-secondary/50 rounded-lg",children:[(0,a.jsxs)("h4",{className:"font-semibold text-foreground mb-2 flex items-center gap-2",children:[(0,a.jsx)(l.A,{className:"h-5 w-5 text-primary"}),"Need Help Crafting the Perfect Prompt?"]}),(0,a.jsx)("p",{className:"mb-4",children:"Our Prompt Formatter tool can help you turn your rough ideas into powerful, detailed prompts optimized for any AI platform."}),(0,a.jsx)(d.$,{asChild:!0,size:"sm",children:(0,a.jsx)(i(),{href:"/tools/prompt-formatter",children:"Try the Prompt Formatter"})})]})]})]})})}},49489:(e,t,r)=>{r.d(t,{Vi:()=>p,db:()=>m,e7:()=>f});var a=r(52078),s=r(81328),i=r(39390);let n={apiKey:"AIzaSyBPNE9YkKI4gV8sSeQIcBKxIr91iotnY8E",authDomain:"xcreativeai-console.firebaseapp.com",projectId:"xcreativeai-console",storageBucket:"xcreativeai-console.firebasestorage.app",messagingSenderId:"286989805665",appId:"1:286989805665:web:9a62f4ab00d36a36932220"},o=null,l=null,d=null,c=!0,u=["apiKey","authDomain","projectId"].filter(e=>!n[e]);if(u.length>0&&(console.warn("FIREBASE CLIENT DISABLED: Missing: ".concat(u.join(", "))),c=!1),c&&!(0,a.Dk)().length)try{o=(0,a.Wp)(n),l=(0,s.xI)(o),d=(0,i.aU)(o)}catch(e){console.error("Firebase initialization failed",e),c=!1}else c&&(o=(0,a.Sx)(),l=(0,s.xI)(o),d=(0,i.aU)(o));let f=l,m=d,p=c},64269:(e,t,r)=>{r.d(t,{cn:()=>i});var a=r(2821),s=r(75889);function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,s.QP)((0,a.$)(t))}},86948:(e,t,r)=>{r.d(t,{BT:()=>d,Wu:()=>c,ZB:()=>l,Zp:()=>n,aR:()=>o,wL:()=>u});var a=r(95155),s=r(12115),i=r(64269);let n=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",r),...s})});n.displayName="Card";let o=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",r),...s})});o.displayName="CardHeader";let l=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("text-2xl font-semibold leading-none tracking-tight",r),...s})});l.displayName="CardTitle";let d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("text-sm text-muted-foreground",r),...s})});d.displayName="CardDescription";let c=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("p-6 pt-0",r),...s})});
1c.displayName="CardContent";let u=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("flex items-center p-6 pt-0",r),...s})});u.displayName="CardFooter"}}]);
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.