Files
boc/landvex-site/assets-backup-20260714-095559/useMissionExamples-CleHeLMM.js
T
Bernt 48ea61cdcc docs: add quixzoom-auth-core product to AAMOS
- Product documentation in docs/products/
- Updated MEMORY.md with product info
- quiXzoom Auth Core as AAMOS Identity product
2026-07-14 09:58:53 +00:00

3 lines
1.4 KiB
JavaScript

import{r as l,an as y,b7 as b,v as o,A as h,z as w}from"./index-4raZdHhl.js";const U=s=>{const[r,n]=l.useState([]),[d,i]=l.useState(!0),[m,c]=l.useState(!1),t=l.useCallback(async()=>{if(!s){i(!1);return}i(!0);try{const e=await y(`/mission-example-images?mission_id=${s}&order=order_index.asc`);n(Array.isArray(e)?e:[])}catch(e){console.warn("useMissionExamples: could not fetch examples",e),n([])}finally{i(!1)}},[s]);l.useEffect(()=>{t()},[t]);const u=async(e,p)=>{if(!s)return o.error("Mission ID saknas"),null;c(!0);try{const a=await h(e,`mission-examples/${s}`);if(!(a!=null&&a.url))throw new Error("Upload failed");const E=await w("/mission-example-images",{mission_id:s,image_url:a.url,image_type:"good",caption:p||null,order_index:r.length});return o.success("Exempelbild uppladdad!"),await t(),E}catch(a){return console.error("Upload error:",a),o.error("Kunde inte ladda upp bild: "+a.message),null}finally{c(!1)}},x=async(e,p)=>{try{await b(`/mission-example-images/${e}`),o.success("Exempelbild borttagen"),await t()}catch(a){console.error("Delete error:",a),o.error("Kunde inte ta bort bild: "+a.message)}},g=r.filter(e=>e.image_type==="good"),f=r.filter(e=>e.image_type==="bad");return{examples:r,goodExamples:g,badExamples:f,loading:d,uploading:m,hasExamples:r.length>0,uploadExample:u,deleteExample:x,refetch:t}};export{U as u};
//# sourceMappingURL=useMissionExamples-CleHeLMM.js.map