PageSourceSearch

https://studio.firstory.me/assets/index-CFK5gbjY.js

js firstory.me collected 2026-10-01 09:21:04 UTC 33,576 bytes, 1 lines download raw bytes

1import{j as e,a as b}from"./react-vendor-BGQ-fvu8.js";import{h as Oe,o as P,D as u,R as G,bp as le,M as r,Q as xe,bq as Ee,E as B,B as U,ah as fe,Y as W,br as te,bs as Fe,bt as De,bu as ze,q as ie,m as Ie,bk as _,bv as Le,bw as Re,bx as Te,by as Be,bz as Q,bA as $e,I as X,bB as He,bC as Ge,bD as Ue,ak as he,al as T,ao as be,am as Ve,w as qe,bE as Ke,bF as _e,ay as Ze,bG as Je,C as Qe,aT as We}from"./main-BjGN4ckN.js";import{z as d,u as je,F as Ce,a as de}from"./form-vendor-0hBSyWfc.js";import{b as Xe}from"./show-DXvE4crq.js";import{C as ee,u as ye,F as ve,t as Ye}from"./useForm-B9SS0o31.js";import{H as ce}from"./index-DzYK4iwZ.js";import{A as ea,U as Ae}from"./useConnectionPage-BTbbEfwS.js";import{D as Se,c as aa}from"./DataTable-QKvIPynO.js";import{M as ta}from"./MoreMenu-B-vo6WuA.js";import{C as sa}from"./copy-BBJO9ufY.js";import{E as na}from"./eye-Bbl7GlPX.js";import{T as ia}from"./trash-2-LVPR6SG_.js";import{L as se,C as ne}from"./checkbox-CLy4ehUu.js";import"./editor-vendor-BUwO_Joe.js";import"./switch-BTo2ktPD.js";import"./lodash-vendor-0cI-KiNp.js";import{H as ra}from"./hint-Bus_EQCM.js";import{R as me,u as oa}from"./studio-campaign-BjClbo2l.js";import{S as la,F as ge}from"./button-group-BJMhmbJF.js";import{a as da}from"./setting-is_xwHo3.js";import{u as ca}from"./list-B1zVQFXM.js";import"./charts-vendor-fU6IkEZ_.js";import"./apollo-vendor-WdUFfbxi.js";import"./analytics-FvfVKYZ7.js";import"./popover-0Z-4IRr6.js";import"./chevron-left-5-Gg-yzc.js";import"./textarea-BvmO5uxP.js";import"./radio-group-C_7LLUci.js";import"./useValueChanged-CApZTwHC.js";import"./Linkify-Bonn0NIt.js";import"./table-CFsjfTm-.js";import"./index-Q4xRmGO5.js";const ma=[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193",key:"yfwify"}],["path",{d:"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07",key:"jlfiyv"}]],ga=Oe("cloud-off",ma);function Z({primary:a,secondary:t}){return e.jsxs("div",{className:"flex flex-col gap-0.5 py-0.5 whitespace-normal",children:[e.jsx("div",{className:"text-sm leading-snug font-medium",children:a}),t&&e.jsx("div",{className:"text-xs leading-snug text-muted-foreground",children:t})]})}function ua(){const a=P();return{adPlacementStrategy:{control:"select",label:a.formatMessage({id:"campaign.adPlacementStrategy"}),name:"adPlacementStrategy",selectTriggerClassName:"data-[size=default]:h-12",options:[{label:e.jsx(Z,{primary:a.formatMessage({id:"campaign.adPlacementStrategy.preRollOnly"}),secondary:a.formatMessage({id:"campaign.adPlacementStrategy.preRollOnly.description"})}),value:u.Ad.Campaign.AdPlacementStrategy.preRollOnly},{label:e.jsx(Z,{primary:a.formatMessage({id:"campaign.adPlacementStrategy.midRollOnly"}),secondary:a.formatMessage({id:"campaign.adPlacementStrategy.midRollOnly.description"})}),value:u.Ad.Campaign.AdPlacementStrategy.midRollOnly},{label:e.jsx(Z,{primary:a.formatMessage({id:"campaign.adPlacementStrategy.any"}),secondary:a.formatMessage({id:"campaign.adPlacementStrategy.any.description"})}),value:u.Ad.Campaign.AdPlacementStrategy.any},{label:e.jsx(Z,{primary:a.formatMessage({id:"campaign.adPlacementStrategy.exclusive"}),secondary:a.formatMessage({id:"campaign.adPlacementStrategy.exclusive.description"})}),value:u.Ad.Campaign.AdPlacementStrategy.exclusive}]}}}function ke(){const a=P();return d.object({title:d.string().min(1,a.formatMessage({id:"general.required"})),contactPerson:d.string().min(1,a.formatMessage({id:"general.required"})),contactEmail:d.string().email(a.formatMessage({id:"error.emailInvalid"})),description:d.string(),promotionContent:d.string(),target:d.number().int().nullable(),budget:d.number().int().nullable(),adPlacementStrategy:d.coerce.number().int(),audio:d.object({file:d.custom(t=>t instanceof File).optional(),url:d.string().optional(),duration:d.number().optional()}).nullable(),date:d.object({start:d.date().nullable(),end:d.date().nullable()}),categories:d.object({radio:d.string(),checkbox:d.array(d.string())}),gender:d.array(d.string()),age:d.array(d.string())}).superRefine((t,s)=>{t.date.start&&t.date.end&&t.date.start>t.date.end&&s.addIssue({code:d.ZodIssueCode.custom,path:["date","end"],message:a.formatMessage({id:"error.endD
1ateBeforeStartDate"})});const i=t.promotionContent;new DOMParser().parseFromString(i,"text/html").querySelectorAll("cta-link").length>1&&s.addIssue({code:d.ZodIssueCode.custom,path:["promotionContent"],message:a.formatMessage({id:"error.maxCtaLinkNumber"},{number:1})})})}function re(){const{data:a}=Xe(),t=P(),s=a?.playerCategoryFind.map(n=>({label:t.locale==="zh"?n.nameZh:n.nameEn,value:n.id}))||[],i=["0-17","18-22","23-27","28-34","35-44","45-59","60-150"].map(n=>({label:n,value:n}));return{gender:[{label:t.formatMessage({id:"dashboard.gender.male"}),value:"male"},{label:t.formatMessage({id:"dashboard.gender.female"}),value:"female"}],age:i,podcastCategory:s,aiCategory:[]}}function Ne(a){const{categories:t,options:s}=a,{checkbox:i,radio:l}=t,{aiCategory:m,podcastCategory:n}=s;if(i.length===0)return{aiCategories:null,podcastCategories:null};let o=null,c=null;return l==="podcast"&&n.length>0?c=i.length===n.length?["includeAll"]:i:l==="ai"&&m.length>0&&(o=i.length===m.length?["includeAll"]:i),{aiCategories:o,podcastCategories:c}}function Me(a){const{options:t}=a,s=P(),i=ua();return{title:{control:"text-field",label:s.formatMessage({id:"general.title"}),name:"title"},contactEmail:{control:"text-field",label:s.formatMessage({id:"campaign.podar.contactEmail"}),name:"contactEmail"},contactPerson:{control:"text-field",label:s.formatMessage({id:"campaign.podar.contactPerson"}),name:"contactPerson"},date:{control:"date-range-picker",label:s.formatMessage({id:"campaign.podar.duration"}),name:"date",start:{format:"yyyy-MM-dd",label:s.formatMessage({id:"general.selectDate.start"})},end:{format:"yyyy-MM-dd",label:s.formatMessage({id:"general.selectDate.end"})}},target:{control:"number-input",label:s.formatMessage({id:"campaign.target"}),name:"target"},budget:{control:"number-input",label:s.formatMessage({id:"campaign.podar.budget"}),name:"budget"},...i,description:{control:"text-editor",label:s.formatMessage({id:"campaign.podar.description"}),name:"description"},promotionContent:{control:"text-editor",label:s.formatMessage({id:"campaign.podar.promotionContent"}),name:"promotionContent",characterCountLimit:100,extensionOptions:{link:!1,youtubePasteHandler:!1},ToolbarComponent:({TextEditor:l})=>e.jsxs(l.Toolbar,{sticky:!0,children:[e.jsxs(l.ActionGroup,{children:[e.jsx(l.Undo,{}),e.jsx(l.Redo,{})]}),e.jsx(l.ActionGroup,{children:e.jsx(l.CtaLink,{})}),e.jsxs(l.ActionGroup,{children:[e.jsx(l.BulletList,{}),e.jsx(l.OrderedList,{})]}),e.jsx(l.ActionGroup,{children:e.jsx(l.ClearFormatting,{})})]})},categories:{control:"radio-checkbox",name:"categories",radio:{label:s.formatMessage({id:"general.category"}),options:[{label:s.formatMessage({id:"general.default"}),value:"podcast"}]},checkboxes:[{row:!0,options:t.podcastCategory,indeterminate:{label:s.formatMessage({id:"general.selectAll"})}}]},gender:{control:"checkbox-group",label:s.formatMessage({id:"dashboard.gender"}),name:"gender",indeterminate:{label:s.formatMessage({id:"general.selectAll"})},options:t.gender},age:{control:"checkbox-group",label:s.formatMessage({id:"dashboard.age"}),name:"age",indeterminate:{label:s.formatMessage({id:"general.selectAll"})},options:t.age},audio:{control:"audio-picker",label:s.formatMessage({id:"campaign.audioBlockItem"}),name:"audio"}}}function we(a){const{status:t}=a;let s=null,i="secondary";switch(t){case u.Ad.Campaign.Status.pending:s="general.reviewing",i="warning";break;case u.Ad.Campaign.Status.approved:s="general.approved",i="info";break;case u.Ad.Campaign.Status.running:case u.Ad.Campaign.Status.stopping:case u.Ad.Campaign.Status.error:s="campaign.podar.running",i="success";break;case u.Ad.Campaign.Status.completed:s="campaign.podar.completed",i="secondary";break;default:throw new Error(`Unknown status: ${t}`)}return e.jsx(xe,{variant:i,children:e.jsx(r,{id:s})})}function pa({data:a}){const t=P(),s=re(),i=new Set(ae({target:a?.podarAdCampaignFindOne?.config?.gender,allOptions:s.gender.map(v=>v.value)})),l=new Set(ae({target:a?.podarAdCampaignFindOne?.config?.age,allOptions:s.age.map(v=>v.value)})),m=new Set(ae({target:a?.podarAdCampaignFindOne?.config?.podcastCategories,allOptions:s.podcastCategory.map(v=>v.value)})),n=je({defaultValues:{podcastCategories:Array.from(m),gender:Array.from(i),age:Array.from(l)}});if(!a||!a.podarAdCampaignFindOne||!a.podarAdAgentFindOne)return e.jsx(G,{to:"/campaigns"});const{title:o,contactEmail:c,contactPerson:x,description:C,promotionContent:g,target:j,budget:f,start:y,end:A,status:h,blocks:k,links:E,adPlacementStrategy:w}=a.podarAdCampaignFindOne,{contentDivider:z="<p></p>"}=a.podarAdAgentFindOne,M=k?.[0]?.items?.[0]?.url,p=k?.[0]?.items?.[0]?.duration;let N=null;const O=y?le(new Date(y),"yyyy-MM-dd"):null,I=A?le(new Date(A),"yyyy-MM-dd"):null;O&&I?N=e.jsx(r,{id:"campaign.startEnd",values:{start:O,end:I}}):N=e.jsx("span",{className:"text-destructive",children:e.jsx(r,{id:"general.noDescription"})});let S=g||"",F=[];
1E&&(F=E);const L=new DOMParser().parseFromString(S,"text/html");let V=L.body.innerText.length;if(F.length>0&&S!==""){const v=L.querySelectorAll("cta-link");V+=v.length,v.forEach((oe,K)=>{const R=F[K];if(R){const D=document.createElement("a");D.setAttribute("href",R),D.setAttribute("target","_blank"),D.setAttribute("rel","noopener noreferrer"),D.innerText=R,oe.replaceWith(D)}}),S=L.body.innerHTML}(S==="<p><br></p>"||S==="<p></p>")&&(S="");const q=S?e.jsx(ce,{html:S+z,theme:"article-sans"}):e.jsx("span",{className:"text-destructive",children:e.jsx(r,{id:"general.noDescription"})}),Y=C?e.jsx(ce,{html:C,theme:"article-sans"}):e.jsx("span",{className:"text-destructive",children:e.jsx(r,{id:"general.noDescription"})}),H=v=>{if(v==null)return null;switch(v){case u.Ad.Campaign.AdPlacementStrategy.preRollOnly:return t.formatMessage({id:"campaign.adPlacementStrategy.preRollOnly"});case u.Ad.Campaign.AdPlacementStrategy.midRollOnly:return t.formatMessage({id:"campaign.adPlacementStrategy.midRollOnly"});case u.Ad.Campaign.AdPlacementStrategy.any:return t.formatMessage({id:"campaign.adPlacementStrategy.any"});case u.Ad.Campaign.AdPlacementStrategy.exclusive:return t.formatMessage({id:"campaign.adPlacementStrategy.exclusive"});default:return null}};return e.jsxs("div",{className:"mt-2 flex flex-col gap-5",children:[e.jsx("div",{children:e.jsx(we,{status:h})}),e.jsx("div",{className:"flex flex-col gap-2.5",children:e.jsx("h4",{className:"xl font-medium",children:o})}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("h2",{className:"mb-3 font-bold",children:e.jsx(r,{id:"general.contactInfo"})}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:e.jsx(r,{id:"campaign.podar.contactEmail"})}),c?e.jsx("div",{className:"text-base",children:c}):e.jsx("div",{className:"text-destructive",children:e.jsx(r,{id:"general.noDescription"})})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:e.jsx(r,{id:"campaign.podar.contactPerson"})}),x?e.jsx("div",{className:"text-base",children:x}):e.jsx("div",{className:"text-destructive",children:e.jsx(r,{id:"general.noDescription"})})]})]})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("h2",{className:"mb-3 font-bold",children:e.jsx(r,{id:"campaign.podar.duration"})}),e.jsx("div",{className:"text-base",children:N})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("h2",{className:"mb-3 font-bold",children:e.jsx(r,{id:"campaign.target"})}),j?e.jsx("div",{className:"text-base",children:t.formatNumber(j)}):e.jsx("div",{className:"text-destructive",children:e.jsx(r,{id:"general.noDescription"})})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("h2",{className:"mb-3 font-bold",children:e.jsx(r,{id:"campaign.podar.budget"})}),f?e.jsx("div",{className:"text-base",children:t.formatNumber(f)}):e.jsx("div",{className:"text-destructive",children:e.jsx(r,{id:"general.noDescription"})})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("h2",{className:"mb-3 font-bold",children:e.jsx(r,{id:"campaign.adPlacementStrategy"})}),H(w)?e.jsx("div",{className:"text-base",children:H(w)}):e.jsx("div",{className:"text-destructive",children:e.jsx(r,{id:"general.noDescription"})})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("h2",{className:"mb-3 font-bold",children:e.jsx(r,{id:"campaign.podar.description"})}),Y]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("div",{className:"mb-3 flex items-center gap-1",children:[e.jsx("h2",{className:"font-bold",children:e.jsx(r,{id:"campaign.podar.promotionContent"})}),V>0&&e.jsx(xe,{variant:"success",className:"lowercase",children:`${V} ${t.formatMessage({id:"editor.characters"})}`})]}),q]}),e.jsxs(Ce,{...n,children:[e.jsx(ee,{name:"podcastCategories",label:e.jsx(r,{id:"general.category"}),options:s.podcastCategory,row:!0,disabled:!0}),e.jsx(ee,{name:"gender",label:e.jsx(r,{id:"dashboard.gender"}),options:s.gender,disabled:!0}),e.jsx(ee,{name:"age",label:e.jsx(r,{id:"dashboard.age"}),options:s.age,disabled:!0})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"flex items-center pt-1 pb-2",children:e.jsx("h2",{className:"mb-3 font-bold",children:e.jsx(r,{id:"campaign.audioBlockItem"})})}),k?.length>0?e.jsx(ea,{name:o,readOnly:!0,audio:{name:o,url:M},duration:p/1e3,enableDownload:!0}):e.jsx("div",{className:"text-destructive",children:e.jsx(r,{id:"episodes.noAudio"})})]})]})}function ae(a){const{target:t,allOptions:s}=a;return t?!(t[0]==="includeAll")||!s?t:s:[]}function xa({campaign:a}
1){const t=W(),s=Fe(),i=De(),{createAdPreview:l,loading:m}=ze(),{showSnackbarMessage:n}=ie(),o=a.status===u.Ad.Campaign.Status.pending,c=b.useCallback(async g=>{g.stopPropagation(),await s(a.id)},[a.id,s]),x=b.useCallback(async g=>{g.stopPropagation(),await i(a.id)},[a.id,i]),C=b.useCallback(async g=>{g.stopPropagation();try{const j=await l(a.id);if(!j?.episodeId){n("error.general",{variant:"error"});return}n("general.success",{variant:"success"}),window.open(`https://adsdemo.${Ie.urls.siteUrlBase}/episodes/${j.episodeId}`,"_blank")}catch{n("error.general",{variant:"error"})}},[l,a.id,n]);return e.jsxs(ta,{children:[e.jsxs(_,{onClick:g=>{g.stopPropagation(),t.push(`/campaigns/${a.id}/edit`)},disabled:!o,children:[e.jsx(Le,{className:"size-4"}),e.jsx(r,{id:"general.edit"})]}),e.jsxs(_,{onClick:x,children:[e.jsx(sa,{className:"size-4"}),e.jsx(r,{id:"general.makeCopy"})]}),e.jsxs(_,{onClick:C,disabled:m,children:[m?e.jsx(Re,{className:"size-4 animate-spin"}):e.jsx(na,{className:"size-4"}),e.jsx(r,{id:"general.preview"})]}),e.jsx(Te,{}),e.jsxs(_,{variant:"destructive",onClick:c,disabled:!o,children:[e.jsx(ia,{className:"size-4"}),e.jsx(r,{id:"general.delete"})]})]})}function fa({adCampaigns:a,hasMore:t,isFetchingAfter:s,loadMore:i}){const l=W(),m=b.useMemo(()=>[{id:"title",enableSorting:!1,accessorFn:o=>o,header:()=>e.jsx(r,{id:"general.title"}),cell:o=>{const c=o.getValue();return e.jsx("span",{className:"font-bold",children:c.title})}},{id:"date",enableSorting:!1,accessorFn:o=>o,header:()=>e.jsx(r,{id:"campaign.date"}),cell:o=>{const c=o.getValue();return c.start&&c.end?e.jsx(r,{id:"campaign.startEnd",values:{start:te(c.start),end:te(c.end)}}):e.jsx(r,{id:"general.notSelected"})}},{id:"status",enableSorting:!1,accessorFn:o=>o,header:()=>e.jsx(r,{id:"general.status"}),cell:o=>{const c=o.getValue();return e.jsx(we,{status:c.status})}},{id:"actions",enableSorting:!1,size:72,accessorFn:o=>o,meta:{align:"right",preventRowClick:!0},header:()=>"",cell:o=>{const c=o.getValue();return e.jsx(xa,{campaign:c})}}],[]),n=b.useCallback(o=>{l.push(`/campaigns/${o.id}`)},[l]);return e.jsx(Se,{data:a,columns:m,onRowClick:n,getRowId:o=>o.id,showPagination:!0,hasMore:t,loading:s,loadMore:i})}function ha(){const{loading:a,data:t,hasMore:s,isFetchingAfter:i,loadMore:l}=Ee(),m=P();return t?e.jsx(B,{title:m.formatMessage({id:"nav.adCampaign"}),headerRight:e.jsx(U,{size:"lg",nativeButton:!1,render:e.jsx(fe,{to:"/campaigns/new"}),children:e.jsx(r,{id:"general.add"})}),children:e.jsx(fa,{adCampaigns:t.podarAdCampaignFind,hasMore:s,isFetchingAfter:i,loadMore:l})}):a?e.jsx(B,{title:m.formatMessage({id:"nav.adCampaign"}),loading:!0}):e.jsx(G,{to:"/login"})}function ba(){const a=re(),t=Me({options:a}),s=ke(),i=Be(),l=W();return{form:ye({defaultValues:{title:"",description:"",contactEmail:"",contactPerson:"",budget:null,promotionContent:"",adPlacementStrategy:u.Ad.Campaign.AdPlacementStrategy.preRollOnly,categories:{radio:"podcast",checkbox:[]},target:null,audio:null,date:{start:null,end:null},age:[],gender:[]},schema:s,onSubmit:async({data:n})=>{const{audio:o,date:c,target:x,age:C,gender:g,categories:j,promotionContent:f,...y}=n,A=C.length===a.age.length?["includeAll"]:C,h=g.length===a.gender.length?["includeAll"]:g,{aiCategories:k,podcastCategories:E}=Ne({categories:j,options:a});let w=null;o&&(w=[{title:y.title,items:[{duration:o?.duration||0,audioBlockFile:o?.file||null}]}]);const M=new DOMParser().parseFromString(f,"text/html"),p=M.querySelectorAll("cta-link"),N=[];p.forEach(F=>{const $=F.getAttribute("href");$&&(N.push($),F.removeAttribute("href"))});const O=M.body.innerHTML,S=(await i({start:Q(c.start),end:Q(c.end),target:x||0,config:{age:A,aiCategories:k,podcastCategories:E,gender:h},blocks:w,links:N,promotionContent:O,...y})).data?.podarAdCampaignCreate?.id;S&&l.push(`/campaigns/${S}`)}}),controllers:t}}function ja(a,t){return a?.gender?a.gender[0]==="includeAll"?t.gender.map(s=>s.value):a.gender:[]}function Ca(a,t){return a?.age?a.age[0]==="includeAll"?t.age.map(s=>s.value):a.age:[]}function ya(a){const t={file:new File([],a?.blocks?.[0]?.title||""),url:a?.blocks?.[0]?.items?.[0]?.url||"",duration:a?.blocks?.[0]?.items?.[0]?.duration};return!t?.file?.name||!t?.url||!t?.duration?null:t}function va(a,t){return a?.aiCategories?{radio:"ai",checkbox:a.aiCategories.length===1&&a.aiCategories[0]==="includeAll"?t.aiCategory.map(i=>i.value):a.aiCategories}:a?.podcastCategories?{radio:"podcast",checkbox:a.podcastCategories.length===1&&a.podcastCategories[0]==="includeAll"?t.podcastCategory.map(i=>i.value):a.podcastCategories}:{radio:"podcast",checkbox:[]}}function Aa(a,t){if(t.length===0||a==="")return a;const i=new DOMParser().parseFromString(a,"text/html");return i.querySelectorAll("cta-link").forEach((m,n)=>{t[n]&&m.setAttribute("href",t[n])}),i.body.innerHTML}function Sa({data:a}){const t=re(),s=Me({options:t}),i=ke(),l=$e(),m=W(),{podarAdCampaignFindOne:n}=a,{config:o}=n||{},c=ja(o,t),x=Ca(o,t),C=ya(n),{radio:g,checkbox:j}=va(o,t),f=Aa(n?.promotionContent||"",n?.links||[]);return{form:ye({defaultValues:{title:n?.title||"",description:n?.description||"",contactEmail:n?.contactEmail||"",contactPerson:n?.contactPerson||"",promotionContent:f,adPlacementStrategy:n?.adPlacementStrategy??u.Ad.Campaign.AdPlacementStrategy.preRollOnly,categories:{radio:g,checkbox:j},target:n?.target||null,budget:n?.budget||null,audio:C,date:{start:n?.start?new Date(n.start):null,end:n?.end?new Date(n.end):null},age:x,gender:c},schema:i,onSubmit:async({data:A})=>{const{audio:h,date:k,target:E,age:w,gender:z,categories:M,title:p,promotionContent:N,...O}=A,I=w.length===t.age.length?["includeAll"]:w,S=z.length===t.gender.length?["includeAll"]:z,{aiCategories:F,podcastCategories:$}=Ne({categories:M,options:t});let L=[];if(h?.url!==n?.blocks?.[0]?.items?.[0].url&&(L=[{title:p,items:[{duration:h?.duration||0,audioBlockFile:h?.file||null}]}]),!h?.url&&n?.blocks?.[0]?.items?.[0].url&&(L=null),!n?.id)return;const q=new DOMParser().parseFromString(N,"text/html"),Y=q.querySelectorAll("cta-link"),H=[];Y.forEach(R=>{const D=R.getAttribute("href");D&&(H.push(D),R.removeAttribute("href"))});const v=q.body.innerHTML,K=(await l({adCampaignId:n.id,start:Q(k.start),end:Q(k.end),title:p,target:E||0,config:{age:I,aiCategories:F,podcastCategories:$,gender:S},blocks:L,links:H,promotionContent:v,...O})).data?.podarAdCampaignUpdate?.id;K&&m.push(`/campaigns/${K}/info`)}}),controllers:s}}function ka(){const a=b.useId(),{form:t,controllers:s}=ba(),{methods:i}=t,l=P(),m=n=>{n.key==="Enter"&&n.preventDefault()};return e.jsxs(B,{title:l.formatMessage({id:"campaign.new"}),children:[e.jsx(ve,{id:a,form:t,controllers:s,onKeyDown:m}),e.jsx("div",{className:"mt-10",children:e.jsx(X,{loading:i.formState.isSubmitting,size:"lg",form:a,type:"submit",children:e.jsx(r,{id:"general.save"})})})]})}function Na({data:a}){const t=b.useId(),{form:s,controllers:i}=Sa({data:a}),{methods:l}=s,{status:m,id:n}=a.podarAdCampaignFindOne||{},o=c=>{c.key==="Enter"&&c.preventDefault()};return m!==u.Ad.Campaign.Status.pending?e.jsx(G,{to:`/campaigns/${n}/info`}):e.jsxs("div",{className:"container mx-auto max-w-full",children:[e.jsx(ve,{id:t,form:s,controllers:i,onKeyDown:o}),e.jsx("div",{className:"mt-10",children:e.jsx(X,{loading:l.formState.isSubmitting,size:"lg",form:t,type:"submit",children:e.jsx(r,{id:"general.save"})})})]})}function Ma(){const a=P(),{id:t}=He(),{loading:s,data:i}=Ge(t);if(s)return e.jsx(B,{loading:!0});if(!i||!i.podarAdCampaignFindOne||!i.podarAdAgentFindOne)return e.jsx(G,{to:"/campaigns"});const l=[];return i.podarAdCampaignFindOne.status===u.Ad.Campaign.Status.pending&&l.push({name:a.formatMessage({id:"general.edit"}),path:`/campaigns/${t}/edit`}),e.jsxs(B,{children:[e.jsx("div",{className:"mb-8",children:e.jsx(Ue,{tabs:[{name:a.formatMessage({id:"general.info"}),path:`/campaigns/${t}/info`},...l]})}),e.jsxs(he,{children:[e.jsx(T,{path:"/campaigns/:id/info",children:e.jsx(pa,{data:{podarAdAgentFindOne:i.podarAdAgentFindOne,podarAdCampaignFindOne:i.podarAdCampaignFindOne}})}),e.jsx(T,{path:"/campaigns/:id/edit",children:e.jsx(Na,{data:i})}),e.jsx(T,{children:e.jsx(G,{to:`/campaigns/${t}/info`})})]})]})}const wa="https://script.google.com/macros/s/AKfycbykqR2IvJICpQtLAZ7A41CaHdwxTxGNEaBpACih6fRG_wIolfyCmCATMHnxdCjZZTD3/exec",J=[{key:"gambling",messageId:"monetization.campaigns-setting.excluded-categories.category.gambling"},{key:"tobacco-alcohol",messageId:"monetization.campaigns-setting.excluded-categories.category.tobacco-alcohol"},{key:"adult-dating",messageId:"monetization.campaigns-setting.excluded-categories.category.adult-dating"},{key:"politics",messageId:"monetization.campaigns-setting.excluded-categories.category.politics"},{key:"religion-occult",messageId:"monetization.campaigns-setting.excluded-categories.category.religion-occult"},{key:"finance-crypto",messageId:"monetization.campaigns-setting.excluded-categories.category.finance-crypto"},{key:"health-beauty",messageId:"monetization.campaigns-setting.excluded-categories.category.health-beauty"},{key:"games-apps",messageId:"monetization.campaigns-setting.excluded-categories.category.games-apps"},{key:"cross-promotion",messageId:"monetization.campaigns-setting.excluded-categories.category.cross-promotion"}],Pa=J.map(a=>a.key),Oa=d.object({excludedCategories:d.array(d.string()),updatedAt:d.str
1ing().nullable()}),Ea=d.object({ok:d.boolean()});function Fa(a){return a.filter(t=>Pa.includes(t))}async function Da(a,t){const s=await fetch(`${a}?showId=${encodeURIComponent(t)}`,{redirect:"follow"});if(!s.ok)throw new Error(`ad exclusion fetch failed: ${s.status}`);const i=Oa.parse(await s.json());return{...i,excludedCategories:Fa(i.excludedCategories)}}async function za(a,t){const s=await fetch(a,{method:"POST",headers:{"Content-Type":"text/plain;charset=utf-8"},body:JSON.stringify(t),redirect:"follow"});if(!s.ok)throw new Error(`ad exclusion save failed: ${s.status}`);if(!Ea.parse(await s.json()).ok)throw new Error("ad exclusion save failed: server returned ok=false")}function Ia({endpoint:a,showId:t,showName:s,userId:i}){const[l,m]=b.useState([]),[n,o]=b.useState(!0),[c,x]=b.useState(!1),[C,g]=b.useState(!1),[j,f]=b.useState(0);b.useEffect(()=>{let h=!1;return o(!0),x(!1),Da(a,t).then(k=>{h||m(k.excludedCategories)}).catch(()=>{h||x(!0)}).finally(()=>{h||o(!1)}),()=>{h=!0}},[a,t,j]);const y=b.useCallback(()=>{f(h=>h+1)},[]),A=b.useCallback(async h=>{g(!0);try{await za(a,{showId:t,showName:s,userId:i,excludedCategories:h,clientTimestamp:new Date().toISOString()}),m(h)}finally{g(!1)}},[a,t,s,i]);return{excludedCategories:l,isLoading:n,loadError:c,isSaving:C,save:A,reload:y}}function La(){const{show:a,user:t}=be();return a?e.jsx(Ra,{showId:a.id,showName:a.name,userId:t?.id??""}):null}function Ra({showId:a,showName:t,userId:s}){const{excludedCategories:i,isLoading:l,loadError:m,isSaving:n,save:o,reload:c}=Ia({endpoint:wa,showId:a,showName:t,userId:s}),{showSnackbarMessage:x}=ie(),[C,g]=b.useState(null),[j,f]=b.useState(!1),y=C??i,A=J.map(p=>p.key).filter(p=>y.includes(p)!==i.includes(p)),h=A.length>0;function k(p,N){const O=C??i;g(N?[...O,p]:O.filter(I=>I!==p)),f(!1)}function E(){g(null),f(!1)}async function w(){f(!1);try{await o(y),g(null),x("general.saved",{variant:"success",vertical:"top",horizontal:"center"})}catch{f(!0)}}const z=e.jsxs("div",{className:"mb-3",children:[e.jsx("h3",{className:"text-lg font-semibold",children:e.jsx(r,{id:"monetization.campaigns-setting.excluded-categories.title"})}),e.jsx("p",{className:"mt-1.5 text-sm text-muted-foreground",children:e.jsx(r,{id:"monetization.campaigns-setting.excluded-categories.description"})})]});let M;return l?M=e.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:J.map(p=>e.jsx(Ve,{className:"h-9 w-full"},p.key))}):m?M=e.jsx("div",{className:"rounded-xl border-2 border-dashed border-border bg-muted/30 p-8",children:e.jsxs("div",{className:"flex flex-col items-center gap-2 text-center",children:[e.jsx("div",{className:"flex size-10 items-center justify-center rounded-full bg-muted text-muted-foreground",children:e.jsx(ga,{"aria-hidden":"true",className:"size-5"})}),e.jsx("div",{className:"text-sm font-semibold",children:e.jsx(r,{id:"monetization.campaigns-setting.excluded-categories.load-error-title"})}),e.jsx("div",{className:"text-sm text-muted-foreground",children:e.jsx(r,{id:"monetization.campaigns-setting.excluded-categories.load-error-body"})}),e.jsxs(U,{variant:"outline",size:"sm",className:"mt-1.5",onClick:c,children:[e.jsx(me,{"aria-hidden":"true",className:"size-4"}),e.jsx(r,{id:"monetization.campaigns-setting.excluded-categories.reload"})]})]})}):M=e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"-mx-2.5 grid grid-cols-1 gap-x-4 sm:grid-cols-2",children:J.map(p=>e.jsxs(se,{className:"flex cursor-pointer items-center gap-2.5 rounded-lg px-2.5 py-2 font-normal transition-colors hover:bg-muted",children:[e.jsx(ne,{checked:y.includes(p.key),disabled:n,onCheckedChange:N=>k(p.key,N===!0)}),e.jsx("span",{className:"text-sm",children:e.jsx(r,{id:p.messageId})})]},p.key))}),h&&e.jsxs(e.Fragment,{children:[j&&e.jsxs(ra,{variant:"error",className:"mt-4",children:[e.jsx("span",{className:"font-semibold",children:e.jsx(r,{id:"monetization.campaigns-setting.excluded-categories.save-error-title"})}),e.jsx("span",{className:"mt-0.5 block",children:e.jsx(r,{id:"monetization.campaigns-setting.excluded-categories.save-error-body"})})]}),e.jsxs("div",{className:"mt-4 flex items-center gap-2",children:[e.jsx("span",{className:"mr-auto text-sm text-muted-foreground",children:e.jsx(r,{id:"general.unsaved-changes",values:{count:A.length}})}),e.jsx(U,{variant:"ghost",size:"sm",onClick:E,disabled:n,children:e.jsx(r,{id:"general.cancel"})}),e.jsxs(X,{loading:n,size:"sm",onClick:w,children:[j&&e.jsx(me,{"aria-hidden":"true",className:"size-4"}),e.jsx(r,{id:j?"monetization.campaigns-setting.excluded-categories.retry":"general.save-changes"})]})]})]})]}),e.jsxs("div",{className:"mb-8",children:[z,M]})}function Ta({adBreak:a}){return a?.adCampaignId?"text-warning-foreground":a?.active?"text-success-foreground":"text-muted-foreground"}function ue({adBreak:a}){const t=Ta({adBreak:a});let s="campaign.studio.episode.adStatus.disable";return a?.adCampaignId?s="campaign.studio.episode.adStatus.running":a?.active&&(s="campaign.studio.episode.adStatus.enable"),e.jsx("span",{className:qe("whitespace-nowrap",t),children:e.jsx(r,{id:s})})}const pe=aa();function Ba({episodes:a,hasMore:t,isFetchingAfter:s,loadMore:i}){const l=b.useMemo(()=>[pe.accessor("publishedAt",{enableSorting:!1,size:120,header:()=>e.jsx(r,{id:"general.date"}),cell:n=>{const o=n.getValue();return o?te(o):"-"}}),pe.accessor("title",{enableSorting:!1,minSize:120,header:()=>e.jsx(r,{id:"general.title"}),cell:n=>n.getValue()||"-"}),{id:"preroll",enableSorting:!1,accessorFn:n=>n,header:()=>e.jsx(r,{id:"preroll"}),cell:n=>{const o=n.getValue();return e.jsx(ue,{adBreak:o.adBreaks.find(c=>c.positionMs===0)})}},{id:"midroll",enableSorting:!1,accessorFn:n=>n,header:()=>e.jsx(r,{id:"midroll"}),cell:n=>{const o=n.getValue();return e.jsx(ue,{adBreak:o.adBreaks.find(c=>c.positionMs>0)})}},{id:"options",enableSorting:!1,accessorFn:n=>n,header:()=>null,cell:n=>{const o=n.getValue();return e.jsx(U,{variant:"ghost",size:"icon-sm",nativeButton:!1,render:e.jsx(fe,{to:`/assistant/${o.id}/ad-campaign`}),children:e.jsx(la,{className:"size-4"})})}}],[]);return e.jsx(Se,{showPagination:!0,stickyHeader:!0,stickyFooter:!0,data:a,columns:l,loading:s,hasMore:t,loadMore:i})}function $a(){const a=P(),t=de({name:"enableOldEpisodeAd"}),s=de({name:"enableOldEpisodeMidRollAd"});return e.jsx("div",{className:"mt-2",children:e.jsx(Ae,{type:u.User.Feature.switchAdStatus,margin:"dense",children:({hasFeature:i})=>e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{children:[e.jsx(ge,{children:e.jsxs(se,{className:"flex items-center gap-2",children:[e.jsx(ne,{name:t.field.name,checked:!!t.field.value,onCheckedChange:t.field.onChange,onBlur:t.field.onBlur,ref:t.field.ref,disabled:!i}),a.formatMessage({id:"monetization.campaigns-setting.enableOldEpisodePrerollAd"})]})}),!!t.field.value&&e.jsx("p",{className:"my-2 text-sm text-error-foreground",children:e.jsx(r,{id:"monetization.campaigns-setting.enableOldEpisodePrerollAd.hint"})})]}),e.jsxs("div",{children:[e.jsx(ge,{children:e.jsxs(se,{className:"flex items-center gap-2",children:[e.jsx(ne,{name:s.field.name,checked:!!s.field.value,onCheckedChange:s.field.onChange,onBlur:s.field.onBlur,ref:s.field.ref,disabled:!i}),a.formatMessage({id:"monetization.campaigns-setting.enableOldEpisodeMidrollAd"})]})}),!!s.field.value&&e.jsx("p",{className:"my-2 text-sm text-error-foreground",children:e.jsx(r,{id:"monetization.campaigns-setting.enableOldEpisodeMidrollAd.hint"})})]})]})})})}const Ha=d.object({selectedEpisodeIds:d.record(d.union([d.boolean(),d.undefined()])),enableOldEpisodeAd:d.boolean(),enableOldEpisodeMidRollAd:d.boolean()});function Ga(a){return{enableIds:Object.entries(a).filter(([,t])=>t).map(([t])=>t),disableIds:Object.entries(a).filter(([,t])=>typeof t<"u"&&!t).map(([t])=>t)}}function Pe(a){return a===!0?1:a&&typeof a=="object"?Object.values(a).reduce((t,s)=>t+Pe(s),0):0}function Ua({episodes:a,showSetting:t,hasMore:s,isFetchingAfter:i,canSwitchAdStatus:l,loadMore:m}){const n=Ke({id:"podarEpisodes"}),{showSnackbarMessage:o}=ie(),c=oa(),x=da(),C=b.useMemo(()=>({selectedEpisodeIds:{},enableOldEpisodeAd:!!t?.enableOldEpisodeAd,enableOldEpisodeMidRollAd:!!t?.enableOldEpisodeMidRollAd}),[t]),g=je({defaultValues:C,resolver:Ye(Ha)}),j=g.handleSubmit(async f=>{const{enableIds:y,disableIds:A}=Ga(f.selectedEpisodeIds);await Promise.all([c({enableIds:y,disableIds:A}),x({enableOldEpisodeAd:f.enableOldEpisodeAd,enableOldEpisodeMidRollAd:f.enableOldEpisodeMidRollAd})]),o("general.saved",{variant:"success",vertical:"top",horizontal:"center"}),g.reset(f)});return e.jsx(Ce,{...g,children:e.jsxs("div",{className:"mb-8",children:[e.jsx("p",{children:e.jsx(r,{id:"campaign.studio.episodeList.description",values:{link:f=>e.jsx("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:f})}})}),e.jsxs("div",{className:"mb-8",children:[e.jsx("h3",{className:"text-lg font-semibold",children:e.jsx(r,{id:"general.setting"})}),e.jsx($a,{}),g.formState.isDirty&&e.jsxs("div",{className:"mt-4 flex items-center gap-2",children:[e.jsx("span",{className:"mr-auto text-sm text-muted-foreground",children:e.jsx(r,{id:"general.unsaved-changes",values:{count:Pe(g.formState.dirtyFields)}})}),e.jsx(U,{variant:"ghost",size:"sm",onClick:()=>g.reset(),disabled:g.formState.isSubmitting,children:e.jsx(r,{id:"general.cancel"})}),e.jsx(Ae,{type:u.User.Feature.switchAdStatus,children:()=>e.jsx(X,{loading:g.formState.isSubmitting,size:"sm",onClick:j,children:e.jsx(r,{id:"general.save-changes"})})})]})]}),e.jsx(La,{}),e.jsx("h3",{className:"text-lg font-semibold",children:e.jsx(r,{id:"campaign.studio.episodeList.title"})}
1),e.jsx(Ba,{episodes:a,loadMore:m,hasMore:s,isFetchingAfter:i,canSwitchAdStatus:l})]})})}function Va(){const{show:a}=be(),{membershipSetting:t}=_e(),{loading:s,nodes:i,loadMore:l,hasMore:m,isFetchingAfter:n}=ca({isDraft:!1}),{loading:o,permission:c}=Ze({type:u.User.Feature.switchAdStatus}),x=Je();return b.useEffect(()=>{t||x(!1)},[t,x]),s||o?e.jsx(Qe,{}):e.jsx(Ua,{episodes:i,showSetting:a?.setting,hasMore:m,isFetchingAfter:n,canSwitchAdStatus:c.enabled,loadMore:l})}function At(){const{subdomain:a}=We(),t=P();return a==="podar"?e.jsxs(he,{children:[e.jsx(T,{path:"/campaigns/new",children:e.jsx(ka,{})}),e.jsx(T,{path:"/campaigns/:id",children:e.jsx(Ma,{})}),e.jsx(T,{path:"/campaigns",children:e.jsx(ha,{})})]}):e.jsx(B,{title:t.formatMessage({id:"nav.adCampaign"}),children:e.jsx(Va,{})})}export{At 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.