1import{j as e}from"./ui-vendor-xlsKxNXq.js";import{r as i}from"./react-vendor-DkrMGtWY.js";import{u as a,a as n,b as s}from"./query-vendor-C49mE9eM.js";import{Q as t,a2 as l,a4 as d,k as o,l as r,m as c,n as u,g as m,o as p,t as h,u as _,v as f,w as x,x as y,y as j,I as v,a0 as b,B as g}from"./index-BXeScBeb.js";import{d as w}from"./form-vendor-BZ2PJDNq.js";const N=()=>{var N,F;const{toast:S}=t(),q=a();i.useEffect(()=>{window.scrollTo(0,0)},[]);const{data:A}=n({queryKey:["profile"],queryFn:async()=>{const{data:{session:e}}=await l.auth.getSession();if(!e)return null;const{data:i}=await l.from("profiles").select("*").eq("user_id",e.user.id).single();return i}}),{data:z}=n({queryKey:["application",null==A?void 0:A.id],queryFn:async()=>{if(!(null==A?void 0:A.id))return null;const{data:e}=await l.from("applications").select("*").eq("profile_id",A.id).order("created_at",{ascending:!1}).limit(1).single();return e},enabled:!!(null==A?void 0:A.id)}),{data:I}=n({queryKey:["enrollment",null==z?void 0:z.id],queryFn:async()=>{if(!(null==z?void 0:z.id))return null;const{data:e}=await l.from("enrollments").select("*").eq("application_id",z.id).single();return e},enabled:!!(null==z?void 0:z.id)}),{data:C,isLoading:E}=n({queryKey:["financial-aid",null==I?void 0:I.id],queryFn:async()=>{if(!(null==I?void 0:I.id))return null;const{data:e}=await l.from("financial_aid_applications").select("*").eq("enrollment_id",I.id).single();return e},enabled:!!(null==I?void 0:I.id)}),{register:k,handleSubmit:K,watch:P,setValue:T}=w({values:C?{application_type:C.application_type,annual_income:null==(N=C.annual_income)?void 0:N.toString(),household_size:null==(F=C.household_size)?void 0:F.toString(),dependency_status:C.dependency_status||"",additional_notes:C.additional_notes||""}:void 0}),D=s({mutationFn:async e=>{if(!(null==I?void 0:I.id))throw new Error("No enrollment found");const i={application_type:e.application_type,annual_income:e.annual_income?parseFloat(e.annual_income):null,household_size:e.household_size?parseInt(e.household_size):null,dependency_status:e.dependency_status,additional_notes:e.additional_notes};if(C){const{error:e}=await l.from("financial_aid_applications").update(i).eq("enrollment_id",I.id);if(e)throw e}else{const{error:e}=await l.from("financial_aid_applications").insert({...i,enrollment_id:I.id,aid_status:"not_submitted"});if(e)throw e}},onSuccess:()=>{q.invalidateQueries({queryKey:["financial-aid"]}),S({title:"Success",description:"Financial aid information saved"})},onError:e=>{S({title:"Error",description:e.message,variant:"destructive"})}}),Q=s({mutationFn:async e=>{if(!(null==I?void 0:I.id))throw new Error("No enrollment found");const i={application_type:e.application_type,annual_income:e.annual_income?parseFloat(e.annual_income):null,household_size:e.household_size?parseInt(e.household_size):null,dependency_status:e.dependency_status,additional_notes:e.additional_notes,aid_status:"submitted"};if(C){const{error:e}=await l.from("financial_aid_applications").update(i).eq("enrollment_id",I.id);if(e)throw e}else{const{error:e}=await l.from("financial_aid_applications").insert({...i,enrollment_id:I.id});if(e)throw e}},onSuccess:async(e,i)=>{q.invalidateQueries({queryKey:["financial-aid"]}),await l.functions.invoke("log-activity",{body:{event_type:"financial_aid.submitted",metadata:{enrollment_id:null==I?void 0:I.id,application_type:i.application_type,annual_income:i.annual_income}}}),S({title:"Success",description:"Financial aid application submitted successfully"})},onError:e=>{S({title:"Error",description:e.message,variant:"destructive"})}});if(i.useEffect(()=>{if(!(null==I?void 0:I.id))return;const e=l.channel("financial-aid-updates").on("postgres_changes",{event:"*",schema:"public",table:"financial_aid_applications",filter:`enrollment_id=eq.${I.id}`},()=>q.invalidateQueries({queryKey:["financial-aid"]})).subscribe();return()=>{l.removeChannel(e)}},[null==I?void 0:I.id,q]),E)return e.jsx("div",{className:"flex items-center justify-center min-h-screen",children:e.jsx(d,{className:"w-8 h-8 animate-spin text-primary"})});return e.jsxs("div",{className:"p-8 space-y-6 max-w-3xl",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold",children:"Financial Aid"}),e.jsx("p",{className:"text-muted-foreground mt-1",children:"Apply for financial assistance to supp
1ort your education"})]}),C&&"not_submitted"!==C.aid_status&&e.jsxs(o,{children:[e.jsx(r,{children:e.jsx(c,{children:"Application Status"})}),e.jsxs(u,{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm font-medium",children:"Status:"}),e.jsx(m,{className:{not_submitted:"bg-gray-500",submitted:"bg-blue-500",under_review:"bg-yellow-500",approved:"bg-green-500",denied:"bg-red-500"}[C.aid_status],children:C.aid_status.replace("_"," ").toUpperCase()})]}),C.aid_amount_offered&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm font-medium",children:"Aid Offered:"}),e.jsxs("span",{className:"font-semibold text-lg",children:["$",C.aid_amount_offered.toLocaleString()]})]}),C.efc_amount&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm font-medium",children:"Expected Family Contribution:"}),e.jsxs("span",{className:"font-medium",children:["$",C.efc_amount.toLocaleString()]})]})]})]}),e.jsxs(o,{children:[e.jsx(r,{children:e.jsxs(c,{className:"flex items-center gap-2",children:[e.jsx(p,{className:"w-5 h-5"}),"Financial Aid Application"]})}),e.jsx(u,{children:e.jsxs("form",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"application_type",children:"Aid Type *"}),e.jsxs(_,{value:P("application_type"),onValueChange:e=>T("application_type",e),children:[e.jsx(f,{children:e.jsx(x,{placeholder:"Select aid type"})}),e.jsxs(y,{children:[e.jsx(j,{value:"institutional",children:"Institutional Scholarship"}),e.jsx(j,{value:"scholarship",children:"Merit Scholarship"}),e.jsx(j,{value:"payment_plan",children:"Payment Plan"}),e.jsx(j,{value:"work_study",children:"Campus Work-Study"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"annual_income",children:"Annual Family Income"}),e.jsx(v,{id:"annual_income",type:"number",...k("annual_income"),placeholder:"50000"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"household_size",children:"Household Size"}),e.jsx(v,{id:"household_size",type:"number",...k("household_size"),placeholder:"4"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"dependency_status",children:"Dependency Status"}),e.jsxs(_,{value:P("dependency_status"),onValueChange:e=>T("dependency_status",e),children:[e.jsx(f,{children:e.jsx(x,{placeholder:"Select dependency status"})}),e.jsxs(y,{children:[e.jsx(j,{value:"dependent",children:"Dependent"}),e.jsx(j,{value:"independent",children:"Independent"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"additional_notes",children:"Additional Information"}),e.jsx(b,{id:"additional_notes",...k("additional_notes"),placeholder:"Describe any special circumstances or additional information...",rows:4})]}),e.jsxs("div",{className:"p-4 bg-muted rounded-lg",children:[e.jsx("h4",{className:"font-medium mb-2",children:"Important Financial Aid Information"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"HTICU offers institutional scholarships, merit-based awards, and flexible payment plans to help make your education affordable. As a faith-based institution operating under Florida's religious exemption, HTICU does not participate in federal Title IV financial aid programs (FAFSA)."}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["For questions about financial assistance options, please contact our admissions office at"," ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsxs(g,{type:"button",variant:"outline",onClick:K(e=>{D.mutate(e)}),disabled:D.isPending||"not_submitted"!==(null==C?void 0:C.aid_status)&&void 0!==(null==C?void 0:C.aid_status),children:[D.isPending&&e.jsx(d,{className:"w-4 h-4 mr-2 animate-spin"}),"Save Draft"]}),e.jsxs(g,{type:"button",onClick:K(e=>{Q.mutate(e)}),disabled:Q.isPending,children:[Q.isPending&&e.jsx(d,{className:"w-4 h-4 mr-2 animate-spin"}),"not_submitted"!==(null==C?void 0:C.aid_status)&&C?"Update Application":"Submit Application"]})]})]})})]})]})};export{N as default}; 2//# sourceMappingURL=FinancialAid-kxT_EyHh.js.map
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.