1import{b as G,r as g,u as M,j as e,H as W,a as j,t as x}from"./app-tjZ_-OOu.js";import{B as v}from"./badge-BR76Zdcf.js";import{B as p}from"./sonner-BnWx1Tnu.js";import{c as z,d as J}from"./card-Bi7Nimbe.js";import{C as K}from"./checkbox-JPf-aVVI.js";import{d as Q,e as V,D as X,a as Y,b as Z,f as $,c as ee}from"./dialog-D9nKO9Xa.js";import{E as se,a as ae,b as re,c as le,d as te,e as ie,f as ne}from"./empty-DAEfMa_H.js";import{I as F}from"./input-group-field-B6Hy38JP.js";import{L as w}from"./label-BgScZPhL.js";import{S as T}from"./submit-button-B0clHiGQ.js";import{S as ce}from"./switch-C-7bFgdE.js";import{c as de,T as oe,a as B,b as d,d as me,e as o}from"./table-VFGaZTg2.js";import{u as xe}from"./use-synced-state-CVPAMUlD.js";import{a as pe}from"./authenticated-app-layout-BfE-_pxu.js";import{P as he}from"./app-sidebar-menu-CqpU_i_z.js";import{A as ue}from"./admin-panel-B3HNSCwe.js";import{u as N,g as ge,h as je,i as be}from"./app-header-layout-XPwmcGh-.js";import"./app-ClMwVNe-.js";import"./check-C3mYSEdk.js";import"./input-group-DdsIsYlf.js";import"./textarea-BilhGg_-.js";import"./input-error-CsCZtzFi.js";import"./icons-gelrvuNW.js";import"./page-wrapper-CqNR-NwG.js";import"./dropdown-menu-CiZ8CgA8.js";import"./index-Cg0WxTnG.js";import"./visual-viewport-lock-Do1D7T0g.js";import"./avatar-i9ir4Wwt.js";function fe(t){if(!t)return"â";try{return new Date(t).toLocaleString("ru-RU")}catch{return t}}function ve({users:t,roles:U,filters:y}){const{auth:L}=G().props,R=L.user?.id??null,[S,k]=xe(y.search??""),[a,c]=g.useState(null),[h,m]=g.useState(!1),[_,C]=g.useState(!1),l=M({roles:[]}),i=M({max_id:""});g.useEffect(()=>{if(!a){l.reset(),l.clearErrors(),i.reset(),i.clearErrors();return}l.setData("roles",a.roles.map(s=>s.name)),l.clearErrors(),i.setData("max_id",a.max_id??""),i.clearErrors()},[a]);const u=(y.search??"").trim(),D=s=>{const r={},n=S.trim();return n&&(r.search=n),s&&s>1&&(r.page=s),Object.keys(r).length>0?N({query:r}):N()},H=s=>{s?.preventDefault(),m(!0),j.visit(D(),{preserveState:!0,preserveScroll:!0,only:["users","filters"],onFinish:()=>m(!1)})},E=()=>{k(""),m(!0),j.visit(N(),{preserveState:!0,preserveScroll:!0,only:["users","filters"],onFinish:()=>m(!1)})},I=s=>{m(!0),j.visit(D(s),{preserveState:!0,preserveScroll:!0,only:["users","filters"],onFinish:()=>m(!1)})},O=s=>{const r=l.data.roles;if(r.includes(s)){l.setData("roles",r.filter(n=>n!==s));return}l.setData("roles",[...r,s])},P=()=>{a&&(l.transform(s=>({roles:[...s.roles].sort()})),l.submit(ge(a),{preserveScroll:!0,onSuccess:()=>{x.success("Роли полÑзоваÑÐµÐ»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ñ."),c(null)},onError:s=>{const r=Object.values(s)[0];x.error(typeof r=="string"&&r.length>0?r:"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ñоли полÑзоваÑелÑ.")}}))},A=()=>{a&&i.submit(je(a),{preserveScroll:!0,onSuccess:()=>{const s=i.data.max_id.trim()===""?null:i.data.max_id.trim();c({...a,max_id:s}),x.success("Max ID полÑзоваÑÐµÐ»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»Ñн.")},onError:s=>{const r=Object.values(s)[0];x.error(typeof r=="string"&&r.length>0?r:"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Max ID полÑзоваÑелÑ.")}})},q=s=>{if(!a||_)return;const r=a.marketplace_enabled;c({...a,marketplace_enabled:s}),C(!0),j.put(be.url(a),{enabled:s},{preserveScroll:!0,onSuccess:()=>{x.success(s?"ÐаÑкеÑÐ¿Ð»ÐµÐ¹Ñ Ð²ÐºÐ»ÑÑÑн Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ.":"ÐаÑкеÑÐ¿Ð»ÐµÐ¹Ñ Ð¾ÑклÑÑÑн Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ.")},onError:n=>{c(f=>f&&{...f,marketplace_enabled:r});const b=Object.values(n)[0];x.error(typeof b=="string"&&b.length>0?b:"Ðе ÑдалоÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð´Ð¾ÑÑÑп к маÑкеÑплейÑÑ.")},onFinish:()=>C(!1)})};return e.jsxs(e.Fragment,{children:[e.jsx(W,{title:"УпÑавление ÑолÑми"}),e.jsx(he,{title:"ÐдминиÑÑÑиÑование",sidebarChildren:e.jsx(ue,{}),hideSidebarOnMobile:!0,children:e.jsxs("div",{className:"space-y-gos-12",children:[e.jsxs("div",{className:"space-y-gos-2",children:[e.jsx("h2",{className:"text-h3",children:"ÐолÑзоваÑели и Ñоли"}),e.jsx("p",{className:"text-plain-text text-interlineare",children:"ÐазнаÑайÑе Ñоли полÑзоваÑелÑм, ÑпÑавлÑйÑе Max ID, админиÑÑÑаÑивнÑм доÑÑÑпом и доÑÑÑпом к маÑкеÑплейÑÑ."})]}),e.jsx(z,{children:e.jsx(J,{children:e.jsxs("form",{className:"space-y-gos-8",onSubmit:H,children:[e.jsx("div",{className:"grid grid-cols-1 gap-gos-8 md:grid-cols-2",children:e.jsx(F,{id:"admin-user-search",name:"admin-user-search",label:"ÐоиÑк",placeholder:"Email или имÑ",value:S,onChange:s=>k(s.target.value)})}),e.jsxs("div",{className:"flex flex-wrap gap-gos-4",children:[e.jsx(p,{type:"submit",disabled:h,children:"ÐайÑи"}),u?e.jsx(p,{type:"button",variant:"outline",onClick:E,disabled:h,children:"СбÑоÑиÑÑ"}):null]})]})})}),t.data.length===0?e.jsxs(se,{className:"border",children:[e.jsxs(ae,{children:[e.jsx(re,{children:e.jsx(le,{alt:""})}),e.jsx(te,{children:u?"ÐиÑего не найдено":"ÐÐµÑ Ð¿Ð¾Ð»ÑзоваÑелей"}),e.jsx(ie,{children:u?"ÐопÑобÑйÑе измениÑÑ Ð¿Ð°ÑамеÑÑÑ Ð¿Ð¾Ð¸Ñка или ÑбÑоÑиÑÑ ÑилÑÑÑÑ.":"ÐолÑзоваÑели поÑвÑÑÑÑ Ð·Ð´ÐµÑÑ Ð¿Ð¾Ñле ÑегиÑÑÑаÑии."})]}),u?e.jsx(ne,{children:e.jsx(p,{type:"button",variant:"outline",onClick:E,disabled:h,children:"СбÑоÑиÑÑ ÑилÑÑÑÑ"})}):null]}):e.jsxs("div",{className:"space-y-gos-8",children:[e.jsxs(de,{children:[e.jsx(oe,{children:e.jsxs(B,{children:[e.jsx(d,{className:"w-[1%]",children:"#"}),e.jsx(d,{children:"ÐолÑзоваÑелÑ"}),e.jsx(d,{className:"hidden md:table-cell",children:"Email"}),e.jsx(d,{className:"hidden lg:table-cell",children:"Max ID"}),e.jsx(d,{children:"Роли"}),e.jsx(d,{className:"hidden md:table-cell",children:"ÐаÑкеÑплейÑ"}),e.jsx(d,{className:"hidden lg:table-cell",children:"ÐаÑа ÑегиÑÑÑаÑии"})]})}),e.jsx(me,{children:t.data.map((s,r)=>e.jsxs(B,{className:"cursor-pointer","data-test":`admin-user-row-${s.id}`,onClick:()=>c(s),children:[e.jsx(o,{className:"text-interlineare tabular-nums",children:(t.from??1)+r}),e.jsx(o,{className:"font-medium",children:s.name||"Ðез имени"}),e.jsx(o,{className:"hidden md:table-cell",children:s.email}),e.jsx(o,{className:"hidden lg:table-cell",children:s.max_id||e.jsx("span",{className:"text-interlineare",children:"â"})}),e.jsx(o,{children:e.jsx("div",{className:"flex flex-wrap gap-gos-3",children:s.roles.length>0?s.roles.map(n=>e.jsx(v,{variant:n.name==="admin"?"default":"secondary",children:n.name},n.id)):e.jsx("span",{className:"text-interlineare",children:"Ðез Ñолей"})})}),e.jsx(o,{className:"hidden md:table-cell",children:e.jsx(v,{variant:s.marketplace_enabled?"default":"secondary",children:s.marketplace_enabled?"ÐклÑÑÑн":"ÐÑклÑÑен"})}),e.jsx(o,{className:"hidden lg:table-cell",children:fe(s.created_at)})]},s.id))})]}),e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-gos-6",children:[e.jsx(p,{type:"button",variant:"outline",onClick:()=>I(t.current_page-1),disabled:!t.prev_page_url||h,children:"Ðазад"}),e.jsxs("p",{className:"text-plain-small text-interlineare",children:["СÑÑаниÑа ",t.current_page," из"," ",t.last_page]}),e.jsx(p,{type:"button",variant:"outline",onClick:()=>I(t.current_page+1),disabled:!t.next_page_url||h,children:"Ðалее"})]})]})]})}),e.jsx(Q,{open:a!==null,onOpenChange:s=>c(s?a:null),children:e.jsx(V,{className:"max-w-[720px]",children:a?e.jsxs(e.Fragment,{children:[e.jsxs(X,{children:[e.jsx(Y,{children:"УпÑавление полÑзоваÑелем"}),e.jsxs(Z,{children:[a.name||"Ðез имени"," â¢"," ",a.email]})]}),e.jsxs($,{className:"space-y-gos-8",children:[e.jsxs("div",{className:"space-y-gos-4 rounded-gos-6 border border-ciottoli p-gos-8",children:[e.jsxs("div",{className:"space-y-gos-2",children:[e.jsx("p",{className:"text-plain-small-bold",children:"Max ID"}),e.jsx("p",{className:"text-plain-small text-interlineare",children:"ÐденÑиÑикаÑÐ¾Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð² паÑÑнÑÑÑком API ÑикеÑов."})]}),e.jsx(F,{id:`max-id-${a.id}`,name:"max_id",label:"Max ID",placeholder:"ÐапÑимеÑ, max-123",value:i.data.max_id,onChange:s=>i.setData("max_id",s.target.value),error:i.errors.max_id}),e.jsx("div",{className:"flex justify-end",children:e.jsx(T,{isLoading:i.processing,onClick:A,disabled:l.processing,children:"СоÑ
ÑаниÑÑ Max ID"})})]}),e.jsxs("div",{className:"flex items-center justify-between gap-gos-8 rounded-gos-6 border border-ciottoli p-gos-8",children:[e.jsxs("div",{className:"space-y-gos-2",children:[e.jsx(w,{htmlFor:`marketplace-${a.id}`,className:"text-plain-small-bold",children:"ÐаÑкеÑплейÑ"}),e.jsx("p",{className:"text-plain-small text-interlineare",children:"ÐоÑÑÑп к ÑÑнкÑиÑм маÑкеÑплейÑа Ð´Ð»Ñ ÑÑого полÑзоваÑелÑ."})]}),e.jsx(ce,{id:`marketplace-${a.id}`,"data-test":"user-marketplace-toggle",checked:a.marketplace_enabled,disabled:_,onCheckedChange:q})]}),e.jsxs("div",{className:"rounded-gos-6 border border-ciottoli p-gos-8",children:[e.jsx("p",{className:"text-plain-small text-interlineare",children:"ТекÑÑие Ñоли"}),e.jsx("div",{className:"mt-gos-4 flex flex-wrap gap-gos-3",children:a.roles.length>0?a.roles.map(s=>e.jsx(v,{variant:s.name==="admin"?"default":"secondary",children:s.name},s.id)):e.jsx("span",{className:"text-interlineare",children:"У полÑзоваÑÐµÐ»Ñ Ð¿Ð¾ÐºÐ° Ð½ÐµÑ Ñолей"})})]}),e.jsxs("div",{className:"space-y-gos-4 rounded-gos-6 border border-ciottoli p-gos-8",children:[e.jsx("p",{className:"text-plain-small-bold",children:"УпÑавление ÑолÑми"}),e.jsx("div",{className:"space-y-gos-4",children:U.map(s=>{const r=l.data.roles.includes(s.name),n=a.id===R&&s.name==="admin"&&r;return e.jsxs("div",{className:"flex items-center gap-gos-8",children:[e.jsx(K,{id:`role-${a.id}-${s.id}`,checked:r,disabled:n,onCheckedChange:()=>O(s.name)}),e.jsx(w,{htmlFor:`role-${a.id}-${s.id}`,className:"flex-1 cursor-pointer",children:s.name}),n?e.jsx("span",{className:"text-plain-small text-interlineare",children:"ÐелÑÐ·Ñ ÑнÑÑÑ Ñ ÑÐµÐ±Ñ admin"}):null]},s.id)})}),l.errors.roles?e.jsx("p",{className:"text-plain-small text-destructive",children:l.errors.roles}):null]})]}),e.jsxs(ee,{children:[e.jsx(p,{type:"button",variant:"outline",onClick:()=>c(null),disabled:l.processing||i.processing,children:"ÐакÑÑÑÑ"}),e.jsx(T,{isLoading:l.processing,onClick:P,disabled:i.processing,children:"СоÑ
ÑаниÑÑ Ñоли"})]})]}):null})})]})}ve.layout=pe;export{ve 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.