PageSourceSearch

https://bullfrogrecruiting.com/assets/my-scholarships-BxdqxdXf.js

js bullfrogrecruiting.com collected 2026-10-08 01:47:44 UTC 5,267 bytes, 1 lines download raw bytes

1import{u as g,r as N,j as e,B as w,L as x}from"./index-CZv8ehWV.js";import{c as y,S as c,U as v}from"./SiteShell-Dm22jBcR.js";import{T as k}from"./textarea-CYw7HlAj.js";import{u as S,a as C,d as A,f as T,S as E}from"./scholarship-tools-d1F5rJ9r.js";import{P as L}from"./PageHeader-yENddP73.js";import{L as P}from"./lock-BYB-5nIi.js";import{A as h}from"./award-fAmRA3BH.js";import{A as U}from"./arrow-right-B2bEDca_.js";import{C as B}from"./calendar-DigrGlCM.js";import{T as R}from"./trash-2-CPNi_u3L.js";import{E as $}from"./external-link-brd_csh_.js";function J(){const{user:n,hydrated:p,impersonating:u}=g(),{all:i}=S(),o=C(u?.dbId??null),b=n.role==="athlete_pro"||n.role==="athlete_elite"||n.role==="parent",j=y(n),d=N.useMemo(()=>o.list.map(t=>{const s=i.find(a=>a.id===t.scholarshipId);return s?{entry:t,s}:null}).filter(t=>t!==null).sort((t,s)=>t.s.deadline.localeCompare(s.s.deadline)),[o.list,i]);return p?!b||!j?e.jsx(c,{children:e.jsxs("div",{className:"container-wide py-24 max-w-xl mx-auto text-center",children:[e.jsx(P,{className:"h-10 w-10 text-range mx-auto"}),e.jsx("span",{className:"mt-4 inline-block text-[10px] font-bold uppercase tracking-[0.25em] text-range",children:"Elite Feature"}),e.jsx("h1",{className:"mt-3 font-display text-3xl text-tobacco",children:"Unlock Scholarship Tracking"}),e.jsx("p",{className:"mt-3 text-muted-foreground",children:"Save scholarships, set your status, and track applications all the way through submitted."}),e.jsx("div",{className:"mt-6",children:e.jsx(v,{variant:"rodeo",size:"lg"})})]})}):e.jsxs(c,{children:[e.jsx(L,{eyebrow:"Private List",title:"My Scholarships",icon:e.jsx(h,{className:"h-8 w-8 text-range"}),description:"Scholarships you're tracking. Update status and keep notes - only you see this list.",eyebrowColor:"text-elite"}),e.jsxs("section",{className:"container-wide py-10",children:[d.length===0?e.jsxs("div",{className:"text-center py-16 border border-dashed border-border rounded-md",children:[e.jsx("p",{className:"font-display text-xl text-tobacco",children:"You haven't saved any scholarships yet."}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:"Browse the corner, save scholarships, and track deadlines and status all the way through submitted."}),e.jsx(w,{variant:"rodeo",className:"mt-6",asChild:!0,children:e.jsxs(x,{to:"/scholarship-corner",children:["Browse Scholarship Corner ",e.jsx(U,{className:"h-4 w-4"})]})})]}):e.jsx("ul",{className:"space-y-5",children:d.map(({entry:t,s})=>{const a=A(s.deadline),l=a<0,f=!l&&a<=14;return e.jsxs("li",{className:"bg-card border border-border rounded-md p-5",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h2",{className:"font-display text-xl font-bold text-tobacco leading-tight",children:s.title}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-tobacco/70",children:[e.jsxs("span",{className:`inline-flex items-center gap-1 ${l?"text-muted-foreground":f?"text-range font-semibold":""}`,children:[e.jsx(B,{className:"h-3.5 w-3.5"}),"Deadline ",T(s.deadline),!l&&a<=30&&e.jsxs("span",{className:"ml-1 opacity-80",children:["(",a===0?"today":`${a}d left`,")"]}),l&&e.jsx("span",{className:"ml-1",children:"(closed)"})]}),s.amount&&e.jsxs("span",{className:"inline-flex items-center gap-1 font-semibold text-tobacco",children:[e.jsx(h,{className:"h-3.5 w-3.5 text-range"}),s.amount]})]})]}),e.jsxs("button",{type:"button",onClick:()=>o.remove(s.id),title:"Remove from My Scholarships",className:"text-xs text-muted-foreground hover:text-range inline-flex items-center gap-1",children:[e.jsx(R,{className:"h-3.5 w-3.5"})," Remove"]})]}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-[10px] font-bold uppercase tracking-widest text-tobacco/60 mb-1.5",children:"Status"}),e.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:E.map(r=>{const m=t.status===r;return e.jsx("button",{type:"button",onClick:()=>o.setStatus(s.id,r),"aria-pressed":m,className:`text-[10px] font-bold uppercase tracking-wider px-2.5 py-1 rounded-sm border transition-colors ${m?"bg-tobacco border-tobacco text-bone":"bg-bone border-border text-tobacco/70 hover:border-tobacco/40"}`,children:r},r)})})]}),e.jsxs("div",{className:"mt-4",children:[e.jsx("label",{htmlFor:`notes-${s.id}`,className:"block text-[10px] font-bold uppercase tracking-widest text-tobacco/60 mb-1.5",children:"Notes"}),e.jsx(k,{id:`notes-${s.id}`,value:t.notes,onChange:r=>o.setNotes(s.id,r.target.value),placeholder:"Essay topic, required documents, recommender contacts…",rows:3})]}),e.jsx("div",{className:"mt-4",children:e.jsxs("a",{href:s.link,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs uppercase tracking-widest font-semibold text-tobacco hover:text-range",children:["Open Application ",e.jsx($,{className:"h-3.5 w-3.5"})]})})]},s.id)})}),e.jsx("div",{className:"mt-10",children:e.jsx(x,{to:"/scholarship-corner",className:"text-xs uppercase tracking-widest text-tobacco/70 hover:text-range",children:"← Back to Scholarship Corner"})})]})]}):e.jsx(c,{children:e.jsx("div",{className:"container-wide py-16"})})}
1export{J as component};

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.