feat(web): migrate messaging and personal timetable
Complete scoped notification composition and recipient selection, and add the React personal timetable with week navigation, integrated exam and experiment entries, exports, and calendar subscription lifecycle management.
This commit is contained in:
1 parent
68f74aec86
commit
0a64424035
10 files changed
+292
-7
No files matched your search
@@ -7,6 +7,7 @@ import {
|
||||
MenuFoldOutlined,
|
||||
MenuUnfoldOutlined,
|
||||
SafetyCertificateOutlined,
|
||||
CalendarOutlined,
|
||||
} from '@ant-design/icons'
|
||||
import { Avatar, Badge, Button, Layout, Menu, Tag } from 'antd'
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
@@ -40,6 +41,9 @@ export default function AppShell() {
|
||||
{ key: '/dashboard', icon: <AppstoreOutlined />, label: isStudentHome ? '学习首页' : isTeacherHome ? '教学工作台' : '教务总览' },
|
||||
{ key: '/account', icon: <IdcardOutlined />, label: '个人账户' },
|
||||
{ key: '/notifications', icon: <BellOutlined />, label: '通知中心' },
|
||||
...((roles.includes('Student') || roles.includes('Teacher'))
|
||||
? [{ key: '/my-timetable', icon: <CalendarOutlined />, label: '我的课表' }]
|
||||
: []),
|
||||
...(user?.roles.includes('SuperAdmin')
|
||||
? [{ key: '/users', icon: <SafetyCertificateOutlined />, label: '用户与权限' }]
|
||||
: []),
|
||||
|
||||
Reference in new issue
Block a user