feat(release): prepare 1.1.0 candidate
This commit is contained in:
parent
5a34f66981
commit
5205dcdfa9
736 changed files with 115667 additions and 12203 deletions
|
|
@ -1,7 +1,7 @@
|
|||
'use client'
|
||||
'use client'
|
||||
|
||||
// apps/web/src/components/layout/sidebar.tsx
|
||||
// 대시보드 좌측 사이드바
|
||||
// D3RO VOICE 대시보드 좌측 사이드바 — 정본 네비게이션
|
||||
|
||||
import { usePathname, useRouter } from 'next/navigation'
|
||||
import {
|
||||
|
|
@ -18,12 +18,11 @@ import {
|
|||
type SelectChangeEvent
|
||||
} from '@mui/material'
|
||||
import DashboardIcon from '@mui/icons-material/Dashboard'
|
||||
import MeetingRoomIcon from '@mui/icons-material/MeetingRoom'
|
||||
import MicIcon from '@mui/icons-material/Mic'
|
||||
import HistoryIcon from '@mui/icons-material/History'
|
||||
import ChatIcon from '@mui/icons-material/Chat'
|
||||
import LibraryBooksIcon from '@mui/icons-material/LibraryBooks'
|
||||
import BookIcon from '@mui/icons-material/Book'
|
||||
import AutoAwesomeIcon from '@mui/icons-material/AutoAwesome'
|
||||
import GroupsIcon from '@mui/icons-material/Groups'
|
||||
import PaymentIcon from '@mui/icons-material/Payment'
|
||||
import LogoutIcon from '@mui/icons-material/Logout'
|
||||
import PaletteIcon from '@mui/icons-material/Palette'
|
||||
|
|
@ -55,49 +54,43 @@ export function Sidebar(): React.ReactElement {
|
|||
{
|
||||
key: 'dashboard',
|
||||
path: '/dashboard',
|
||||
label: t('nav.dashboard') ?? 'Dashboard',
|
||||
label: t('nav.dashboard') ?? '대시보드',
|
||||
icon: <DashboardIcon />
|
||||
},
|
||||
{
|
||||
key: 'meetings',
|
||||
path: '/meetings',
|
||||
label: t('nav.meetings') ?? 'Meetings',
|
||||
icon: <MeetingRoomIcon />
|
||||
},
|
||||
{
|
||||
key: 'record',
|
||||
path: '/record',
|
||||
label: t('nav.record') ?? 'Record',
|
||||
label: t('nav.record') ?? '실시간 녹음',
|
||||
icon: <MicIcon />
|
||||
},
|
||||
{
|
||||
key: 'history',
|
||||
path: '/history',
|
||||
label: t('nav.history') ?? '전사 히스토리',
|
||||
icon: <HistoryIcon />
|
||||
},
|
||||
{
|
||||
key: 'chat',
|
||||
path: '/chat',
|
||||
label: t('nav.chat') ?? 'Chat',
|
||||
label: t('nav.chat') ?? '음성 대화',
|
||||
icon: <ChatIcon />
|
||||
},
|
||||
{
|
||||
key: 'knowledge',
|
||||
path: '/knowledge',
|
||||
label: t('nav.knowledge') ?? 'Knowledge',
|
||||
icon: <LibraryBooksIcon />
|
||||
key: 'dictionary',
|
||||
path: '/dictionary',
|
||||
label: t('nav.dictionary') ?? '커스텀 사전',
|
||||
icon: <BookIcon />
|
||||
},
|
||||
{
|
||||
key: 'actions',
|
||||
path: '/actions',
|
||||
label: t('nav.actions') ?? 'Actions',
|
||||
key: 'commands',
|
||||
path: '/commands',
|
||||
label: t('nav.commands') ?? '명령어',
|
||||
icon: <AutoAwesomeIcon />
|
||||
},
|
||||
{
|
||||
key: 'teams',
|
||||
path: '/teams',
|
||||
label: t('nav.teams') ?? 'Teams',
|
||||
icon: <GroupsIcon />
|
||||
},
|
||||
{
|
||||
key: 'billing',
|
||||
path: '/billing',
|
||||
label: t('nav.billing') ?? 'Billing',
|
||||
label: t('nav.billing') ?? '구독 & 업그레이드',
|
||||
icon: <PaymentIcon />
|
||||
}
|
||||
]
|
||||
|
|
@ -112,17 +105,42 @@ export function Sidebar(): React.ReactElement {
|
|||
<Box
|
||||
sx={{
|
||||
width: 240,
|
||||
minHeight: '100vh',
|
||||
minHeight: '100dvh',
|
||||
bgcolor: d3roPalette.bg.sidebar,
|
||||
borderRight: `1px solid ${d3roPalette.border.default}`,
|
||||
display: 'flex',
|
||||
flexDirection: 'column'
|
||||
}}
|
||||
>
|
||||
<Box sx={{ p: 3, borderBottom: `1px solid ${d3roPalette.border.default}` }}>
|
||||
<PhosphorText variant="heading">
|
||||
D3RO VOICE
|
||||
</PhosphorText>
|
||||
<Box sx={{ p: 3, borderBottom: `1px solid ${d3roPalette.border.default}`, display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
|
||||
<Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5 }}>
|
||||
<Box sx={{ display: 'flex', gap: 0.75 }}>
|
||||
<Box
|
||||
sx={{
|
||||
width: 8,
|
||||
height: 8,
|
||||
borderRadius: '50%',
|
||||
bgcolor: 'var(--d3-accent-main)',
|
||||
boxShadow: '0 0 8px var(--d3-accent-main)'
|
||||
}}
|
||||
/>
|
||||
<Box
|
||||
sx={{
|
||||
width: 8,
|
||||
height: 8,
|
||||
borderRadius: '50%',
|
||||
bgcolor: 'var(--d3-tag-green)',
|
||||
boxShadow: '0 0 6px var(--d3-tag-green)'
|
||||
}}
|
||||
/>
|
||||
</Box>
|
||||
<PhosphorText variant="heading" sx={{ letterSpacing: '0.1em' }}>
|
||||
D3RO VOICE
|
||||
</PhosphorText>
|
||||
</Box>
|
||||
<Box sx={{ fontSize: '10px', fontFamily: 'ui-monospace, monospace', color: d3roPalette.text.muted }}>
|
||||
v1.1.0
|
||||
</Box>
|
||||
</Box>
|
||||
|
||||
<List sx={{ flex: 1, py: 2 }}>
|
||||
|
|
@ -134,18 +152,21 @@ export function Sidebar(): React.ReactElement {
|
|||
selected={active}
|
||||
onClick={() => router.push(item.path)}
|
||||
sx={{
|
||||
py: 1.25,
|
||||
'&.Mui-selected': {
|
||||
bgcolor: d3roPalette.bg.inset,
|
||||
borderLeft: `3px solid ${d3roPalette.accent.main}`
|
||||
}
|
||||
}}
|
||||
>
|
||||
<ListItemIcon sx={{ color: active ? d3roPalette.accent.main : d3roPalette.text.label }}>
|
||||
<ListItemIcon sx={{ minWidth: 36, color: active ? d3roPalette.accent.main : d3roPalette.text.label }}>
|
||||
{item.icon}
|
||||
</ListItemIcon>
|
||||
<ListItemText
|
||||
primary={item.label}
|
||||
primaryTypographyProps={{
|
||||
fontSize: 13,
|
||||
fontWeight: active ? 600 : 400,
|
||||
color: active ? d3roPalette.text.primary : d3roPalette.text.secondary
|
||||
}}
|
||||
/>
|
||||
|
|
@ -183,12 +204,12 @@ export function Sidebar(): React.ReactElement {
|
|||
<List sx={{ borderTop: `1px solid ${d3roPalette.border.default}` }}>
|
||||
<ListItem disablePadding>
|
||||
<ListItemButton onClick={() => void handleLogout()}>
|
||||
<ListItemIcon sx={{ color: d3roPalette.text.label }}>
|
||||
<ListItemIcon sx={{ minWidth: 36, color: d3roPalette.text.label }}>
|
||||
<LogoutIcon />
|
||||
</ListItemIcon>
|
||||
<ListItemText
|
||||
primary={t('nav.logout') ?? 'Logout'}
|
||||
primaryTypographyProps={{ color: d3roPalette.text.secondary }}
|
||||
primary={t('nav.logout') ?? '로그아웃'}
|
||||
primaryTypographyProps={{ fontSize: 13, color: d3roPalette.text.secondary }}
|
||||
/>
|
||||
</ListItemButton>
|
||||
</ListItem>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue