1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="227c114b-0957-bdb6-c1f0-a16d324662a2")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,555582,e=>{e.v({textarea:"textarea-module__xFmyXG__textarea"})},165224,e=>{"use strict";var t=e.i(332194),r=e.i(160379),a=e.i(264458),o=e.i(555582);let n=r.default.forwardRef(({title:e,name:r,className:n,placeholder:s,required:i,...c},l)=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{htmlFor:r,children:[e," ",i&&(0,t.jsx)("span",{children:"*"})]}),(0,t.jsx)("textarea",{ref:l,name:r,placeholder:s,className:(0,a.default)(o.default.textarea,n),...c})]}));n.displayName="Textarea",e.s(["default",0,n])},964021,e=>{e.v({"contact-form":"contact-module__Wpw-9a__contact-form","contact-form__body":"contact-module__Wpw-9a__contact-form__body","contact-form__button":"contact-module__Wpw-9a__contact-form__button","contact-form__error":"contact-module__Wpw-9a__contact-form__error","contact-form__input":"contact-module__Wpw-9a__contact-form__input","contact-form__input--error":"contact-module__Wpw-9a__contact-form__input--error","contact-form__label":"contact-module__Wpw-9a__contact-form__label","contact-form__link-to-help":"contact-module__Wpw-9a__contact-form__link-to-help","contact-form__textarea":"contact-module__Wpw-9a__contact-form__textarea","contact-form__textarea--error":"contact-module__Wpw-9a__contact-form__textarea--error","contact-form__title":"contact-module__Wpw-9a__contact-form__title"})},314512,e=>{"use strict";var t=e.i(332194);e.i(839644);var r=e.i(391586),a=e.i(856120),o=e.i(970478);jest.mock("@/src/hooks",()=>({useGetMe:()=>({data:jest.requireMock("@tanstack/react-query").useQueryClient().getQueryData()})})),jest.mock("next/link",()=>({__esModule:!0,default:({children:e,href:r})=>(0,t.jsx)("a",{href:r,children:e})})),jest.mock("react-i18next",()=>({useTranslation:()=>({t:e=>e})})),jest.mock("next-auth/react",()=>({useSession:jest.fn()})),jest.mock("@tanstack/react-query",()=>({useQueryClient:jest.fn()})),jest.mock("axios",()=>({post:jest.fn()})),jest.mock("react-toastify",()=>({toast:{success:jest.fn(),error:jest.fn()}})),describe("ContactForm",()=>{beforeEach(()=>{jest.clearAllMocks()}),it("renders guest-only name and email fields when there is no session",()=>{let{useSession:e}=jest.requireMock("next-auth/react"),{useQueryClient:n}=jest.requireMock("@tanstack/react-query");e.mockReturnValue({data:null}),n.mockReturnValue({getQueryData:jest.fn().mockReturnValue(void 0)}),(0,r.render)((0,t.jsx)(o.default,{})),expect(a.screen.getByLabelText("common:name")).toBeInTheDocument(),expect(a.screen.getByLabelText("common:email")).toBeInTheDocument()}),it("submits the form and uses session/query user data when available",async()=>{let{useSession:e}=jest.requireMock("next-auth/react"),{useQueryClient:n}=jest.requireMock("@tanstack/react-query"),s=jest.requireMock("axios"),{toast:i}=jest.requireMock("react-toastify");e.mockReturnValue({data:{user:{email:"[email protected]"}}}),n.mockReturnValue({getQueryData:jest.fn().mockReturnValue({name:"Session User"})}),s.post.mockResolvedValue({status:200}),(0,r.render)((0,t.jsx)(o.default,{})),r.fireEvent.change(a.screen.getByLabelText("common:subject"),{target:{value:"Need help"}}),r.fireEvent.change(a.screen.getByLabelText("common:message"),{target:{value:"Please assist."}}),r.fireEvent.click(a.screen.getByTestId("contact-form-submit")),await (0,a.waitFor)(()=>{expect(s.post).toHaveBeenCalledWith("/api/contact",{subject:"Need help",message:"Please assist.",name:"Session User",email:"",from:"[email protected]"})}),expect(i.success).toHaveBeenCalledWith("common:email-sent")})}),e.s([])},970478,e=>{"use strict";var t=e.i(332194),r=e.i(512866);e.i(215713);var a=e.i(815829),o=e.i(690971),n=e.i(264458),s=e.i(571208),i=e.i(320353),c=e.i(932087);e.i(555413);var l=e.i(339455),u=e.i(521444),m=e.i(607341);e.i(311079);var d=e.i(956365),f=e.i(436920),_=e.i(165224),p=e.i(964021),g=e.i(693913);e.s(["default",0,()=>{let{t:e}=(0,l.useTranslation)(),{data:h}=(0,i.useSession)(),{data:b}=(0,d.useGetMe)(["core"]),j=(0,g.createContactFormSchema)(e,!h),{register:y,handleSubmit:v,reset:x,formState:{errors:k,isSubmitting:w}}=(0,c.useForm)({resolver:(0,r.zodResolver)(j),defaultValues:{subject:"",message:"",name:"",email:""}}),B=async t=>{try{let{status:r}=await o.default.post("/api/contact",{...t,from:h?.user?.email||t.email.trim(),name:b?.name||t.name.trim()});200===r&&(x(),u.toast.success(e("common:email-sent")))}catch(t){u.toast.error(e("common:email-failed")),(0,m.logErrorToServer)(t,"Error sending email")}};return(0,t.jsxs)("form",{className:p.default["contact-form"],onSubmit:v(B),children:[(0,t.jsx)("h1",{className:p.default["contact-form__title"],children:e("footer:contact")}),(0,t.jsx)("p",{className:p.default["contact-form__body"],children:e("common:contact-description")}),(0,t.jsx)(s.default,{href:"/help",className:p.default["contact-form__link-to-help"],children:(0,t.jsx)("p",{children:e("common:contact-us-help")})}),!h&&(0,t.jsxs)("div",{className:"zero-style",children:[(0,t.jsx)(a.InputField,{...y("name"),name:"name",title:e("common:name"),type:"text",id:"name",className:(0,n.default)("contact-form__input",{[p.default["contact-form__input--error"]]:k.name})}),k.name&&(0,t.jsx)("p",{className:p.default["contact-form__error"],children:k.name.message}),(0,t.jsx)(a.InputField,{...y("email"),name:"email",title:e("common:email"),type:"text",id:"email",className:(0,n.default)("contact-form__input",{[p.default["contact-form__input--error"]]:k.email})}),k.email&&(0,t.jsx)("p",{className:p.default["contact-form__error"],children:k.email.message})]}),(0,t.jsx)(a.InputField,{...y("subject"),name:"subject",title:e("common:subject"),type:"text",id:"subject",className:(0,n.default)(p.default["contact-form__input"],{[p.default["contact-form__input--error"]]:k.subject})}),k.subject&&(0,t.jsx)("p",{className:p.default["contact-form__error"],children:k.subject.message}),(0,t.jsx)(_.default,{...y("message"),name:"message",title:e("common:message"),id:"message",rows:6,className:(0,n.default)(p.default["contact-form__textarea"],{[p.default["contact-form__textarea--error"]]:k.message})}),k.message&&(0,t.jsx)("p",{className:p.default["contact-form__error"],children:k.message.message}),(0,t.jsx)(f.default,{type:"submit",className:p.default["contact-form__button"],"data-testid":"contact-form-submit",disabled:w,children:e("common:send")})]})}])},693913,e=>{"use strict";e.i(215713);var t=e.i(626639),r=e.i(563829);let a=r.default.string().trim().optional().or(r.default.literal(""));e.s(["createContactFormSchema",0,(e,o)=>r.default.object({name:o?r.default.string().trim().min(1,e("common:name-required")).max(100,e("common:name-required")).refine(e=>!(0,t.validateZalgo)(e),e("name-char-error")):a,email:o?r.default.string().trim().min(1,e("common:email-required")).refine(e=>(0,t.isValidEmail)(e),e("admin:email-not-valid")):a,subject:r.default.string().trim().min(1,e("common:subject-required")).max(200,e("common:subject-required")),message:r.default.string().trim().min(1,e("common:message-required")).max(5e3,e("common:message-required"))}).superRefine((t,a)=>{o&&(t.name&&""!==t.name.trim()||a.addIssue({code:r.default.ZodIssueCode.custom,path:["name"],message:e("common:name-required")}),t.email&&""!==t.email.trim()||a.addIssue({code:r.default.ZodIssueCode.custom,path:["email"],message:e("common:email-required")}))})])},512866,e=>{"use strict";var t=e.i(932087);let r=(e,r,a)=>{if(e&&"reportValidity"in e){let o=(0,t.get)(a,r);e.setCustomValidity(o&&o.message||""),e.reportValidity()}},a=(e,t)=>{for(let a in t.fields){let o=t.fields[a];o&&o.ref&&"reportValidity"in o.ref?r(o.ref,a,e):o&&o.refs&&o.refs.forEac
2h(t=>r(t,a,e))}},o=(e,r)=>{r.shouldUseNativeValidation&&a(e,r);let o={};for(let a in e){let s=(0,t.get)(r.fields,a),i=Object.assign(e[a]||{},{ref:s&&s.ref});if(n(r.names||Object.keys(e),a)){let e=Object.assign({},(0,t.get)(o,a));(0,t.set)(e,"root",i),(0,t.set)(o,a,e)}else(0,t.set)(o,a,i)}return o},n=(e,t)=>{let r=s(t).replace(/[.*+?^${}()|\\]/g,"\\$&");return e.some(e=>s(e).match(`^${r}\\.\\d+`))};function s(e){return e.replace(/[\[\]]/g,"")}function i(e,t,r){function a(r,a){var o;for(let n in Object.defineProperty(r,"_zod",{value:r._zod??{},enumerable:!1}),(o=r._zod).traits??(o.traits=new Set),r._zod.traits.add(e),t(r,a),s.prototype)n in r||Object.defineProperty(r,n,{value:s.prototype[n].bind(r)});r._zod.constr=s,r._zod.def=a}let o=r?.Parent??Object;class n extends o{}function s(e){var t;let o=r?.Parent?new n:this;for(let r of(a(o,e),(t=o._zod).deferred??(t.deferred=[]),o._zod.deferred))r();return o}return Object.defineProperty(n,"name",{value:e}),Object.defineProperty(s,"init",{value:a}),Object.defineProperty(s,Symbol.hasInstance,{value:t=>!!r?.Parent&&t instanceof r.Parent||t?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}Object.freeze({status:"aborted"}),Symbol("zod_brand");class c extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}let l={};function u(e){return e&&Object.assign(l,e),l}function m(e,t){return"bigint"==typeof t?t.toString():t}let d=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function f(e){return"string"==typeof e?e:e?.message}function _(e,t,r){let a={...e,path:e.path??[]};return e.message||(a.message=f(e.inst?._zod.def?.error?.(e))??f(t?.error?.(e))??f(r.customError?.(e))??f(r.localeError?.(e))??"Invalid input"),delete a.inst,delete a.continue,t?.reportInput||delete a.input,a}let p=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get:()=>JSON.stringify(t,m,2),enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},g=i("$ZodError",p),h=i("$ZodError",p,{Parent:Error}),b=(e,t,r,a)=>{let o=r?Object.assign(r,{async:!1}):{async:!1},n=e._zod.run({value:t,issues:[]},o);if(n instanceof Promise)throw new c;if(n.issues.length){let e=new(a?.Err??h)(n.issues.map(e=>_(e,o,u())));throw d(e,a?.callee),e}return n.value},j=async(e,t,r,a)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},n=e._zod.run({value:t,issues:[]},o);if(n instanceof Promise&&(n=await n),n.issues.length){let e=new(a?.Err??h)(n.issues.map(e=>_(e,o,u())));throw d(e,a?.callee),e}return n.value};function y(){return(y=Object.assign.bind()).apply(null,arguments)}function v(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}e.s(["zodResolver",0,function(e,r,n){if(void 0===n&&(n={}),"_def"in e&&"object"==typeof e._def&&"typeName"in e._def)return function(s,i,c){try{return Promise.resolve(v(function(){return Promise.resolve(e["sync"===n.mode?"parse":"parseAsync"](s,r)).then(function(e){return c.shouldUseNativeValidation&&a({},c),{errors:{},values:n.raw?Object.assign({},s):e}})},function(e){if(Array.isArray(null==e?void 0:e.issues))return{values:{},errors:o(function(e,r){for(var a={};e.length;){var o=e[0],n=o.code,s=o.message,i=o.path.join(".");if(!a[i])if("unionErrors"in o){var c=o.unionErrors[0].errors[0];a[i]={message:c.message,type:c.code}}else a[i]={message:s,type:n};if("unionErrors"in o&&o.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),r){var l=a[i].types,u=l&&l[o.code];a[i]=(0,t.appendErrors)(i,r,a,n,u?[].concat(u,o.message):o.message)}e.shift()}return a}(e.errors,!c.shouldUseNativeValidation&&"all"===c.criteriaMode),c)};throw e}))}catch(e){return Promise.reject(e)}};if("_zod"in e&&"object"==typeof e._zod)return function(s,i,c){try{return Promise.resolve(v(function(){return Promise.resolve(("sync"===n.mode?b:j)(e,s,r)).then(function(e){return c.shouldUseNativeValidation&&a({},c),{errors:{},values:n.raw?Object.assign({},s):e}})},function(e){if(e instanceof g)return{values:{},errors:o(function(e,r){for(var a={};e.length;)!function(){var o=e[0],n=o.code,s=o.message,i=o.path.join(".");if(!a[i])if("invalid_union"===o.code&&o.errors.length>0){var c=o.errors[0][0];a[i]={message:c.message,type:c.code}}else a[i]={message:s,type:n};
2if("invalid_union"===o.code&&o.errors.forEach(function(t){return t.forEach(function(t){return e.push(y({},t,{path:[].concat(o.path,t.path)}))})}),r){var l=a[i].types,u=l&&l[o.code];a[i]=(0,t.appendErrors)(i,r,a,n,u?[].concat(u,o.message):o.message)}e.shift()}();return a}(e.issues,!c.shouldUseNativeValidation&&"all"===c.criteriaMode),c)};throw e}))}catch(e){return Promise.reject(e)}};throw Error("Invalid input: not a Zod schema")}],512866)},499270,(e,t,r)=>{var a=String,o=function(){return{isColorSupported:!1,reset:a,bold:a,dim:a,italic:a,underline:a,inverse:a,hidden:a,strikethrough:a,black:a,red:a,green:a,yellow:a,blue:a,magenta:a,cyan:a,white:a,gray:a,bgBlack:a,bgRed:a,bgGreen:a,bgYellow:a,bgBlue:a,bgMagenta:a,bgCyan:a,bgWhite:a,blackBright:a,redBright:a,greenBright:a,yellowBright:a,blueBright:a,magentaBright:a,cyanBright:a,whiteBright:a,bgBlackBright:a,bgRedBright:a,bgGreenBright:a,bgYellowBright:a,bgBlueBright:a,bgMagentaBright:a,bgCyanBright:a,bgWhiteBright:a}};t.exports=o(),t.exports.createColors=o},563829,e=>{"use strict";var t=e.i(966951);e.s(["default",0,t])}]); 3 4//# debugId=227c114b-0957-bdb6-c1f0-a16d324662a2
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.