Files
prod/frontend/dist/assets/HeaderMenu-aZqgmUiy.js
T
2026-10-13 14:51:23 +07:00

1 line
4.1 KiB
JavaScript

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