feat(admin): read live back-office data in every console view
Models, pipelines, users, subscriptions, usage, audit log, ads, and releases still rendered placeholder or duplicated implementations from the earlier admin split. They now read the live back-office API, share one sidebar and console theme, and the license issuer dialog uses the rotated signing key.
This commit is contained in:
parent
cfc58458a8
commit
5aa268970a
23 changed files with 187 additions and 174 deletions
|
|
@ -168,14 +168,14 @@ export function AdminSidebar({ identity }: {
|
|||
height: '100%',
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
bgcolor: 'rgba(11, 16, 31, 0.82)',
|
||||
bgcolor: 'var(--d3-bg-card-soft)',
|
||||
backdropFilter: 'blur(28px)',
|
||||
border: `1px solid ${C.border}`,
|
||||
borderRadius: '22px',
|
||||
flexShrink: 0,
|
||||
position: 'relative',
|
||||
overflow: 'hidden',
|
||||
boxShadow: '0 24px 60px rgba(3, 7, 18, 0.7), inset 0 1px 0 rgba(148, 180, 255, 0.1)',
|
||||
boxShadow: '0 24px 60px var(--d3-scrim), inset 0 1px 0 var(--d3-glass-hairlineStrong)',
|
||||
}}
|
||||
>
|
||||
{/* Top Ambient Sheen */}
|
||||
|
|
@ -186,7 +186,7 @@ export function AdminSidebar({ identity }: {
|
|||
left: 0,
|
||||
right: 0,
|
||||
height: 120,
|
||||
background: 'radial-gradient(ellipse 80% 60% at 50% -10%, rgba(59, 130, 246, 0.18) 0%, transparent 80%)',
|
||||
background: 'radial-gradient(ellipse 80% 60% at 50% -10%, var(--d3-accent-glow) 0%, transparent 80%)',
|
||||
pointerEvents: 'none',
|
||||
}}
|
||||
/>
|
||||
|
|
@ -210,11 +210,11 @@ export function AdminSidebar({ identity }: {
|
|||
width: 34,
|
||||
height: 34,
|
||||
borderRadius: '10px',
|
||||
background: 'linear-gradient(135deg, #06b6d4 0%, #3b82f6 50%, #8b5cf6 100%)',
|
||||
background: 'linear-gradient(135deg, var(--d3-tag-cyan) 0%, var(--d3-accent-main) 50%, var(--d3-tag-purple) 100%)',
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
boxShadow: '0 0 20px rgba(59, 130, 246, 0.45)',
|
||||
boxShadow: '0 0 20px var(--d3-accent-glow)',
|
||||
}}
|
||||
>
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#ffffff" strokeWidth="2.2">
|
||||
|
|
@ -260,8 +260,8 @@ export function AdminSidebar({ identity }: {
|
|||
px: 1,
|
||||
py: 0.35,
|
||||
borderRadius: '999px',
|
||||
bgcolor: 'rgba(16, 185, 129, 0.12)',
|
||||
border: '1px solid rgba(16, 185, 129, 0.25)',
|
||||
bgcolor: 'var(--d3-status-success)',
|
||||
border: '1px solid var(--d3-status-success)',
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
|
|
@ -269,12 +269,12 @@ export function AdminSidebar({ identity }: {
|
|||
width: 6,
|
||||
height: 6,
|
||||
borderRadius: '50%',
|
||||
bgcolor: '#10b981',
|
||||
boxShadow: '0 0 8px #10b981',
|
||||
bgcolor: 'var(--d3-status-success)',
|
||||
boxShadow: '0 0 8px var(--d3-status-success)',
|
||||
animation: 'pulse-ring 2s infinite',
|
||||
}}
|
||||
/>
|
||||
<Typography sx={{ fontFamily: FONT_MONO, fontSize: '9px', fontWeight: 600, color: '#34d399' }}>
|
||||
<Typography sx={{ fontFamily: FONT_MONO, fontSize: '9px', fontWeight: 600, color: 'var(--d3-status-success)' }}>
|
||||
SESSION
|
||||
</Typography>
|
||||
</Box>
|
||||
|
|
@ -328,14 +328,14 @@ export function AdminSidebar({ identity }: {
|
|||
borderRadius: '12px',
|
||||
cursor: 'pointer',
|
||||
position: 'relative',
|
||||
border: `1px solid ${active ? 'rgba(59, 130, 246, 0.35)' : 'transparent'}`,
|
||||
bgcolor: active ? 'rgba(59, 130, 246, 0.14)' : 'transparent',
|
||||
border: `1px solid ${active ? 'var(--d3-accent-glow)' : 'transparent'}`,
|
||||
bgcolor: active ? 'var(--d3-accent-glow)' : 'transparent',
|
||||
color: active ? C.bright : C.text,
|
||||
boxShadow: active ? '0 0 20px rgba(59, 130, 246, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1)' : 'none',
|
||||
boxShadow: active ? '0 0 20px var(--d3-accent-glow), inset 0 1px 0 var(--d3-overlay-strong)' : 'none',
|
||||
transition: 'all 0.18s cubic-bezier(0.16, 1, 0.3, 1)',
|
||||
'&:hover': {
|
||||
bgcolor: active ? 'rgba(59, 130, 246, 0.2)' : 'rgba(26, 38, 68, 0.5)',
|
||||
borderColor: active ? 'rgba(96, 165, 250, 0.5)' : C.border,
|
||||
bgcolor: active ? 'var(--d3-accent-glow)' : 'var(--d3-bg-raised-soft)',
|
||||
borderColor: active ? 'var(--d3-accent-light)' : C.border,
|
||||
color: C.bright,
|
||||
transform: 'translateX(3px)',
|
||||
},
|
||||
|
|
@ -379,7 +379,7 @@ export function AdminSidebar({ identity }: {
|
|||
<Box
|
||||
sx={{
|
||||
p: 2,
|
||||
bgcolor: 'rgba(10, 14, 28, 0.95)',
|
||||
bgcolor: 'var(--d3-bg-inset-soft)',
|
||||
borderTop: `1px solid ${C.border}`,
|
||||
position: 'relative',
|
||||
zIndex: 1,
|
||||
|
|
@ -393,7 +393,7 @@ export function AdminSidebar({ identity }: {
|
|||
p: 1.25,
|
||||
borderRadius: '12px',
|
||||
border: `1px solid ${C.borderHl}`,
|
||||
bgcolor: 'rgba(17, 26, 48, 0.5)',
|
||||
bgcolor: 'var(--d3-bg-card-soft)',
|
||||
transition: 'border-color 0.15s ease',
|
||||
'&:hover': {
|
||||
borderColor: C.accentLight,
|
||||
|
|
@ -406,14 +406,14 @@ export function AdminSidebar({ identity }: {
|
|||
width: 32,
|
||||
height: 32,
|
||||
borderRadius: '8px',
|
||||
background: 'linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%)',
|
||||
background: 'linear-gradient(135deg, var(--d3-accent-dark) 0%, var(--d3-accent-main) 100%)',
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
fontWeight: 500,
|
||||
fontSize: '13px',
|
||||
color: '#ffffff',
|
||||
boxShadow: '0 0 12px rgba(59, 130, 246, 0.4)',
|
||||
color: 'var(--d3-text-inverse)',
|
||||
boxShadow: '0 0 12px var(--d3-accent-glow)',
|
||||
}}
|
||||
>
|
||||
{identity.email.slice(0, 1).toUpperCase()}
|
||||
|
|
@ -442,7 +442,7 @@ export function AdminSidebar({ identity }: {
|
|||
transition: 'all 0.15s ease',
|
||||
'&:hover': {
|
||||
color: C.red400,
|
||||
bgcolor: 'rgba(239, 68, 68, 0.12)',
|
||||
bgcolor: 'var(--d3-status-danger)',
|
||||
},
|
||||
}}
|
||||
>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue