PageSourceSearch

https://podster.fm/build/assets/AdSlotsView-98a9e4c2.js

js podster.fm collected 2026-10-01 10:22:07 UTC 7,985 bytes, 1 lines download raw bytes

1import{e as L,w as i,o as l,a as d,u as c,Z as j,b as e,q as m,c as s,j as k,t as n,F as f,d as x,n as b,h as A,O as g}from"./app-f96b9a38.js";import T from"./Layout-6142b859.js";import"./Sidebar-1f9c9aee.js";import"./useDarkMode-eb5341a5.js";import"./createLucideIcon-23d060b2.js";import"./chevron-down-7de84f01.js";import"./sparkles-2d5fa576.js";import"./switch-97e49124.js";import"./dom-cadfdd7e.js";import"./description-9a269291.js";import"./use-resolve-button-type-e81962cc.js";import"./hidden-e39bbb26.js";import"./useAuthStore-bd281680.js";import"./isObject-a1be2107.js";import"./MainAuthUserMenu-64843d4c.js";import"./FavoriteIcon-d21876e3.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./SettingsIcon-17514e01.js";import"./menu-6e48567b.js";import"./focus-management-dccaee5f.js";import"./use-outside-click-f54ccb8d.js";import"./ChevronLeftIcon-ff15d7a3.js";import"./CabinetMainNavMobile-cc0ad8f4.js";import"./vue-composable.esm-bundler-11aa148c.js";import"./MainNavMobileMenu-8fcb8fd4.js";import"./RecommendationIcon-375aa968.js";import"./StatsIcon-2edff3fb.js";import"./CloseIcon-82975fa5.js";import"./KnowledgebaseIcon-e039e069.js";import"./EpisodeIcon-bc94c554.js";import"./ReportBugButton-3cf539b2.js";import"./Modal-046c4c5e.js";import"./transition-d5d1ed5a.js";import"./micro-task-89dcd6af.js";import"./FormTextarea-aff24f0e.js";import"./FormInputLabel-5489c904.js";import"./v4-a960c1f4.js";import"./FormTextInput-85d75d75.js";import"./FormPrimaryButton-0c835555.js";import"./LoadingIcon-9ac274f8.js";const V=e("title",null,"Рекламные слоты",-1),B=e("meta",{name:"robots",content:"noindex"},null,-1),N={class:"mb-6 flex flex-wrap items-center justify-between gap-3"},R={class:"flex flex-wrap gap-2"},O=["onClick"],U={class:"flex gap-2"},q={key:0,class:"rounded-lg border border-dashed border-neutral-300 p-12 text-center text-sm text-neutral-500 dark:border-neutral-600 dar
1k:text-neutral-400"},z={key:1,class:"overflow-x-auto rounded-lg border border-neutral-200 bg-white dark:border-neutral-600 dark:bg-neutral-700"},D={class:"w-full table-fixed text-sm"},E=e("thead",{class:"bg-neutral-100 text-left text-xs uppercase text-neutral-500 dark:bg-neutral-800 dark:text-neutral-300"},[e("tr",null,[e("th",{class:"px-2 py-2"},"Слот"),e("th",{class:"hidden px-2 py-2 md:table-cell md:w-32"},"Страница"),e("th",{class:"hidden px-2 py-2 lg:table-cell lg:w-28"},"Тип"),e("th",{class:"hidden px-2 py-2 xl:table-cell xl:w-24"},"Превью"),e("th",{class:"hidden px-2 py-2 text-right sm:table-cell sm:w-20"},"Показы"),e("th",{class:"hidden px-2 py-2 text-right sm:table-cell sm:w-20"},"Клики"),e("th",{class:"hidden px-2 py-2 sm:table-cell sm:w-16"},"CTR"),e("th",{class:"w-20 px-2 py-2"},"Активен"),e("th",{class:"w-24 px-2 py-2 text-right"},"Действия")])],-1),Z={class:"divide-y divide-neutral-200 dark:divide-neutral-600"},G={class:"px-2 py-2 align-top"},H={class:"break-words font-medium text-brand-300 dark:text-neutral-100"},I={class:"block break-all text-xs text-neutral-500 dark:text-neutral-400"},J={key:0,class:"mt-1 inline-block rounded bg-amber-100 px-1.5 text-xs text-amber-800 dark:bg-amber-900 dark:text-amber-100"},K={class:"hidden px-2 py-2 align-top text-xs text-neutral-600 dar
1k:text-neutral-300 md:table-cell"},M={class:"break-words"},P={class:"break-words text-neutral-400 dark:text-neutral-500"},Q={class:"hidden break-words px-2 py-2 align-top text-xs text-neutral-600 dark:text-neutral-300 lg:table-cell"},W={class:"hidden px-2 py-2 align-top xl:table-cell"},X=["src","alt"],Y=["src","alt"],tt={key:2,class:"text-xs text-neutral-400"},et={class:"hidden px-2 py-2 align-top text-right tabular-nums sm:table-cell"},rt={class:"hidden px-2 py-2 align-top text-right tabular-nums sm:table-cell"},at={class:"hidden px-2 py-2 align-top text-xs sm:table-cell"},lt={class:"px-2 py-2 align-top"},nt=["onClick"],st={class:"px-2 py-2 align-top text-right"},ot={class:"flex flex-col items-end gap-1"},it=["onClick"],Pt={__name:"AdSlotsView",props:{slots:{type:Array,default:()=>[]},pageFilter:{type:String,default:null},pages:{type:Array,default:()=>[]},positions:{type:Array,default:()=>[]},contentTypes:{type:Array,default:()=>[]}},setup(o){const u=o;function h(r){let a="/admin/ad-slots";r&&(a+=`?page_filter=${r}`),g.visit(a,{preserveScroll:!0})}function y(r){g.post(`/admin/ad-slots/${r.id}/toggle-active`,{},{preserveScroll:!0})}function v(r){confirm(`Удалить слот «${r.name}»? Это действие необратимо.`)&&g.delete(`/admin/ad-slots/${r.id}`,{preserveScroll:!0})}function w(r){return r.impressions_count?`${(r.clicks_count/r.impressions_count*100).toFixed(1)}%`:"—"}function C(r){var a;return((a=u.pages.find(t=>t.value===r))==null?void 0:a.label)??r}function $(r){var a;return((a=u.positions.find(t=>t.value===r))==null?void 0:a.label)??r}function S(r){var a;return((a=u.contentTypes.find(t=>t.value===r))==null?void 0:a.label)??r}function _(r){return["rounded-full px-3 py-1 text-xs transition-colors",r?"bg-brand-300 text-white dark:bg-neutral-100 dark:text-brand-300":"bg-neutral-200 text-neutral-700 hover:bg-neutral-300 dark:bg-neutral-600 dar
1k:text-neutral-200 dark:hover:bg-neutral-500"].join(" ")}return(r,a)=>(l(),L(T,{heading:"Рекламные слоты"},{default:i(()=>[d(c(j),null,{default:i(()=>[V,B]),_:1}),e("div",N,[e("div",R,[e("button",{type:"button",class:m(_(o.pageFilter===null)),onClick:a[0]||(a[0]=t=>h(null))}," Все ",2),(l(!0),s(f,null,k(o.pages,t=>(l(),s("button",{key:t.value,type:"button",class:m(_(o.pageFilter===t.value)),onClick:p=>h(t.value)},n(t.label),11,O))),128))]),e("div",U,[d(c(b),{href:"/admin/ad-slots/guide",class:"rounded-md border border-neutral-300 px-4 py-2 text-sm font-medium text-brand-300 hover:bg-neutral-100 dark:border-neutral-600 dark:text-neutral-100 dark:hover:bg-neutral-700"},{default:i(()=>[x(" Справочник по слотам ")]),_:1}),d(c(b),{href:"/admin/ad-slots/create",class:"rounded-md bg-brand-300 px-4 py-2 text-sm font-medium text-white hover:bg-brand-200 dark:bg-neutral-100 dark:text-brand-300 dark:hover:bg-neutral-200"},{default:i(()=>[x(" + Новый слот ")]),_:1})])]),o.slots.length?(l(),s("div",z,[e("table",D,[E,e("tbody",Z,[(l(!0),s(f,null,k(o.slots,t=>{var p;return l(),s("tr",{key:t.id},[e("td",G,[e("div",H,n(t.name),1),e("code",I,n(t.slug),1),t.is_paid?(l(),s("div",J,"платно"+n(t.price?` · ${t.price} ₽`:""),1)):A("",!0)]),e("td",K,[e("div",M,n(C(t.page)),1),e("span",P,n($(t.position)),1)]),e("td",Q,n(S(t.content_type)),1),e("td",W,[(p=t.banner_image)!=null&&p.sm?(l(),s("img",{key:0,src:t.banner_image.sm,class:"h-10 w-20 rounded object-cover",alt:t.slug},null,8,X)):t.image_url?(l(),s("img",{key:1,src:t.image_url,class:"h-10 w-20 rounded object-cover",alt:t.slug},null,8,Y)):(l(),s("span",tt,"—"))]),e("td",et,n(t.impressions_count.toLocaleString("ru-RU")),1),e("td",rt,n(t.clicks_count.toLocaleString("ru-RU")),1),e("td",at,n(w(t)),1),e("td",lt,[e("button",{type:"button",class:m(["rounded-full px-2 py-0.5 text-[11px]",t.is_active?"bg-emerald-100 text-emerald-800 dark:bg-emerald-900 dark:text-emerald-100":"bg-neutral-200 text-neutral-600 dar
1k:bg-neutral-600 dark:text-neutral-200"]),onClick:F=>y(t)},n(t.is_active?"Вкл":"Выкл"),11,nt)]),e("td",st,[e("div",ot,[d(c(b),{href:`/admin/ad-slots/${t.id}/edit`,class:"inline-block rounded bg-neutral-200 px-2 py-0.5 text-[11px] hover:bg-neutral-300 dark:bg-neutral-600 dark:text-neutral-100 dark:hover:bg-neutral-500"},{default:i(()=>[x(" Изменить ")]),_:2},1032,["href"]),e("button",{type:"button",class:"inline-block rounded bg-rose-600 px-2 py-0.5 text-[11px] text-white hover:bg-rose-700",onClick:F=>v(t)}," Удалить ",8,it)])])])}),128))])])])):(l(),s("div",q," Пока нет ни одного рекламного слота. Создайте первый, чтобы наполнить шаблонные позиции. "))]),_:1}))}};export{Pt 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.