PageSourceSearch

https://www.tubeboostr.ai/assets/Support-Cze1FDzk.js

js tubeboostr.ai collected 2026-10-05 14:24:44 UTC 41,027 bytes, 1 lines download raw bytes

1import{r as H,j as l,R as w,h as ce,b0 as sr,d as kt,ab as ir,B as Nt,g as Be,f as Ct,n as ar,b1 as nr,b as dt}from"./index-DnFRH9_L.js";import{T as or,a as lr,b as ft,c as mt}from"./tabs-DGf9UqLC.js";import{C as ye,c as he,a as we,b as Fe,d as yt}from"./card-D-MVnJuk.js";import{I as Dt}from"./input-YiMh8UMS.js";import{A as ur,a as cr,b as dr,c as fr}from"./accordion-BCAPXLcn.js";import{S as mr}from"./search-BNNgzx81.js";import{T as yr}from"./textarea-neOQe4Iz.js";import{L as hr}from"./label-DjUX3ZWM.js";import{S as gr,a as xr,b as br,c as vr,d as _e}from"./select-BqNB971d.js";import{S as pr,T as wr}from"./TicketChat-5t_Ge8gS.js";import{o as Fr,s as He}from"./types-3c7sL9OC.js";import{B as _r}from"./badge-8sAUhzBX.js";import{S as Vr}from"./skeleton-C4k5jx_g.js";import{M as Ye}from"./message-square-BjOFZEz2.js";import{C as jr}from"./clock-C_bhf0UT.js";import{f as Ar}from"./format-cwXK75ha.js";import{D as Sr,f as kr,a as Nr,b as Cr,c as Dr,e as Er}from"./dialog-CcrIxYxr.js";import{q as Tr}from"./proxy-WXJE_cR1.js";import{P as Ir}from"./plus-B8iuKNDd.js";import"./index-Bb-fnLL9.js";import"./index-BnL4qY8P.js";import"./index-DS96Y1Su.js";import"./index-BdQq_4o_.js";import"./Combination-kISE9yI6.js";import"./index-CfRvVmmW.js";import"./check-B7CpPNb4.js";import"./useMutation-CzkBmSGH.js";import"./scroll-area-De6stdkX.js";import"./arrow-left-CuFRDwcO.js";import"./user-BJijycHF.js";import"./index-BpcA3wZG.js";const Mr={billing:{title:"Billing & Payments",items:[{question:"How do I purchase more credits?",answer:'You can purchase credits by clicking on "Purchase Credits" in the sidebar menu. We accept all major credit cards and PayPal.'},{question:"What payment methods do you accept?",answer:"We accept Visa, Mastercard, American Express, and other major cards. All payments are processed securely through LemonSqueezy."},{question:"Can I get a refund?",answer:"Refund requests are accepted within 7 days of purchase when the purchased credits have not been used. See our Refund & Cancellation Policy for full details."},{question:"How do credits work?",answer:"Credits are deducted based on the operation you perform. Scripts, thumbnails, and voiceovers each have different credit costs. You can see the cost before generating."}]},technical:{title:"Technical Issues",items:[{question:"Why is my generation taking so long?",answer:"Generation times vary based on the complexity of your request and current server load. Most generations complete within 1-3 minutes. If it takes longer than 5 minutes, please contact support."},{question:"My generated content is not showing up",answer:"Try refreshing the page. If the issue persists, check your browser's console for errors and contact support with the details."},{question:"What file formats are supported?",answer:"Thumbnails are generated as PNG images. Voiceovers are MP3 audio files. Videos are exported as MP4."},{question:"How do I download my generated content?",answer:"Click on any generated item to view it, then use the download button to save it to your device."}]},account:{title:"Account & Settings",items:[{question:"How do I change my password?",answer:`Go to Settings in your dashboard and click on "Change Password". You'll receive an email to reset your password.`},{question:"Can I delete my account?",answer:"Yes, you can request account deletion from the Settings page. Please note this action is irreversible and all your data will be permanently deleted."},{question:"How do I update my profile information?",answer:"Navigate to Settings in your dashboard. You can update your name, channel information, and other preferences there."}]},general:{title:"General Questions",items:[{question:"What is TubeBoostr?",answer:"TubeBoostr is an AI-powered content creation platform designed for YouTube creators. It helps you generate scripts, thumbnails, voiceovers, and more."},{question:"Do you have an affiliate program?",answer:"Yes! Visit our Affiliate page to learn more and sign up. You can earn commissions by referring new users to TubeBoostr."},{question:"How can I contact support?",answer:"If the FAQ doesn't answer your question, you can submit a support ticket using the form below. Our team typically responds within 24 hours."}]}};function Lr(){const[e,r]=H.useState(""),t=Object.entries(Mr).map(([i,n])=>({key:i,title:n.title,items:n.items.filter(a=>a.question.toLowerCase().includes(e.toLowerCase())||a.answer.toLowerCase().includes(e.toLowerCase()))})).filter(i=>i.items.length>0);return l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"relative",children:[l.jsx(mr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}
1),l.jsx(Dt,{placeholder:"Search FAQs...",value:e,onChange:i=>r(i.target.value),className:"pl-10"})]}),t.length===0?l.jsx("p",{className:"text-muted-foreground text-center py-8",children:"No FAQs match your search. Try different keywords or submit a ticket below."}):l.jsx("div",{className:"space-y-6",children:t.map(i=>l.jsxs("div",{children:[l.jsx("h3",{className:"text-lg font-semibold mb-3",children:i.title}),l.jsx(ur,{type:"single",collapsible:!0,className:"space-y-2",children:i.items.map((n,a)=>l.jsxs(cr,{value:`${i.key}-${a}`,className:"border rounded-lg px-4",children:[l.jsx(dr,{className:"text-left hover:no-underline",children:n.question}),l.jsx(fr,{className:"text-muted-foreground",children:n.answer})]},a))})]},i.key))})]})}var be=e=>e.type==="checkbox",ne=e=>e instanceof Date,O=e=>e==null;const Et=e=>typeof e=="object";var T=e=>!O(e)&&!Array.isArray(e)&&Et(e)&&!ne(e),Tt=e=>T(e)&&e.target?be(e.target)?e.target.checked:e.target.value:e,Rr=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,It=(e,r)=>e.has(Rr(r)),qr=e=>{const r=e.constructor&&e.constructor.prototype;return T(r)&&r.hasOwnProperty("isPrototypeOf")},Ge=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function M(e){let r;const t=Array.isArray(e),i=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)r=new Date(e);else if(!(Ge&&(e instanceof Blob||i))&&(t||T(e)))if(r=t?[]:{},!t&&!qr(e))r=e;else for(const n in e)e.hasOwnProperty(n)&&(r[n]=M(e[n]));else return e;return r}var Te=e=>/^\w*$/.test(e),E=e=>e===void 0,Ke=e=>Array.isArray(e)?e.filter(Boolean):[],ze=e=>Ke(e.replace(/["|']|\]/g,"").split(/\.|\[/)),y=(e,r,t)=>{if(!r||!T(e))return t;const i=(Te(r)?[r]:ze(r)).reduce((n,a)=>O(n)?n:n[a],e);return E(i)||i===e?E(e[r])?t:e[r]:i},Q=e=>typeof e=="boolean",A=(e,r,t)=>{let i=-1;const n=Te(r)?[r]:ze(r),a=n.length,c=a-1;for(;++i<a;){const d=n[i];let p=t;if(i!==c){const V=e[d];p=T(V)||Array.isArray(V)?V:isNaN(+n[i+1])?{}:[]}if(d==="__proto__"||d==="constructor"||d==="prototype")return;e[d]=p,e=e[d]}};const Ne={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},K={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ee={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Je=w.createContext(null);Je.displayName="HookFormContext";const Ie=()=>w.useContext(Je),Pr=e=>{const{children:r,...t}=e;return w.createElement(Je.Provider,{value:t},r)};var Mt=(e,r,t,i=!0)=>{const n={defaultValues:r._defaultValues};for(const a in e)Object.defineProperty(n,a,{get:()=>{const c=a;return r._proxyFormState[c]!==K.all&&(r._proxyFormState[c]=!i||K.all),t&&(t[c]=!0),e[c]}});return n};const Xe=typeof window<"u"?w.useLayoutEffect:w.useEffect;function Or(e){const r=Ie(),{control:t=r.control,disabled:i,name:n,exact:a}=e||{},[c,d]=w.useState(t._formState),p=w.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Xe(()=>t._subscribe({name:n,formState:p.current,exact:a,callback:V=>{!i&&d({...t._formState,...V})}}),[n,i,a]),w.useEffect(()=>{p.current.isValid&&t._setValid(!0)},[t]),w.useMemo(()=>Mt(c,t,p.current,!1),[c,t])}var Z=e=>typeof e=="string",Lt=(e,r,t,i,n)=>Z(e)?(i&&r.watch.add(e),y(t,e,n)):Array.isArray(e)?e.map(a=>(i&&r.watch.add(a),y(t,a))):(i&&(r.watchAll=!0),t),$e=e=>O(e)||!Et(e);function te(e,r,t=new WeakSet){if($e(e)||$e(r))return e===r;if(ne(e)&&ne(r))return e.getTime()===r.getTime();const i=Object.keys(e),n=Object.keys(r);if(i.length!==n.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const a of i){const c=e[a];if(!n.includes(a))return!1;if(a!=="ref"){const d=r[a];if(ne(c)&&ne(d)||T(c)&&T(d)||Array.isArray(c)&&Array.isArray(d)?!te(c,d,t):c!==d)return!1}}return!0}function Ur(e){const r=Ie(),{control:t=r.control,name:i,defaultValue:n,disabled:a,exact:c,compute:d}=e||{},p=w.useRef(n),V=w.useRef(d),b=w.useRef(void 0);V.current=d;const _=w.useMemo(()=>t._getWatch(i,p.current),[t,i]),[v,$]=w.useState(V.current?V.current(_):_);return Xe(()=>t._subscribe({name:i,formState:{values:!0},exact:c,callback:W=>{if(!a){const N=Lt(i,t._names,W.values||t._formValues,!1,p.current);if(V.current){const R=V.current(N);te(R,b.current)||($(R),b.current=R)}else $(N)}}}),[t,a,i,c]),w.useEffect(()=>t._removeUnmounted()),v}function Br(e){const r=Ie(),{name:t,disabled:i,control:n=r.control,shouldUnregister:a,defaultValue:c}=e,d=It(n._names.array,t),p=w.useMemo(()=>y(n._formValues,t,y(n._defaultValues,t,c)),[n,t,c]),V=Ur({control:n,name:t,defaultValue:p,exact:!0}),b=Or({control:n,name:t,exact:!0}),_=w.useRef(e),v=w.useRef(n.register(t,{...e.rules,value:V,...Q(e.disabled)?{disabled:e.disabled}:{}}));_.current=e;const $=w.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!y(b.errors,t)},isDirty:{enumerable:!0,get:()=>!!y(b.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!y(b.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!y(b.validatingFields,t)},error:{enumerable:!0,get:()=>y(b.errors,t)}}),[b,t]),W=w.useCallback(x=>v.current.onChange({target:{value:Tt(x),name:t},type:Ne.CHANGE}),[t]),N=w.useCallback(()=>v.current.onBlur({target:{value:y(n._formValues,t),name:t},type:Ne.BLUR}),[t,n._formValues]),R=w.useCallback(x=>{const q=y(n._fields,t);q&&x&&(q._f.ref={focus:()=>x.focus&&x.focus(),select:()=>x.select&&x.select(),setCustomValidity:L=>x.setCustomValidity(L),reportValidity:()=>x.reportValidity()})},[n._fields,t]),oe=w.useMemo(()=>({name:t,value:V,...Q(i)||b.disabled?{disabled:b.disabled||i}:{},onChange:W,onBlur:N,ref:R}),[t,i,b.disabled,W,N,R,V]);return w.useEffect(()=>{const x=n._options.shouldUnregister||a;n.register(t,{..._.current.rules,...Q(_.current.disabled)?{disabled:_.current.disabled}:{}});const q=(L,C)=>{const re=y(n._fields,L);re&&re._f&&(re._f.mount=C)};if(q(t,!0),x){const L=M(y(n._options.defaultValues,t));A(n._defaultValues,t,L),E(y(n._formValues,t))&&A(n._formValues,t,L)}return!d&&n.register(t),()=>{(d?x&&!n._state.action:x)?n.unregister(t):q(t,!1)}},[t,n,d,a]),w.useEffect(()=>{n._setDisabledField({disabled:i,name:t})},[i,t,n]),w.useMemo(()=>({field:oe,formState:b,fieldState:$}),[oe,b,$])}const Hr=e=>e.render(Br(e));var Rt=(e,r,t,i,n)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[i]:n||!0}}:{},ge=e=>Array.isArray(e)?e:[e],ht=()=>{let e=[];return{get observers(){return e},next:n=>{for(const a of e)a.next&&a.next(n)},subscribe:n=>(e.push(n),{unsubscribe:()=>{e=e.filter(a=>a!==n)}}),unsubscribe:()=>{e=[]}}},B=e=>T(e)&&!Object.keys(e).length,Ze=e=>e.type==="file",z=e=>typeof e=="function",Ce=e=>{if(!Ge)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},qt=e=>e.type==="select-multiple",et=e=>e.type==="radio",Wr=e=>et(e)||be(e),We=e=>Ce(e)&&e.isConnected;function Qr(e,r){const t=r.slice(0,-1).length;let i=0;for(;i<t;)e=E(e)?i++:e[r[i++]];return e}function Yr(e){for(const r in e)if(e.hasOwnProperty(r)&&!E(e[r]))return!1;return!0}function I(e,r){const t=Array.isArray(r)?r:Te(r)?[r]:ze(r),i=t.length===1?e:Qr(e,t),n=t.length-1,a=t[n];return i&&delete i[a],n!==0&&(T(i)&&B(i)||Array.isArray(i)&&Yr(i))&&I(e,t.slice(0,-1)),e}var Pt=e=>{for(const r in e)if(z(e[r]))return!0;return!1};function De(e,r={}){const t=Array.isArray(e);if(T(e)||t)for(const i in e)Array.isArray(e[i])||T(e[i])&&!Pt(e[i])?(r[i]=Array.isArray(e[i])?[]:{}
vendor: 9,028 bytes, line 1
1,De(e[i],r[i])):O(e[i])||(r[i]=!0);return r}function Ot(e,r,t){const i=Array.isArray(e);if(T(e)||i)for(const n in e)Array.isArray(e[n])||T(e[n])&&!Pt(e[n])?E(r)||$e(t[n])?t[n]=Array.isArray(e[n])?De(e[n],[]):{...De(e[n])}:Ot(e[n],O(r)?{}:r[n],t[n]):t[n]=!te(e[n],r[n]);return t}var fe=(e,r)=>Ot(e,r,De(r));const gt={value:!1,isValid:!1},xt={value:!0,isValid:!0};var Ut=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!E(e[0].attributes.value)?E(e[0].value)||e[0].value===""?xt:{value:e[0].value,isValid:!0}:xt:gt}return gt},Bt=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:i})=>E(e)?e:r?e===""?NaN:e&&+e:t&&Z(e)?new Date(e):i?i(e):e;const bt={isValid:!1,value:null};var Ht=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,bt):bt;function vt(e){const r=e.ref;return Ze(r)?r.files:et(r)?Ht(e.refs).value:qt(r)?[...r.selectedOptions].map(({value:t})=>t):be(r)?Ut(e.refs).value:Bt(E(r.value)?e.ref.value:r.value,e)}var $r=(e,r,t,i)=>{const n={};for(const a of e){const c=y(r,a);c&&A(n,a,c._f)}return{criteriaMode:t,names:[...e],fields:n,shouldUseNativeValidation:i}},Ee=e=>e instanceof RegExp,me=e=>E(e)?e:Ee(e)?e.source:T(e)?Ee(e.value)?e.value.source:e.value:e,pt=e=>({isOnSubmit:!e||e===K.onSubmit,isOnBlur:e===K.onBlur,isOnChange:e===K.onChange,isOnAll:e===K.all,isOnTouch:e===K.onTouched});const wt="AsyncFunction";var Gr=e=>!!e&&!!e.validate&&!!(z(e.validate)&&e.validate.constructor.name===wt||T(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===wt)),Kr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Ft=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(i=>e.startsWith(i)&&/^\.\w+/.test(e.slice(i.length))));const xe=(e,r,t,i)=>{for(const n of t||Object.keys(e)){const a=y(e,n);if(a){const{_f:c,...d}=a;if(c){if(c.refs&&c.refs[0]&&r(c.refs[0],n)&&!i)return!0;if(c.ref&&r(c.ref,c.name)&&!i)return!0;if(xe(d,r))break}else if(T(d)&&xe(d,r))break}}};function _t(e,r,t){const i=y(e,t);if(i||Te(t))return{error:i,name:t};const n=t.split(".");for(;n.length;){const a=n.join("."),c=y(r,a),d=y(e,a);if(c&&!Array.isArray(c)&&t!==a)return{name:t};if(d&&d.type)return{name:a,error:d};if(d&&d.root&&d.root.type)return{name:`${a}.root`,error:d.root};n.pop()}return{name:t}}var zr=(e,r,t,i)=>{t(e);const{name:n,...a}=e;return B(a)||Object.keys(a).length>=Object.keys(r).length||Object.keys(a).find(c=>r[c]===(!i||K.all))},Jr=(e,r,t)=>!e||!r||e===r||ge(e).some(i=>i&&(t?i===r:i.startsWith(r)||r.startsWith(i))),Xr=(e,r,t,i,n)=>n.isOnAll?!1:!t&&n.isOnTouch?!(r||e):(t?i.isOnBlur:n.isOnBlur)?!e:(t?i.isOnChange:n.isOnChange)?e:!0,Zr=(e,r)=>!Ke(y(e,r)).length&&I(e,r),es=(e,r,t)=>{const i=ge(y(e,t));return A(i,"root",r[t]),A(e,t,i),e},Ve=e=>Z(e);function Vt(e,r,t="validate"){if(Ve(e)||Array.isArray(e)&&e.every(Ve)||Q(e)&&!e)return{type:t,message:Ve(e)?e:"",ref:r}}var ue=e=>T(e)&&!Ee(e)?e:{value:e,message:""},jt=async(e,r,t,i,n,a)=>{const{ref:c,refs:d,required:p,maxLength:V,minLength:b,min:_,max:v,pattern:$,validate:W,name:N,valueAsNumber:R,mount:oe}=e._f,x=y(t,N);if(!oe||r.has(N))return{};const q=d?d[0]:c,L=F=>{n&&q.reportValidity&&(q.setCustomValidity(Q(F)?"":F||""),q.reportValidity())},C={},re=et(c),se=be(c),Le=re||se,G=(R||Ze(c))&&E(c.value)&&E(x)||Ce(c)&&c.value===""||x===""||Array.isArray(x)&&!x.length,ae=Rt.bind(null,N,i,C),J=(F,S,D,P=ee.maxLength,U=ee.minLength)=>{const X=F?S:D;C[N]={type:F?P:U,message:X,ref:c,...ae(F?P:U,X)}};if(a?!Array.isArray(x)||!x.length:p&&(!Le&&(G||O(x))||Q(x)&&!x||se&&!Ut(d).isValid||re&&!Ht(d).isValid)){const{value:F,message:S}=Ve(p)?{value:!!p,message:p}:ue(p);if(F&&(C[N]={type:ee.required,message:S,ref:q,...ae(ee.required,S)},!i))return L(S),C}if(!G&&(!O(_)||!O(v))){let F,S;const D=ue(v),P=ue(_);if(!O(x)&&!isNaN(x)){const U=c.valueAsNumber||x&&+x;O(D.value)||(F=U>D.value),O(P.value)||(S=U<P.value)}else{const U=c.valueAsDate||new Date(x),X=ve=>new Date(new Date().toDateString()+" "+ve),de=c.type=="time",le=c.type=="week";Z(D.value)&&x&&(F=de?X(x)>X(D.value):le?x>D.value:U>new Date(D.value)),Z(P.value)&&x&&(S=de?X(x)<X(P.value):le?x<P.value:U<new Date(P.value))}if((F||S)&&(J(!!F,D.message,P.message,ee.max,ee.min),!i))return L(C[N].message),C}if((V||b)&&!G&&(Z(x)||a&&Array.isArray(x))){const F=ue(V),S=ue(b),D=!O(F.value)&&x.length>+F.value,P=!O(S.value)&&x.length<+S.value;if((D||P)&&(J(D,F.message,S.message),!i))return L(C[N].message),C}if($&&!G&&Z(x)){const{value:F,message:S}=ue($);if(Ee(F)&&!x.match(F)&&(C[N]={type:ee.pattern,message:S,ref:c,...ae(ee.pattern,S)},!i))return L(S),C}if(W){if(z(W)){const F=await W(x,t),S=Vt(F,q);if(S&&(C[N]={...S,...ae(ee.validate,S.message)},!i))return L(S.message),C}else if(T(W)){let F={};for(const S in W){if(!B(F)&&!i)break;const D=Vt(await W[S](x,t),q,S);D&&(F={...D,...ae(S,D.message)},L(D.message),i&&(C[N]=F))}if(!B(F)&&(C[N]={ref:q,...F},!i))return C}}return L(!0),C};const ts={mode:K.onSubmit,reValidateMode:K.onChange,shouldFocusError:!0};function rs(e={}){let r={...ts,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:z(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},i={},n=T(r.defaultValues)||T(r.values)?M(r.defaultValues||r.values)||{}:{},a=r.shouldUnregister?{}:M(n),c={action:!1,mount:!1,watch:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},p,V=0;const b={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let _={...b};const v={array:ht(),state:ht()},$=r.criteriaMode===K.all,W=s=>o=>{clearTimeout(V),V=setTimeout(s,o)},N=async s=>{if(!r.disabled&&(b.isValid||_.isValid||s)){const o=r.resolver?B((await se()).errors):await G(i,!0);o!==t.isValid&&v.state.next({isValid:o})}},R=(s,o)=>{!r.disabled&&(b.isValidating||b.validatingFields||_.isValidating||_.validatingFields)&&((s||Array.from(d.mount)).forEach(u=>{u&&(o?A(t.validatingFields,u,o):I(t.validatingFields,u))}),v.state.next({validatingFields:t.validatingFields,isValidating:!B(t.validatingFields)}))},oe=(s,o=[],u,h,m=!0,f=!0)=>{if(h&&u&&!r.disabled){if(c.action=!0,f&&Array.isArray(y(i,s))){const g=u(y(i,s),h.argA,h.argB);m&&A(i,s,g)}if(f&&Array.isArray(y(t.errors,s))){const g=u(y(t.errors,s),h.argA,h.argB);m&&A(t.errors,s,g),Zr(t.errors,s)}if((b.touchedFields||_.touchedFields)&&f&&Array.isArray(y(t.touchedFields,s))){const g=u(y(t.touchedFields,s),h.argA,h.argB);m&&A(t.touchedFields,s,g)}(b.dirtyFields||_.dirtyFields)&&(t.dirtyFields=fe(n,a)),v.state.next({name:s,isDirty:J(s,o),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else A(a,s,o)},x=(s,o)=>{A(t.errors,s,o),v.state.next({errors:t.errors})},q=s=>{t.errors=s,v.state.next({errors:t.errors,isValid:!1})},L=(s,o,u,h)=>{const m=y(i,s);if(m){const f=y(a,s,E(u)?y(n,s):u);E(f)||h&&h.defaultChecked||o?A(a,s,o?f:vt(m._f)):D(s,f),c.mount&&N()}},C=(s,o,u,h,m)=>{let f=!1,g=!1;const j={name:s};if(!r.disabled){if(!u||h){(b.isDirty||_.isDirty)&&(g=t.isDirty,t.isDirty=j.isDirty=J(),f=g!==j.isDirty);const k=te(y(n,s),o);g=!!y(t.dirtyFields,s),k?I(t.dirtyFields,s):A(t.dirtyFields,s,!0),j.dirtyFields=t.dirtyFields,f=f||(b.dirtyFields||_.dirtyFields)&&g!==!k}if(u){const k=y(t.touchedFields,s);k||(A(t.touchedFields,s,u),j.touchedFields=t.touchedFields,f=f||(b.touchedFields||_.touchedFields)&&k!==u)}f&&m&&v.state.next(j)}return f?j:{}},re=(s,o,u,h)=>{const m=y(t.errors,s),f=(b.isValid||_.isValid)&&Q(o)&&t.isValid!==o;if(r.delayError&&u?(p=W(()=>x(s,u)),p(r.delayError)):(clearTimeout(V),p=null,u?A(t.errors,s,u):I(t.errors,s)),(u?!te(m,u):m)||!B(h)||f){const g={...h,...f&&Q(o)?{isValid:o}:{},errors:t.errors,name:s};t={...t,...g},v.state.next(g)}},se=async s=>{R(s,!0);const o=await r.resolver(a,r.context,$r(s||d.mount,i,r.criteriaMode,r.shouldUseNativeValidation));return R(s),o},Le=async s=>{const{errors:o}=await se(s);if(s)for(const u of s){const h=y(o,u);h?A(t.errors,u,h):I(t.errors,u)}else t.errors=o;return o},G=async(s,o,u={valid:!0})=>{for(const h in s){const m=s[h];if(m){const{_f:f,...g}=m;if(f){const j=d.array.has(f.name),k=m._f&&Gr(m._f);k&&b.validatingFields&&R([h],!0);const Y=await jt(m,d.disabled,a,$,r.shouldUseNativeValidation&&!o,j);if(k&&b.validatingFields&&R([h]),Y[f.name]&&(u.valid=!1,o))break;!o&&(y(Y,f.name)?j?es(t.errors,Y,f.name):A(t.errors,f.name,Y[f.name]):I(t.errors,f.name))}!B(g)&&await G(g,o,u)}}return u.valid},ae=()=>{for(const s of d.unMount){const o=y(i,s);o&&(o._f.refs?o._f.refs.every(u=>!We(u)):!We(o._f.ref))&&Re(s)}d.unMount=new Set},J=(s,o)=>!r.disabled&&(s&&o&&A(a,s,o),!te(ve(),n)),F=(s,o,u)=>Lt(s,d,{...c.mount?a:E(o)?n:Z(s)?{[s]:o}:o},u,o),S=s=>Ke(y(c.mount?a:n,s,r.shouldUnregister?y(n,s,[]):[])),D=(s,o,u={})=>{const h=y(i,s);let m=o;if(h){const f=h._f;f&&(!f.disabled&&A(a,s,Bt(o,f)),m=Ce(f.ref)&&O(o)?"":o,qt(f.ref)?[...f.ref.options].forEac
1h(g=>g.selected=m.includes(g.value)):f.refs?be(f.ref)?f.refs.forEach(g=>{(!g.defaultChecked||!g.disabled)&&(Array.isArray(m)?g.checked=!!m.find(j=>j===g.value):g.checked=m===g.value||!!m)}):f.refs.forEach(g=>g.checked=g.value===m):Ze(f.ref)?f.ref.value="":(f.ref.value=m,f.ref.type||v.state.next({name:s,values:M(a)})))}(u.shouldDirty||u.shouldTouch)&&C(s,m,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&le(s)},P=(s,o,u)=>{for(const h in o){if(!o.hasOwnProperty(h))return;const m=o[h],f=s+"."+h,g=y(i,f);(d.array.has(s)||T(m)||g&&!g._f)&&!ne(m)?P(f,m,u):D(f,m,u)}},U=(s,o,u={})=>{const h=y(i,s),m=d.array.has(s),f=M(o);A(a,s,f),m?(v.array.next({name:s,values:M(a)}),(b.isDirty||b.dirtyFields||_.isDirty||_.dirtyFields)&&u.shouldDirty&&v.state.next({name:s,dirtyFields:fe(n,a),isDirty:J(s,f)})):h&&!h._f&&!O(f)?P(s,f,u):D(s,f,u),Ft(s,d)&&v.state.next({...t,name:s}),v.state.next({name:c.mount?s:void 0,values:M(a)})},X=async s=>{c.mount=!0;const o=s.target;let u=o.name,h=!0;const m=y(i,u),f=k=>{h=Number.isNaN(k)||ne(k)&&isNaN(k.getTime())||te(k,y(a,u,k))},g=pt(r.mode),j=pt(r.reValidateMode);if(m){let k,Y;const pe=o.type?vt(m._f):Tt(s),ie=s.type===Ne.BLUR||s.type===Ne.FOCUS_OUT,er=!Kr(m._f)&&!r.resolver&&!y(t.errors,u)&&!m._f.deps||Xr(ie,y(t.touchedFields,u),t.isSubmitted,j,g),Oe=Ft(u,d,ie);A(a,u,pe),ie?(m._f.onBlur&&m._f.onBlur(s),p&&p(0)):m._f.onChange&&m._f.onChange(s);const Ue=C(u,pe,ie),tr=!B(Ue)||Oe;if(!ie&&v.state.next({name:u,type:s.type,values:M(a)}),er)return(b.isValid||_.isValid)&&(r.mode==="onBlur"?ie&&N():ie||N()),tr&&v.state.next({name:u,...Oe?{}:Ue});if(!ie&&Oe&&v.state.next({...t}),r.resolver){const{errors:ut}=await se([u]);if(f(pe),h){const rr=_t(t.errors,i,u),ct=_t(ut,i,rr.name||u);k=ct.error,u=ct.name,Y=B(ut)}}else R([u],!0),k=(await jt(m,d.disabled,a,$,r.shouldUseNativeValidation))[u],R([u]),f(pe),h&&(k?Y=!1:(b.isValid||_.isValid)&&(Y=await G(i,!0)));h&&(m._f.deps&&le(m._f.deps),re(u,Y,k,Ue))}},de=(s,o)=>
1{if(y(t.errors,o)&&s.focus)return s.focus(),1},le=async(s,o={})=>{let u,h;const m=ge(s);if(r.resolver){const f=await Le(E(s)?s:m);u=B(f),h=s?!m.some(g=>y(f,g)):u}else s?(h=(await Promise.all(m.map(async f=>{const g=y(i,f);return await G(g&&g._f?{[f]:g}:g)}))).every(Boolean),!(!h&&!t.isValid)&&N()):h=u=await G(i);return v.state.next({...!Z(s)||(b.isValid||_.isValid)&&u!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:u}:{},errors:t.errors}),o.shouldFocus&&!h&&xe(i,de,s?m:d.mount),h},ve=s=>{const o={...c.mount?a:n};return E(s)?o:Z(s)?y(o,s):s.map(u=>y(o,u))},tt=(s,o)=>({invalid:!!y((o||t).errors,s),isDirty:!!y((o||t).dirtyFields,s),error:y((o||t).errors,s),isValidating:!!y(t.validatingFields,s),isTouched:!!y((o||t).touchedFields,s)}),$t=s=>{s&&ge(s).forEach(o=>I(t.errors,o)),v.state.next({errors:s?t.errors:{}})},rt=(s,o,u)=>{const h=(y(i,s,{_f:{}})._f||{}).ref,m=y(t.errors,s)||{},{ref:f,message:g,type:j,...k}=m;A(t.errors,s,{...k,...o,ref:h}),v.state.next({name:s,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&h&&h.focus&&h.focus()},Gt=(s,o)=>z(s)?v.state.subscribe({next:u=>"values"in u&&s(F(void 0,o),u)}):F(s,o,!0),st=s=>v.state.subscribe({next:o=>{Jr(s.name,o.name,s.exact)&&zr(o,s.formState||b,Zt,s.reRenderRoot)&&s.callback({values:{...a},...t,...o,defaultValues:n})}}).unsubscribe,Kt=s=>(c.mount=!0,_={..._,...s.formState},st({...s,formState:_})),Re=(s,o={})=>
vendor: 5,606 bytes, line 1
1{for(const u of s?ge(s):d.mount)d.mount.delete(u),d.array.delete(u),o.keepValue||(I(i,u),I(a,u)),!o.keepError&&I(t.errors,u),!o.keepDirty&&I(t.dirtyFields,u),!o.keepTouched&&I(t.touchedFields,u),!o.keepIsValidating&&I(t.validatingFields,u),!r.shouldUnregister&&!o.keepDefaultValue&&I(n,u);v.state.next({values:M(a)}),v.state.next({...t,...o.keepDirty?{isDirty:J()}:{}}),!o.keepIsValid&&N()},it=({disabled:s,name:o})=>{(Q(s)&&c.mount||s||d.disabled.has(o))&&(s?d.disabled.add(o):d.disabled.delete(o))},qe=(s,o={})=>{let u=y(i,s);const h=Q(o.disabled)||Q(r.disabled);return A(i,s,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:s}},name:s,mount:!0,...o}}),d.mount.add(s),u?it({disabled:Q(o.disabled)?o.disabled:r.disabled,name:s}):L(s,!0,o.value),{...h?{disabled:o.disabled||r.disabled}:{},...r.progressive?{required:!!o.required,min:me(o.min),max:me(o.max),minLength:me(o.minLength),maxLength:me(o.maxLength),pattern:me(o.pattern)}:{},name:s,onChange:X,onBlur:X,ref:m=>{if(m){qe(s,o),u=y(i,s);const f=E(m.value)&&m.querySelectorAll&&m.querySelectorAll("input,select,textarea")[0]||m,g=Wr(f),j=u._f.refs||[];if(g?j.find(k=>k===f):f===u._f.ref)return;A(i,s,{_f:{...u._f,...g?{refs:[...j.filter(We),f,...Array.isArray(y(n,s))?[{}]:[]],ref:{type:f.type,name:s}}:{ref:f}}}),L(s,!1,void 0,f)}else u=y(i,s,{}),u._f&&(u._f.mount=!1),(r.shouldUnregister||o.shouldUnregister)&&!(It(d.array,s)&&c.action)&&d.unMount.add(s)}}},Pe=()=>r.shouldFocusError&&xe(i,de,d.mount),zt=s=>{Q(s)&&(v.state.next({disabled:s}),xe(i,(o,u)=>{const h=y(i,u);h&&(o.disabled=h._f.disabled||s,Array.isArray(h._f.refs)&&h._f.refs.forEach(m=>{m.disabled=h._f.disabled||s}))},0,!1))},at=(s,o)=>async u=>{let h;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let m=M(a);if(v.state.next({isSubmitting:!0}),r.resolver){const{errors:f,values:g}=await se();t.errors=f,m=M(g)}else await G(i);if(d.disabled.size)for(const f of d.disabled)I(m,f);if(I(t.errors,"root"),B(t.errors)){v.state.next({errors:{}});try{await s(m,u)}catch(f){h=f}}else o&&await o({...t.errors},u),Pe(),setTimeout(Pe);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:B(t.errors)&&!h,submitCount:t.submitCount+1,errors:t.errors}),h)throw h},Jt=(s,o={})=>{y(i,s)&&(E(o.defaultValue)?U(s,M(y(n,s))):(U(s,o.defaultValue),A(n,s,M(o.defaultValue))),o.keepTouched||I(t.touchedFields,s),o.keepDirty||(I(t.dirtyFields,s),t.isDirty=o.defaultValue?J(s,M(y(n,s))):J()),o.keepError||(I(t.errors,s),b.isValid&&N()),v.state.next({...t}))},nt=(s,o={})=>{const u=s?M(s):n,h=M(u),m=B(s),f=m?n:h;if(o.keepDefaultValues||(n=u),!o.keepValues){if(o.keepDirtyValues){const g=new Set([...d.mount,...Object.keys(fe(n,a))]);for(const j of Array.from(g))y(t.dirtyFields,j)?A(f,j,y(a,j)):U(j,y(f,j))}else{if(Ge&&E(s))for(const g of d.mount){const j=y(i,g);if(j&&j._f){const k=Array.isArray(j._f.refs)?j._f.refs[0]:j._f.ref;if(Ce(k)){const Y=k.closest("form");if(Y){Y.reset();break}}}}if(o.keepFieldsRef)for(const g of d.mount)U(g,y(f,g));else i={}}a=r.shouldUnregister?o.keepDefaultValues?M(n):{}:M(f),v.array.next({values:{...f}}),v.state.next({values:{...f}})}d={mount:o.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!b.isValid||!!o.keepIsValid||!!o.keepDirtyValues,c.watch=!!r.shouldUnregister,v.state.next({submitCount:o.keepSubmitCount?t.submitCount:0,isDirty:m?!1:o.keepDirty?t.isDirty:!!(o.keepDefaultValues&&!te(s,n)),isSubmitted:o.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:m?{}:o.keepDirtyValues?o.keepDefaultValues&&a?fe(n,a):t.dirtyFields:o.keepDefaultValues&&s?fe(n,s):o.keepDirty?t.dirtyFields:{},touchedFields:o.keepTouched?t.touchedFields:{},errors:o.keepErrors?t.errors:{},isSubmitSuccessful:o.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},ot=(s,o)=>nt(z(s)?s(a):s,o),Xt=(s,o={})=>{const u=y(i,s),h=u&&u._f;if(h){const m=h.refs?h.refs[0]:h.ref;m.focus&&(m.focus(),o.shouldSelect&&z(m.select)&&m.select())}},Zt=s=>{t={...t,...s}},lt={control:{register:qe,unregister:Re,getFieldState:tt,handleSubmit:at,setError:rt,_subscribe:st,_runSchema:se,_focusError:Pe,_getWatch:F,_getDirty:J,_setValid:N,_setFieldArray:oe,_setDisabledField:it,_setErrors:q,_getFieldArray:S,_reset:nt,_resetDefaultValues:()=>z(r.defaultValues)&&r.defaultValues().then(s=>{ot(s,r.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:ae,_disableForm:zt,_subjects:v,_proxyFormState:b,get _fields(){return i},get _formValues(){return a},get _state(){return c},set _state(s){c=s},get _defaultValues(){return n},get _names(){return d},set _names(s){d=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:Kt,trigger:le,register:qe,handleSubmit:at,watch:Gt,setValue:U,getValues:ve,reset:ot,resetField:Jt,clearErrors:$t,unregister:Re,setError:rt,setFocus:Xt,getFieldState:tt};return{...lt,formControl:lt}}function ss(e={}){const r=w.useRef(void 0),t=w.useRef(void 0),[i,n]=w.useState({isDirty:!1,isValidating:!1,isLoading:z(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:z(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:i},e.defaultValues&&!z(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:c,...d}=rs(e);r.current={...d,formState:i}}const a=r.current.control;return a._options=e,Xe(()=>{const c=a._subscribe({formState:a._proxyFormState,callback:()=>n({...a._formState}
1),reRenderRoot:!0});return n(d=>({...d,isReady:!0})),a._formState.isReady=!0,c},[a]),w.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),w.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),w.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),w.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),w.useEffect(()=>{if(a._proxyFormState.isDirty){const c=a._getDirty();c!==i.isDirty&&a._subjects.state.next({isDirty:c})}},[a,i.isDirty]),w.useEffect(()=>{e.values&&!te(e.values,t.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),t.current=e.values,n(c=>({...c}))):a._resetDefaultValues()},[a,e.values]),w.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),r.current.formState=Mt(i,a),r.current}const At=(e,r,t)=>{if(e&&"reportValidity"in e){const i=y(t,r);e.setCustomValidity(i&&i.message||""),e.reportValidity()}},Wt=(e,r)=>{for(const t in r.fields){const i=r.fields[t];i&&i.ref&&"reportValidity"in i.ref?At(i.ref,t,e):i.refs&&i.refs.forEach(n=>At(n,t,e))}},is=(e,r)=>{r.shouldUseNativeValidation&&Wt(e,r);const t={};for(const i in e){const n=y(r.fields,i),a=Object.assign(e[i]||{},{ref:n&&n.ref});if(as(r.names||Object.keys(e),i)){const c=Object.assign({},y(t,i));A(c,"root",a),A(t,i,c)}else A(t,i,a)}return t},as=(e,r)=>e.some(t=>t.startsWith(r+"."));var ns=function(e,r){for(var t={};e.length;){var i=e[0],n=i.code,a=i.message,c=i.path.join(".");if(!t[c])if("unionErrors"in i){var d=i.unionErrors[0].errors[0];t[c]={message:d.message,type:d.code}}else t[c]={message:a,type:n};if("unionErrors"in i&&i.unionErrors.forEach(function(b){return b.errors.forEach(function(_){return e.push(_)})}),r){var p=t[c].types,V=p&&p[i.code];t[c]=Rt(c,r,t,n,V?[].concat(V,i.message):i.message)}e.shift()}return t},os=function(e,r,t){return t===void 0&&(t={}),function(i,n,a){try{return Promise.resolve(function(c,d){try{var p=Promise.resolve(e[t.mode==="sync"?"parse":"parseAsync"](i,r)).then(function(V){return a.shouldUseNativeValidation&&Wt({},a),{errors:{},values:t.raw?i:V}})}catch(V){return d(V)}return p&&p.then?p.then(void 0,d):p}(0,function(c){if(function(d){return Array.isArray(d==null?void 0:d.errors)}(c))return{values:{},errors:is(ns(c.errors,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw c}))}catch(c){return Promise.reject(c)}}};const ls=Pr,Qt=H.createContext({}),Qe=({...e})=>l.jsx(Qt.Provider,{value:{name:e.name},children:l.jsx(Hr,{...e})}),Me=()=>{const e=H.useContext(Qt),r=H.useContext(Yt),{getFieldState:t,formState:i}=Ie(),n=t(e.name,i);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:a}=r;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...n}},Yt=H.createContext({}),je=H.forwardRef(({className:e,...r},t)=>{const i=H.useId();return l.jsx(Yt.Provider,{value:{id:i},children:l.jsx("div",{ref:t,className:ce("space-y-2",e),...r})})});je.displayName="FormItem";const Ae=H.forwardRef(({className:e,...r},t)=>{const{error:i,formItemId:n}=Me();return l.jsx(hr,{ref:t,className:ce(i&&"text-destructive",e),htmlFor:n,...r})});Ae.displayName="FormLabel";const Se=H.forwardRef(({...e},r)=>{const{error:t,formItemId:i,formDescriptionId:n,formMessageId:a}=Me();return l.jsx(sr,{ref:r,id:i,"aria-describedby":t?`${n} ${a}`:`${n}`,"aria-invalid":!!t,...e})});Se.displayName="FormControl";const us=H.forwardRef(({className:e,...r},t)=>{const{formDescriptionId:i}=Me();return l.jsx("p",{ref:t,id:i,className:ce("text-sm text-muted-foreground",e),...r})});us.displayName="FormDescription";const ke=H.forwardRef(({className:e,children:r,...t},i)=>{const{error:n,formMessageId:a}=Me(),c=n?String(n==null?void 0:n.message):r;return c?l.jsx("p",{ref:i,id:a,className:ce("text-sm font-medium text-destructive",e),...t,children:c}):null});ke.displayName="FormMessage";const cs=Fr({subject:He().min(5,"Subject must be at least 5 characters"),category:He().min(1,"Please select a category"),description:He().min(20,"Description must be at least 20 characters")});function St({onSuccess:e}){const[r,t]=H.useState(!1),{user:i}
1=kt(),n=ir(),a=ss({resolver:os(cs),defaultValues:{subject:"",category:"",description:""}}),c=async d=>{if(!i){Be.error("You must be logged in to submit a ticket");return}t(!0);try{const{error:p}=await Ct.from("support_tickets").insert({user_id:i.id,subject:d.subject,category:d.category,priority:"medium",description:d.description});if(p)throw p;n.invalidateQueries({queryKey:["user-tickets",i.id]}),Be.success("Ticket submitted successfully! We'll get back to you soon."),a.reset(),e==null||e()}catch(p){console.error("Error submitting ticket:",p),Be.error("Failed to submit ticket. Please try again.")}finally{t(!1)}};return l.jsx(ls,{...a,children:l.jsxs("form",{onSubmit:a.handleSubmit(c),className:"space-y-4",children:[l.jsx(Qe,{control:a.control,name:"subject",render:({field:d})=>l.jsxs(je,{children:[l.jsx(Ae,{children:"Subject"}),l.jsx(Se,{children:l.jsx(Dt,{placeholder:"Brief summary of your issue",...d})}),l.jsx(ke,{})]})}),l.jsx(Qe,{control:a.control,name:"category",render:({field:d})=>l.jsxs(je,{children:[l.jsx(Ae,{children:"Category"}),l.jsxs(gr,{onValueChange:d.onChange,defaultValue:d.value,children:[l.jsx(Se,{children:l.jsx(xr,{children:l.jsx(br,{placeholder:"Select category"})})}),l.jsxs(vr,{children:[l.jsx(_e,{value:"billing",children:"Billing & Payments"}),l.jsx(_e,{value:"technical",children:"Technical Issues"}),l.jsx(_e,{value:"account",children:"Account & Settings"}),l.jsx(_e,{value:"general",children:"General Questions"})]})]}),l.jsx(ke,{})]})}),l.jsx(Qe,{control:a.control,name:"description",render:({field:d})=>l.jsxs(je,{children:[l.jsx(Ae,{children:"Description"}),l.jsx(Se,{children:l.jsx(yr,{placeholder:"Please describe your issue in detail...",className:"min-h-[120px]",...d})}),l.jsx(ke,{})]})}),l.jsxs(Nt,{type:"submit",disabled:r,className:"w-full",children:[l.jsx(pr,{className:"w-4 h-4 mr-2"}),r?"Submitting...":"Submit Ticket"]})]})})}const ds={pending:"bg-yellow-500/10 text-yellow-500 border-yellow-500/20",open:"bg-blue-500/10 text-blue-500 border-blue-500/20",in_progress:"bg-purple-500/10 text-purple-500 border-purple-500/20",resolved:"bg-green-500/10 text-green-500 border-green-500/20",closed:"bg-muted text-muted-foreground border-muted"};function fs({onSelectTicket:e,selectedTicketId:r}){const{user:t}=kt(),{data:i,isLoading:n}=ar({queryKey:["user-tickets",t==null?void 0:t.id],queryFn:async()=>{if(!t)return[];const{data:a,error:c}=await Ct.from("support_tickets").select("*").eq("user_id",t.id).order("created_at",{ascending:!1}).limit(50);if(c)throw c;return a},enabled:!!t});return n?l.jsx("div",{className:"space-y-3",children:[1,2,3].map(a=>l.jsx(Vr,{className:"h-24 w-full"},a))}):!i||i.length===0?l.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:[l.jsx(Ye,{className:"w-12 h-12 mx-auto mb-3 opacity-50"}),l.jsx("p",{children:"No tickets yet"}),l.jsx("p",{className:"text-sm",children:"Submit a ticket if you need help"})]}):l.jsx("div",{className:"space-y-3",children:i.map(a=>l.jsx(ye,{className:ce("cursor-pointer transition-all hover:border-primary/50",r===a.id&&"border-primary"),onClick:()=>e==null?void 0:e(a.id),children:l.jsx(he,{className:"p-4",children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("h4",{className:"font-medium truncate",children:a.subject}),l.jsx("p",{className:"text-sm text-muted-foreground line-clamp-1 mt-1",children:a.description}),l.jsxs("div",{className:"flex items-center gap-2 mt-2 text-xs text-muted-foreground",children:[l.jsx(jr,{className:"w-3 h-3"}),l.jsx("span",{children:Ar(new Date(a.created_at),"MMM d, yyyy h:mm a")})]})]}),l.jsx("div",{className:"flex flex-col items-end gap-2",children:l.jsx(_r,{variant:"outline",className:ce("capitalize",ds[a.status]),children:a.status.replace("_"," ")})})]})})},a.id))})}function Qs(){const[e,r]=H.useState(null),[t,i]=H.useState(!1),{hasUnread:n,markTicketAsRead:a}=nr();return l.jsxs("div",{className:"p-8 max-w-7xl mx-auto space-y-8",children:[l.jsxs(Tr.div,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},children:[l.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[l.jsx("div",{className:"w-10 h-10 rounded-xl bg-gradient-to-br from-blue-500 to-cyan-600 flex items-center justify-center",children:l.jsx(dt,{className:"w-5 h-5 text-white"})}),l.jsx("h1",{className:"text-3xl font-bold",children:"Help & Support"})]}),l.jsx("p",{className:"text-muted-foreground",children:"Find answers to common questions or get in touch with our support team"})]}),l.jsxs(or,{defaultValue:"faq",className:"space-y-6",children:[l.jsxs(lr,{children:[l.jsxs(ft,{value:"faq",className:"gap-2",children:[l.jsx(dt,{className:"w-4 h-4"}),"FAQ"]}),l.jsxs(ft,{value:"tickets",className:"gap-2",children:[l.jsx(Ye,{className:"w-4 h-4"}),"My Tickets",n&&l.jsx("span",{className:"w-2.5 h-2.5 rounded-full bg-destructive animate-pulse ml-1"})]})]}),l.jsxs(mt,{value:"faq",className:"space-y-6",children:[l.jsxs(ye,{children:[l.jsxs(we,{children:[l.jsx(Fe,{children:"Frequently Asked Questions"}),l.jsx(yt,{children:"Search our knowledge base for quick answers"})]}),l.jsx(he,{children:l.jsx(Lr,{})})]}),l.jsxs(ye,{children:[l.jsxs(we,{children:[l.jsx(Fe,{children:"Still Need Help?"}),l.jsx(yt,{children:"Submit a support ticket and our team will get back to you"})]}),l.jsx(he,{children:l.jsx(St,{})})]})]}),l.jsxs(mt,{value:"tickets",className:"space-y-6",children:[l.jsxs("div",{className:"flex justify-between items-center",children:[l.jsx("h2",{className:"text-xl font-semibold",children:"Your Support Tickets"}),l.jsxs(Sr,{open:t,onOpenChange:i,children:[l.jsx(kr,{asChild:!0,children:l.jsxs(Nt,{children:[l.jsx(Ir,{className:"w-4 h-4 mr-2"}),"New Ticket"]})}),l.jsxs(Nr,{children:[l.jsxs(Cr,{children:[l.jsx(Dr,{children:"Submit a Support Ticket"}),l.jsx(Er,{children:"Describe your issue and we'll get back to you as soon as possible"})]}),l.jsx(St,{onSuccess:()=>i(!1)})]})]})]}),l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[l.jsxs(ye,{children:[l.jsx(we,{children:l.jsx(Fe,{className:"text-lg",children:"Tickets"})}),l.jsx(he,{children:l.jsx(fs,{onSelectTicket:r,selectedTicketId:e})})]}),l.jsxs(ye,{children:[l.jsx(we,{children:l.jsx(Fe,{className:"text-lg",children:"Conversation"})}),l.jsx(he,{children:e?l.jsx(wr,{ticketId:e,onBack:()=>r(null)}):l.jsxs("div",{className:"flex flex-col items-center justify-center h-[500px] text-muted-foreground",children:[l.jsx(Ye,{className:"w-12 h-12 mb-4 opacity-50"}),l.jsx("p",{children:"Select a ticket to view the conversation"})]})})]})]})]})]})]})}export{Qs 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.