p3x-redis-ui-material
Version:
💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity
1 lines • 3.83 kB
JavaScript
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{F as t,it as n,t as r}from"./Box-CN-vzd2M.js";import{n as i,o as a}from"./i18n.store-cEFY1tQT.js";import{n as o,t as s}from"./Tabs-DlsZltD1.js";import{r as c}from"./redis-state.store-DegzWxJZ.js";import{K as l,M as u}from"./index-B6abhTyw.js";var d=e(a()),f=n(),p=[`in`,`run`,`per`],m=[`sha1`],h={perc:`percent`,sec:`seconds`};function g(e,t){return t?.title?.hasOwnProperty(e)?t.title[e]:e.split(`_`).map((e,t)=>(h.hasOwnProperty(e)&&(e=h[e]),m.includes(e)||e.length<4&&!p.includes(e)?e.toUpperCase():t===0?e[0].toUpperCase()+e.substring(1):e)).join(` `)}function _(e){return e==null?``:typeof e==`object`?JSON.stringify(e):String(e)}function v(){let e=i(e=>e.strings),n=c(e=>e.info),a=c(e=>e.modules),p=c(e=>e.connection),m=c(e=>e.redisChanged),h=t(),v=u(e=>e.themeKey),[y,b]=(0,d.useState)(0),[x,S]=(0,d.useState)(0),C=h.palette.mode===`dark`?`rgba(255,255,255,0.06)`:`rgba(0,0,0,0.06)`;(0,d.useEffect)(()=>{m&&c.setState({redisChanged:!1})},[m]);let w=p?.cluster===!0,T=(0,d.useMemo)(()=>{let e=n?.keyspaceDatabases??{};return Object.keys(e).map(t=>({key:t,value:e[t]}))},[n]),E=(0,d.useMemo)(()=>{let e={};for(let t of T){let r=n?.keyspace?.[`db`+t.key];e[t.key]=r?Object.keys(r).map(e=>({key:e,value:r[e]})):[]}return e},[n,T]),D=T.length>0,O=(0,d.useMemo)(()=>{if(!n)return[];let t=Object.keys(n).filter(e=>e!==`keyspace`&&e!==`keyspaceDatabases`).map(t=>({key:t,label:g(t,e),items:Object.keys(n[t]).map(e=>({key:e,value:n[t][e]}))})),r=Array.isArray(a)?a:[];if(r.length>0){let n=r.map(e=>({key:e.name,value:`v${e.ver}`})),i=t.findIndex(e=>e.key.toLowerCase()===`modules`);i>=0?t[i].items=n:t.push({key:`modules`,label:g(`modules`,e),items:n})}return t.filter(e=>e.items.length>0)},[n,a,e]),k=(0,d.useMemo)(()=>{let t=[];return D&&!w&&t.push({key:`__db__`,label:e?.title?.db??`DB`,items:[]}),t.push(...O),t},[D,w,O,e]);if(!p)return(0,f.jsx)(r,{sx:{p:2},children:(0,f.jsx)(l,{children:e?.title?.main})});let A=k[y],j=A?.key===`__db__`;return(0,f.jsxs)(r,{sx:{height:`100%`,display:`flex`,flexDirection:`column`},children:[(0,f.jsx)(s,{value:Math.min(y,k.length-1),onChange:(e,t)=>b(t),variant:`scrollable`,scrollButtons:`auto`,textColor:`inherit`,sx:{position:`sticky`,top:0,zIndex:2,bgcolor:h.palette.background.paper,backgroundImage:`none`,flexShrink:0,"& .MuiTab-root":{color:h.p3xr.treecontrolIconColor,textTransform:`none`},"& .MuiTab-root.Mui-selected":{color:h.palette.text.primary},"& .MuiTabs-indicator":{bgcolor:h.p3xr.matSysPrimary}},children:k.map(e=>(0,f.jsx)(o,{label:e.label},e.key))}),(0,f.jsx)(r,{sx:{flex:1,overflow:`auto`},children:j?(0,f.jsxs)(r,{children:[(0,f.jsx)(s,{value:Math.min(x,T.length-1),onChange:(e,t)=>S(t),variant:`scrollable`,scrollButtons:`auto`,textColor:`inherit`,sx:()=>{let e=v===`matrix`,t=e?`rgba(0,0,0,0.87)`:`white`,n=e?`rgba(0,0,0,0.6)`:`rgba(255,255,255,0.7)`;return{bgcolor:`primary.main`,"& .MuiTab-root":{color:n},"& .MuiTab-root.Mui-selected":{color:t},"& .MuiTabs-indicator":{bgcolor:t},"& .MuiTabScrollButton-root":{color:n}}},children:T.map(e=>(0,f.jsx)(o,{label:e.key},e.key))}),T.map((t,n)=>x===n&&(0,f.jsx)(r,{sx:{px:2,py:1},children:(E[t.key]??[]).map(t=>(0,f.jsxs)(r,{sx:{display:`flex`,alignItems:`baseline`,justifyContent:`space-between`,py:`8px`,borderBottom:`1px solid`,borderColor:C},children:[(0,f.jsx)(`strong`,{children:g(t.key,e)}),(0,f.jsx)(`span`,{style:{textAlign:`right`},children:t.value})]},t.key))},t.key))]}):A?(0,f.jsx)(r,{sx:{px:2,py:1},children:A.items.map(t=>(0,f.jsxs)(r,{sx:{display:`flex`,alignItems:`baseline`,justifyContent:`space-between`,py:`8px`,borderBottom:`1px solid`,borderColor:C},children:[(0,f.jsx)(`strong`,{children:g(t.key,e)}),(0,f.jsx)(r,{sx:{textAlign:`right`,wordBreak:`break-all`,maxWidth:`60%`},children:_(t.value)})]},t.key))}):null})]})}export{v as default};