1import{r as o,j as a,aj as I,bL as _}from"./vendor-D8YDYO9V.js";import{g as E,P as M,p as f,f as F}from"./index-BglWbpIR.js";import{M as H}from"./MemberLockedView-DNxtxY2g.js";import{k as K,u as h,v as U,I as x}from"./IsuUi-uFenuVYA.js";import{d as A,L as B}from"./router-CSjnf6bA.js";/* empty css */import"./flatpickr-C_UUl-Yg.js";function u(l,t){var r,c;if(!l||typeof l!="object")return t;const i=l;return((c=(r=i.response)==null?void 0:r.data)==null?void 0:c.detail)||i.message||t}function J(){const{year:l}=A(),t=Number(l),[i,r]=o.useState(null),[c,y]=o.useState(!0),[m,j]=o.useState(""),[k,v]=o.useState(""),[w,S]=o.useState("info"),[P,b]=o.useState(""),d=o.useCallback(async()=>{if(!Number.isInteger(t)||t<2e3||t>2200){j("Godina stipendije nije ispravna."),y(!1);return}try{const e=await E(`/api/isu/me/applications/${t}/`);r(e),j("")}catch(e){j(u(e,"Predmet stipendije nije moguÄe uÄitati."))}finally{y(!1)}},[t]);o.useEffect(()=>{d()},[d]);function n(e,s="info"){v(e),S(s)}async function D(e,s,g){const p=new FormData;p.append("phase",s),p.append("section",g),p.append("call_year",String(t)),p.append("file",e),b(`${s}:${g}`);try{await f("/api/isu/me/attachments/",p),await d(),n("Dokument je uspjeÅ¡no dodan.","success")}catch($){n(u($,"Dodavanje dokumenta nije uspjelo."),"error")}finally{b("")}}async function L(e){try{await F(`/api/isu/me/attachments/?attachment_id=${e}&call_year=${t}`),await d(),n("Dokument je obrisan.","success")}catch(s){n(u(s,"Brisanje dokumenta nije uspjelo."),"error")}}async function N(){try{const e=await f("/api/isu/me/lock-payout-documents/",{call_year:t});r(s=>s&&{...s,application:e.application}),n("Dokumentacija je zakljuÄana i predana HLK-u na pregled.","success")}catch(e){n(u(e,"Predaja dokumentacije nije uspjela."),"error")}}async function C(){try{const e=await f("/api/isu/me/submit-completion-documents/",{call_year:t,confirm_complete:!0});r(s=>s&&{...s,application:e.application}),n("Certifikati su predani HLK-u na pregled.","success")}catch(e){n(u(e,"Predaja certifikata nije uspjela."),"error")}}return a.jsxs("div",{className:"page-shell page-stack",children:[a.jsx(M,{title:`Moja stipendija ${Number.isFinite(t)?t:""}`,description:"Status stipendije i dostava certifikata."}),a.jsx("div",{children:a.jsxs(B,{to:"/natjecaji-isu",className:"inline-flex items-center gap-2 text-sm font-semibold text-[#143260] transition hover:text-[#1d477d]",children:[a.jsx(I,{className:"h-4 w-4"}),"Povratak na natjeÄaj"]})}),a.jsx(K,{eyebrow:"Moja stipendija",title:`Predmet stipendije ${Number.isFinite(t)?`${t}.`:""}`,description:"Ovdje pratite status odobrene stipendije i dostavljate certifikate kada HLK otvori taj korak.",stats:i?a.jsxs(a.Fragment,{children:[a.jsx(h,{label:"Referenca",value:i.application.reference}),a.jsx(h,{label:"Status",value:U(i.application.stage,i.application.results_status)}),a.jsx(h,{label:"NatjeÄaj",value:`${i.call.year}. godina`})]}):void 0,children:a.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-white/15 bg-white/10 px-3 py-1.5 text-xs font-semibold text-blue-50",children:[a.jsx(_,{className:"h-4 w-4"}),"Certifikati i tijek predmeta"]})}),c?a.jsx(x,{children:"UÄitavam predmet stipendije..."}):null,!c&&m?a.jsx(x,{tone:"error",children:m}):null,k?a.jsx(x,{tone:w,children:k}):null,!c&&!m&&i?a.jsx(H,{application:i.application,callData:i.call,uploadingKey:P,onUpload:D,onDeleteAttachment:L,onSubmitCompletionDocuments:C,onLockPayoutDocuments:N}):null]})}export{J 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.