Files
prod/frontend/dist/assets/HeaderMenu-BACZAM90.js
T
2026-10-11 02:38:28 +07:00

1 line
4.1 KiB
JavaScript

import{Ct as e,Dt as t,Fn as n,Kt as r,Ln as i,Ot as a,bt as o,hn as s,in as c,kt as l,nn as u,u as d,wt as f,xt as p,yn as m}from"./client-Cr-cm5gA.js";import{n as h,r as g,t as _}from"./es-B8t08Ksa.js";import{t as v}from"./_plugin-vue_export-helper-D-vCjaLb.js";import{et as y,n as b,t as x,tt as S}from"./index-DvRZPtUt.js";var C={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 24 24`},w=l({name:`MenuOutlined`,render:function(e,t){return r(),f(`svg`,C,t[0]||=[p(`path`,{d:`M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z`,fill:`currentColor`},null,-1)])}}),T=y(`ui`,()=>{let e=s([]),t=s(null),n=s(!0),r=0;async function i(){let i=x(),a=i.getToken(),o=++r;e.value=[],t.value=null,n.value=!0;try{let n=await b().GetPermissions({});if(o!==r)return;a===i.getToken()&&(e.value=n.permissions||[]),(n.environment===`prod`||n.environment===`venue`)&&(t.value=n.environment)}catch(e){if(o===r)throw e}finally{o===r&&(n.value=!1)}}return{permissions:e,environment:t,isLoadingEnvironment:n,load:i}}),E={class:`menu-block`},D=[`aria-expanded`,`aria-label`],O={class:`right-group`},k=v(l({__name:`HeaderMenu`,props:{active:{}},setup(l){let v=l,y=x(),b=d(),C=T(),k=h(),{permissions:A,environment:j,isLoadingEnvironment:M}=S(C),N=o(()=>M.value?`Среда: …`:j.value===`prod`?`Сервер`:j.value===`venue`?`Локальная сеть`:`Среда: ?`);u(()=>y.user,async()=>{try{await C.load()}catch(e){k.error(`Не удалось загрузить сведения сервера`),console.error(`Failed to load server information:`,e)}},{immediate:!0});function P(e){return A.value.includes(e)}let F=()=>{b.push(`/login`)},I=()=>{y.logout(),b.push(`/login`)},L=s(!1);return(o,s)=>(r(),f(`div`,E,[p(`button`,{type:`button`,class:`burger-button`,"aria-expanded":L.value,"aria-label":L.value?`Закрыть меню`:`Открыть меню`,onClick:s[0]||=e=>L.value=!L.value},[a(m(_),{class:`burger-icon`,size:`28`},{default:c(()=>[a(m(w))]),_:1})],8,D),p(`div`,{class:n([`left-group menu-buttons-block`,L.value?``:`menu-buttons-block-active`])},[p(`button`,{type:`button`,class:n([`menu-item-block`,{active:v.active==`main`}]),onClick:s[1]||=e=>m(b).push(`/`)},` Главная `,2),m(y).hasRole(`user`)?(r(),f(`button`,{key:0,type:`button`,class:n([`menu-item-block`,{active:v.active==`office`}]),onClick:s[2]||=e=>m(b).push(`/office`)},` Кабинет `,2)):e(``,!0),P(`games_page`)?(r(),f(`button`,{key:1,type:`button`,class:n([`menu-item-block`,{active:v.active==`games`}]),onClick:s[3]||=e=>m(b).push(`/games`)},` Игры `,2)):e(``,!0),p(`button`,{type:`button`,class:`menu-item-block`,onClick:s[4]||=e=>m(b).push(`/screen`)},`Экран`),p(`button`,{type:`button`,class:n([`menu-item-block`,{active:v.active==`catalog`}]),onClick:s[5]||=e=>m(b).push(`/catalog`)},` Каталог `,2),P(`scenarios_page`)?(r(),f(`button`,{key:2,type:`button`,class:n([`menu-item-block`,{active:v.active==`scenarios`}]),onClick:s[6]||=e=>m(b).push(`/scenarios`)},` Сценарии `,2)):e(``,!0),P(`tasks_page`)?(r(),f(`button`,{key:3,type:`button`,class:n([`menu-item-block`,{active:v.active==`tasks`}]),onClick:s[7]||=e=>m(b).push(`/tasks`)},` Задачи `,2)):e(``,!0),P(`users_page`)?(r(),f(`button`,{key:4,type:`button`,class:n([`menu-item-block`,{active:v.active==`users`}]),onClick:s[8]||=e=>m(b).push(`/users`)},` Пользователи `,2)):e(``,!0),P(`reviews_page`)?(r(),f(`button`,{key:5,type:`button`,class:n([`menu-item-block`,{active:v.active==`reviews`}]),onClick:s[9]||=e=>m(b).push(`/reviews`)},` Отзывы `,2)):e(``,!0)],2),p(`div`,O,[a(m(g),{size:`small`,type:m(j)===`venue`?`warning`:`default`,title:m(j)?`Среда подключённого сервера`:`Среда сервера не определена`,role:`status`},{default:c(()=>[t(i(N.value),1)]),_:1},8,[`type`,`title`]),m(y).isAuthenticated?e(``,!0):(r(),f(`button`,{key:0,type:`button`,class:`menu-item-block right`,onClick:F},` Войти `)),m(y).isAuthenticated?(r(),f(`button`,{key:1,type:`button`,class:`menu-item-block right`,onClick:I},` Выйти `)):e(``,!0)])]))}}),[[`__scopeId`,`data-v-90c8cda8`]]);export{T as n,k as t};