1import{k as v,r as c,a as C,l as A,j as e,e as P,x as d,y as o,z as m,D as x,p as w,I as y,ap as D,aq as I,ar as M,as as R,at as f,B as T,aR as q,t as V,h as u,J as E}from"./index-C4LWZPK9.js";import{D as $}from"./dollar-sign-BoONtnCz.js";import{T as k}from"./tag-D7QmsNKQ.js";const b={key:"global",price_local:10,price_regional:30,price_national:60,price_international:100,max_ad_length_seconds:15,max_ads_per_5_minutes:1,max_videos_per_order:3,discount_code_price:10,ad_position:"pre_roll"};function B(){const g=v(),[n,r]=c.useState(b),[p,h]=c.useState(null),{data:i}=C({queryKey:["ad-settings-admin"],queryFn:()=>u.entities.AdSettings.filter({key:"global"})});c.useEffect(()=>{i!=null&&i.length&&(r({...b,...i[0]}),h(i[0].id))},[i]);const l=A({mutationFn:async s=>{if(p)return u.entities.AdSettings.update(p,s);const t=await u.entities.AdSettings.create(s);return h(t.id),t},onSuccess:()=>{g.invalidateQueries({queryKey:["ad-settings-admin"]}),g.invalidateQueries({queryKey:["ad-settings"]}),V.success("Ad settings saved")}}),a=(s,t,_="number",N={})=>e.jsxs("div",{children:[e.jsx(y,{children:t}),e.jsx(E,{type:_,className:"mt-1.5 bg-secondary",value:n[s],onChange:j=>r(S=>({...S,[s]:_==="number"?Number(j.target.value):j.target.value})),...N})]});return e.jsxs("div",{className:"pb-12 max-w-3xl mx-auto",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[e.jsx(P,{className:"w-6 h-6 text-primary"}),e.jsx("h1",{className:"text-3xl font-display font-bold",children:"Ad Platform Settings"})]}),e.jsxs("form",{onSubmit:s=>{s.preventDefault(),l.mutate(n)},className:"space-y-6",children:[e.jsxs(d,{className:"bg-secondary/30",children:[e.jsx(o,{children:e.jsxs(m,{className:"font-display flex items-center gap-2",children:[e.jsx($,{className:"w-5 h-5 text-primary"})," Regional Pricing (per week)"]})}),e.jsxs(x,{className:"grid grid-cols-2 gap-4",children:[a("price_local","Local / Single City ($)","number",{min:1}),a("price_regional","Regional ($)","number",{min:1}),a("price_national","National ($)","number",{min:1}),a("price_international","International ($)","number",{min:1})]})]}),e.jsxs(d,{className:"bg-secondary/30",children:[e.jsx(o,{children:e.jsxs(m,{className:"font-display flex items-center gap-2",children:[e.jsx(w,{className:"w-5 h-5 text-primary"})," Ad Rules"]})}),e.jsxs(x,{className:"grid grid-cols-2 gap-4",children:[a("max_ad_length_seconds","Max Ad Length (seconds)","number",{min:5,max:60}),a("max_ads_per_5_minutes","Max Ads per 5 Minutes of Video","number",{min:1,max:5}),a("max_videos_per_order","Max Videos per Order","number",{min:1,max:10}),e.jsxs("div",{children:[e.jsx(y,{children:"Ad Position"}),e.jsxs(D,{value:n.ad_position,onValueChange:s=>r(t=>({...t,ad_position:s})),children:[e.jsx(I,{className:"mt-1.5 bg-secondary",children:e.jsx(M,{})}),e.jsxs(R,{children:[e.jsx(f,{value:"pre_roll",children:"Pre-Roll (Before Video)"}),e.jsx(f,{value:"mid_roll",children:"Mid-Roll (During Video)"})]})]})]})]})]}),e.jsxs(d,{className:"bg-secondary/30",children:[e.jsx(o,{children:e.jsxs(m,{className:"font-display flex items-center gap-2",children:[e.jsx(k,{className:"w-5 h-5 text-primary"})," Discount Code Pricing"]})}),e.jsxs(x,{children:[a("discount_code_price","Price per Discount Code ($)","number",{min:1}),e.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Advertisers pay this amount each time they generate a promo code"})]})]}),e.jsx("div",{className:"flex justify-end",children:e.jsxs(T,{type:"submit",disabled:l.isPending,className:"gap-2 bg-primary hover:bg-primary/90 px-8",children:[e.jsx(q,{className:"w-4 h-4"}),l.isPending?"Saving...":"Save Settings"]})})]})]})}export{B 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.