1import{r as t,j as e}from"./vendor-react-De19kUq8.js";import{e as T,f as R}from"./vendor-app-DH33cvx6.js";import{B as n,a1 as k,a2 as q,a3 as F,N as L,au as E,a4 as V,Z as H,L as O,s as B,a0 as f}from"./index-fAhlbWPM.js";import{P as K}from"./page-header-Bw7JY8Mn.js";import{L as i}from"./label-DfuGxBna.js";import{T as Q}from"./textarea-CAzfT1ld.js";import{D as Z,b as $,c as G,d as J,e as U,f as W}from"./dialog-DrTx6flW.js";import{S as v,a as C,b as N,c as D,d as S}from"./select-CcnOEAVY.js";import{x as X,f as Y}from"./useAdvertising-nBT-KoJ-.js";import{u as ee,A as se,a as ae}from"./AdvertiserPortfolioTimeline-ezareXxG.js";import{A as c}from"./adSlotGeometry-Ds6V4dD3.js";import{P as y}from"./plus-DxyBq8W_.js";import"./vendor-ui-pO556hdz.js";import"./vendor-supabase-Bm92Y2YK.js";import"./index-BdQq_4o_.js";import"./chevron-up-5MTExY7L.js";import"./globe-BuTo3ffX.js";import"./printSpec-BFk8TSoQ.js";function Ne(){const{data:a}=X(),{data:b}=Y(),{data:m,isLoading:u}=ee(a==null?void 0:a.id),w=T(),[A,r]=t.useState(!1),[o,P]=t.useState(""),[l,z]=t.useState(""),[p,M]=t.useState("full"),[x,h]=t.useState(""),j=t.useMemo(()=>(m??[]).filter(s=>s.kind==="print"),[m]),d=R({mutationFn:async()=>{const s=c.find(I=>I.id===p)??c[0],{error:g}=await B.from("magazine_ad_reservations").insert({advertiser_id:a.id,region_id:o,edition_month:`${l}-01`,size:s.size,zone:s.zone,status:"requested",requested_by_advertiser:!0,notes:x.trim()||null});if(g)throw g},onSuccess:()=>{f.success("Demande envoyée : notre régie revient vers vous rapidement."),w.invalidateQueries({queryKey:ae(a==null?void 0:a.id)}),r(!1),h("")},onError:s=>f.error((s==null?void 0:s.message)??"Impossible d'envoyer la demande")}),_=!!(a!=null&&a.id)&&!!o&&!!l;return e.jsxs("div",{className:"space-y-6",children:[e.jsx(K,{title:"Mes parutions magazine",description:"Suivez vos encarts print, leur statut et vos emplacements offerts.",actions:e.jsxs(n,{onClick:()=>r(!0),disabled:!a,children:[e.jsx(y,{className:"mr-2 h-4 w-4"})," Demander une parution"]})}),!j.length&&!u?e.jsxs(k,{children:[e.jsxs(q,{children:[e.jsxs(F,{className:"flex items-center gap-2 text-base",children:[e.jsx(L,{className:"h-4 w-4"})," Aucune parution pour l'instant"]}),e.jsx(E,{children:"Demandez un encart dans un prochain numéro : notre régie vous propose un format et un tarif adaptés."})]}),e.jsx(V,{children:e.jsxs(n,{onClick:()=>r(!0),disabled:!a,children:[e.jsx(y,{className:"mr-2 h-4 w-4"})," Demander une parution"]})})]}):e.jsx(se,{rows:j,isLoading:u}),e.jsx(Z,{open:A,onOpenChange:r,children:e.jsxs($,{children:[e.jsxs(G,{children:[e.jsx(J,{children:"Demander une parution magazine"}),e.jsx(U,{children:"Votre demande est transmise à la régie : le format et le tarif seront confirmés avant réservation."})]}),e.jsxs("div",{className:"grid gap-3 py-2",children:[e.jsxs("div",{children:[e.jsx(i,{className:"text-xs",children:"Région"}),e.jsxs(v,{value:o,onValueChange:P,children:[e.jsx(C,{className:"h-9",children:e.jsx(N,{placeholder:"Choisir une régionâ¦"})}),e.jsx(D,{children:(b??[]).map(s=>e.jsx(S,{value:s.id,children:s.name},s.id))})]})]}),e.jsxs("div",{children:[e.jsx(i,{className:"text-xs",children:"Mois souhaité"}),e.jsx(H,{type:"month",value:l,onChange:s=>z(s.target.value),className:"h-9"})]}),e.jsxs("div",{children:[e.jsx(i,{className:"text-xs",children:"Format souhaité"}),e.jsxs(v,{value:p,onValueChange:M,children:[e.jsx(C,{className:"h-9",children:e.jsx(N,{})}),e.jsx(D,{children:c.map(s=>e.jsx(S,{value:s.id,children:s.label},s.id))})]})]}),e.jsxs("div",{children:[e.jsx(i,{className:"text-xs",children:"Précisions (optionnel)"}),e.jsx(Q,{value:x,onChange:s=>h(s.target.value),rows:3,placeholder:"Message, contraintes de date, visuel disponibleâ¦"})]})]}),e.jsxs(W,{children:[e.jsx(n,{variant:"ghost",onClick:()=>r(!1),children:"Annuler"}),e.jsxs(n,{onClick:()=>d.mutate(),disabled:!_||d.isPending,children:[d.isPending&&e.jsx(O,{className:"mr-1 h-3 w-3 animate-spin"}),"Envoyer la demande"]})]})]})})]})}export{Ne 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.