import{f as e,h as t,i as n,l as r,r as i,s as a,t as o}from"./useToast-CS8pZhce.js";import{T as s,c,i as l,o as u,p as d,r as f,t as p,v as m,w as h}from"./index-CT8iDYYK.js";import{t as g}from"./formatters-WvGQLZg0.js";var _={name:`tag`,size:24,node:[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]};_.node;var v=r(_),y=t(e(),1),b=a(),x=[{id:`camp-1`,title:`Осенний промокод AUTUMN20 (-20% на роллы)`,type:`promo`,segment:`Все зарегистрированные гости`,channel:`Telegram`,status:`active`,sentCount:640,openRate:68.4,revenue:98e3,promoCode:`AUTUMN20`,discountPercent:20},{id:`camp-2`,title:`Реактивация «Мы соскучились!» (+ ролл в подарок)`,type:`reactivation`,segment:`Без заказов более 30 дней`,channel:`WhatsApp`,status:`active`,sentCount:185,openRate:74.2,revenue:48200,promoCode:`COMEBACK`,discountPercent:15},{id:`camp-3`,title:`Приглашение на дегустацию вин и сетов шефа`,type:`broadcast`,segment:`VIP гости с чеком от 5 000 ₽`,channel:`Telegram`,status:`completed`,sentCount:94,openRate:89.1,revenue:142e3}],S=()=>{let{showToast:e}=o(),[t,r]=(0,y.useState)(x),[a,_]=(0,y.useState)(`campaigns`),[S,C]=(0,y.useState)(!1),[w,T]=(0,y.useState)(0),[E,D]=(0,y.useState)(null),[O,k]=(0,y.useState)(!1),[A,j]=(0,y.useState)(``),[M,N]=(0,y.useState)(`Без заказов более 30 дней`),[P,F]=(0,y.useState)(`Telegram`),[I,L]=(0,y.useState)(`SALE15`),[R,z]=(0,y.useState)(3e3),[B,V]=(0,y.useState)(30),[H,U]=(0,y.useState)(248);return(0,b.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,b.jsxs)(`div`,{className:`flex flex-col sm:flex-row sm:items-center justify-between gap-3 bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,b.jsxs)(`div`,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:`Маркетинг, промо-акции и удержание гостей`}),(0,b.jsx)(p,{level:`target`,size:`sm`})]}),(0,b.jsx)(`p`,{className:`text-xs text-krona-secondary mt-0.5`,children:`Управление промокодами, триггерными рассылками, сегментацией гостей и расчет LTV`})]}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(`div`,{className:`flex items-center bg-krona-workspace p-1 rounded-lg border border-krona-border text-xs`,children:[(0,b.jsxs)(`button`,{onClick:()=>_(`campaigns`),className:`px-3 py-1 rounded font-medium transition-colors ${a===`campaigns`?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary`}`,children:[`Кампании (`,t.length,`)`]}),(0,b.jsx)(`button`,{onClick:()=>_(`segments`),className:`px-3 py-1 rounded font-medium transition-colors ${a===`segments`?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary`}`,children:`Конструктор сегментов`})]}),(0,b.jsxs)(n,{variant:`primary`,size:`sm`,onClick:()=>k(!0),children:[(0,b.jsx)(h,{className:`w-3.5 h-3.5 mr-1`}),`Создать кампанию`]})]})]}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-3.5`,children:[(0,b.jsx)(l,{title:`Выручка по промокодам`,value:g(288200),change:{value:`+24%`,trend:`up`},subtitle:`Сентябрьская кампания`,icon:(0,b.jsx)(v,{className:`w-4 h-4 text-krona-gold`})}),(0,b.jsx)(l,{title:`Конверсия из рассылки в заказ`,value:`19.4%`,change:{value:`+3.1%`,trend:`up`},subtitle:`Telegram & WhatsApp`,icon:(0,b.jsx)(c,{className:`w-4 h-4 text-krona-green`})}),(0,b.jsx)(l,{title:`Возвращено 'спящих' клиентов`,value:`48 гостей`,subtitle:`После авто-триггера 'Мы соскучились'`,icon:(0,b.jsx)(u,{className:`w-4 h-4 text-krona-info`})})]}),a===`campaigns`&&(0,b.jsxs)(`div`,{className:`space-y-4`,children:[(0,b.jsxs)(`div`,{className:`p-4 rounded-xl border border-krona-gold/40 bg-krona-gold/5 space-y-3`,children:[(0,b.jsxs)(`div`,{className:`flex flex-col sm:flex-row sm:items-center justify-between gap-3`,children:[(0,b.jsxs)(`div`,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(d,{className:`w-4 h-4 text-krona-gold`}),(0,b.jsx)(`h4`,{className:`font-bold text-xs text-krona-primary`,children:`Интерактивная симуляция запуска триггерной рассылки`})]}),(0,b.jsx)(`p`,{className:`text-[11px] text-krona-secondary mt-0.5`,children:`Протестируйте отправку рассылки с промокодом по сегменту «Спящие клиенты» (340 получателей в базе)`})]}),(0,b.jsxs)(n,{variant:`gold`,size:`sm`,disabled:S,onClick:()=>{C(!0),T(10),D({sent:50,delivered:48,opened:32,clicked:12,orders:4,revenue:8400}),setTimeout(()=>{T(50),D({sent:180,delivered:176,opened:130,clicked:54,orders:18,revenue:38200})},600),setTimeout(()=>{T(100),C(!1),D({sent:340,delivered:334,opened:254,clicked:98,orders:34,revenue:74800}),e({title:`Рассылка успешно завершена!`,message:`340 сообщений отправлено в Telegram-бот. Оформлено 34 новых заказа.`,type:`success`})},1200)},className:`shrink-0`,children:[(0,b.jsx)(s,{className:`w-3.5 h-3.5 mr-1`}),S?`Отправка (${w}%)...`:`Запустить симуляцию`]})]}),S&&(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(`div`,{className:`w-full bg-krona-workspace rounded-full h-2 overflow-hidden border border-krona-border`,children:(0,b.jsx)(`div`,{className:`bg-krona-gold h-2 transition-all duration-300 rounded-full`,style:{width:`${w}%`}})}),(0,b.jsxs)(`div`,{className:`flex justify-between text-[10px] text-krona-secondary`,children:[(0,b.jsx)(`span`,{children:`Отправка через шлюз Telegram Bot API...`}),(0,b.jsxs)(`span`,{className:`font-mono font-bold`,children:[w,`%`]})]})]}),E&&(0,b.jsxs)(`div`,{className:`pt-2 border-t border-krona-border/60 grid grid-cols-2 sm:grid-cols-6 gap-2 text-xs`,children:[(0,b.jsxs)(`div`,{className:`p-2 bg-krona-surface rounded-lg border border-krona-border`,children:[(0,b.jsx)(`span`,{className:`text-[10px] text-krona-secondary block`,children:`Отправлено:`}),(0,b.jsx)(`span`,{className:`font-bold font-mono text-krona-primary`,children:E.sent})]}),(0,b.jsxs)(`div`,{className:`p-2 bg-krona-surface rounded-lg border border-krona-border`,children:[(0,b.jsx)(`span`,{className:`text-[10px] text-krona-secondary block`,children:`Доставлено:`}),(0,b.jsx)(`span`,{className:`font-bold font-mono text-emerald-600`,children:E.delivered})]}),(0,b.jsxs)(`div`,{className:`p-2 bg-krona-surface rounded-lg border border-krona-border`,children:[(0,b.jsx)(`span`,{className:`text-[10px] text-krona-secondary block`,children:`Открыто:`}),(0,b.jsx)(`span`,{className:`font-bold font-mono text-sky-600`,children:E.opened})]}),(0,b.jsxs)(`div`,{className:`p-2 bg-krona-surface rounded-lg border border-krona-border`,children:[(0,b.jsx)(`span`,{className:`text-[10px] text-krona-secondary block`,children:`Кликов:`}),(0,b.jsx)(`span`,{className:`font-bold font-mono text-amber-600`,children:E.clicked})]}),(0,b.jsxs)(`div`,{className:`p-2 bg-krona-surface rounded-lg border border-krona-border`,children:[(0,b.jsx)(`span`,{className:`text-[10px] text-krona-secondary block`,children:`Заказов:`}),(0,b.jsx)(`span`,{className:`font-bold font-mono text-emerald-700`,children:E.orders})]}),(0,b.jsxs)(`div`,{className:`p-2 bg-krona-surface rounded-lg border border-krona-border`,children:[(0,b.jsx)(`span`,{className:`text-[10px] text-krona-secondary block`,children:`Выручка:`}),(0,b.jsx)(`span`,{className:`font-bold font-mono text-krona-green`,children:g(E.revenue)})]})]})]}),(0,b.jsxs)(`div`,{className:`bg-krona-surface border border-krona-border rounded-xl shadow-krona-soft p-4 space-y-3`,children:[(0,b.jsx)(`h4`,{className:`text-xs font-bold text-krona-primary uppercase tracking-wider`,children:`Список рекламных кампаний и промо-акций`}),(0,b.jsx)(`div`,{className:`space-y-2 text-xs`,children:t.map(e=>(0,b.jsxs)(`div`,{className:`p-3.5 rounded-xl border border-krona-border bg-krona-workspace flex flex-col sm:flex-row sm:items-center justify-between gap-3 hover:border-krona-border-strong transition-all`,children:[(0,b.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,b.jsx)(`div`,{className:`p-2.5 rounded-xl bg-krona-gold/10 text-krona-gold shrink-0`,children:e.type===`promo`?(0,b.jsx)(v,{className:`w-5 h-5`}):(0,b.jsx)(m,{className:`w-5 h-5`})}),(0,b.jsxs)(`div`,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`h5`,{className:`font-bold text-xs text-krona-primary`,children:e.title}),e.promoCode&&(0,b.jsx)(`span`,{className:`px-1.5 py-0.5 rounded bg-krona-surface border border-krona-border font-mono font-bold text-[10px]`,children:e.promoCode})]}),(0,b.jsxs)(`div`,{className:`text-[11px] text-krona-secondary mt-0.5`,children:[`Канал: `,(0,b.jsx)(`strong`,{children:e.channel}),` • Сегмент: `,e.segment]})]})]}),(0,b.jsxs)(`div`,{className:`flex items-center justify-between sm:justify-end gap-4 shrink-0 pt-2 sm:pt-0 border-t sm:border-t-0 border-krona-border/50`,children:[(0,b.jsxs)(`div`,{className:`text-right`,children:[(0,b.jsx)(`div`,{className:`font-mono font-bold text-krona-primary`,children:g(e.revenue)}),(0,b.jsxs)(`div`,{className:`text-[10px] text-krona-secondary`,children:[e.sentCount,` получ. • Open `,e.openRate,`%`]})]}),(0,b.jsx)(i,{variant:e.status===`active`?`green`:`neutral`,size:`sm`,children:e.status===`active`?`Активна`:`Завершена`})]})]},e.id))})]})]}),a===`segments`&&(0,b.jsxs)(`div`,{className:`bg-krona-surface border border-krona-border rounded-xl p-4 shadow-krona-soft space-y-4 text-xs`,children:[(0,b.jsxs)(`div`,{className:`pb-2 border-b border-krona-border`,children:[(0,b.jsx)(`h4`,{className:`font-bold text-sm text-krona-primary`,children:`Конструктор аудиторных сегментов`}),(0,b.jsx)(`p`,{className:`text-[11px] text-krona-secondary`,children:`Настройте правила фильтрации клиентской базы для автоматического таргетинга акций`})]}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:[(0,b.jsxs)(`div`,{className:`space-y-3 p-3.5 bg-krona-workspace rounded-xl border border-krona-border`,children:[(0,b.jsx)(`span`,{className:`font-bold text-krona-primary block`,children:`Параметры фильтрации:`}),(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsxs)(`label`,{className:`text-krona-secondary flex justify-between`,children:[(0,b.jsx)(`span`,{children:`Минимальная сумма покупок (LTV):`}),(0,b.jsx)(`span`,{className:`font-mono font-bold text-krona-primary`,children:g(R)})]}),(0,b.jsx)(`input`,{type:`range`,min:1e3,max:2e4,step:500,value:R,onChange:e=>{let t=Number(e.target.value);z(t),U(Math.max(20,Math.floor(500-t/50)))},className:`w-full accent-krona-green`})]}),(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsxs)(`label`,{className:`text-krona-secondary flex justify-between`,children:[(0,b.jsx)(`span`,{children:`Не заказывали более:`}),(0,b.jsxs)(`span`,{className:`font-mono font-bold text-krona-primary`,children:[B,` дней`]})]}),(0,b.jsx)(`input`,{type:`range`,min:7,max:90,step:1,value:B,onChange:e=>{let t=Number(e.target.value);V(t),U(Math.max(15,Math.floor(H+t/3)))},className:`w-full accent-krona-green`})]})]}),(0,b.jsxs)(`div`,{className:`p-4 bg-krona-surface rounded-xl border border-krona-border flex flex-col justify-between space-y-3`,children:[(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`span`,{className:`text-[10px] uppercase font-bold text-krona-secondary block`,children:`Размер сегмента по фильтрам:`}),(0,b.jsxs)(`div`,{className:`text-2xl font-bold font-mono text-krona-green mt-1`,children:[H,` гостей`]}),(0,b.jsx)(`p`,{className:`text-[11px] text-krona-secondary mt-1`,children:`~14.2% от общей базы активных контактов CRM`})]}),(0,b.jsx)(`div`,{className:`pt-2 border-t border-krona-border flex gap-2`,children:(0,b.jsx)(n,{variant:`primary`,size:`sm`,onClick:()=>{k(!0),N(`Чек от ${g(R)}, без визитов > ${B}дн`)},className:`w-full`,children:`Создать рассылку для этого сегмента`})})]})]})]}),O&&(0,b.jsx)(f,{isOpen:O,onClose:()=>k(!1),title:`Новая промо-кампания`,subtitle:`Настройка параметров рассылки и промокода`,maxWidth:`sm`,footer:(0,b.jsxs)(`div`,{className:`flex gap-2 w-full justify-end`,children:[(0,b.jsx)(n,{variant:`secondary`,onClick:()=>k(!1),children:`Отмена`}),(0,b.jsx)(n,{variant:`primary`,onClick:t=>{if(t.preventDefault(),!A.trim())return;let n={id:`camp-${Date.now()}`,title:A.trim(),type:`promo`,segment:M,channel:P,status:`active`,sentCount:H,openRate:0,revenue:0,promoCode:I.toUpperCase(),discountPercent:15};r(e=>[n,...e]),k(!1),j(``),e({title:`Кампания создана`,message:`Кампания «${n.title}» добавлена в очередь отправки`,type:`success`})},children:`Запустить кампанию`})]}),children:(0,b.jsxs)(`div`,{className:`space-y-3 text-xs`,children:[(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(`label`,{className:`font-semibold text-krona-primary`,children:`Название акции:`}),(0,b.jsx)(`input`,{type:`text`,value:A,onChange:e=>j(e.target.value),placeholder:`Например: Скидка 15% на роллы в будни`,className:`w-full p-2 bg-krona-workspace border border-krona-border rounded-lg text-krona-primary focus:outline-none focus:border-krona-green`})]}),(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(`label`,{className:`font-semibold text-krona-primary`,children:`Целевой сегмент:`}),(0,b.jsx)(`input`,{type:`text`,value:M,onChange:e=>N(e.target.value),className:`w-full p-2 bg-krona-workspace border border-krona-border rounded-lg text-krona-primary focus:outline-none focus:border-krona-green`})]}),(0,b.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(`label`,{className:`font-semibold text-krona-primary`,children:`Канал отправки:`}),(0,b.jsxs)(`select`,{value:P,onChange:e=>F(e.target.value),className:`w-full p-2 bg-krona-workspace border border-krona-border rounded-lg text-krona-primary focus:outline-none focus:border-krona-green`,children:[(0,b.jsx)(`option`,{value:`Telegram`,children:`Telegram`}),(0,b.jsx)(`option`,{value:`WhatsApp`,children:`WhatsApp`}),(0,b.jsx)(`option`,{value:`Push & SMS`,children:`Push & SMS`})]})]}),(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(`label`,{className:`font-semibold text-krona-primary`,children:`Промокод:`}),(0,b.jsx)(`input`,{type:`text`,value:I,onChange:e=>L(e.target.value),className:`w-full p-2 bg-krona-workspace border border-krona-border rounded-lg font-mono font-bold text-krona-primary focus:outline-none focus:border-krona-green uppercase`})]})]})]})})]})};export{S as MarketingModule};