From bb10f97e0ca2d169aa2e322f2d177b55b0604a96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B2=85?= <907037276@qq.com> Date: Sat, 5 Sep 2026 13:51:44 +0800 Subject: [PATCH] feat: allow teacher sidebar to collapse --- src/assets/styles/sidebar.scss | 65 +++++++++++++++++++++++++ src/layout/components/Sidebar/index.vue | 21 ++++++-- tests/teacher-sidebar-collapse.test.mjs | 15 ++++++ 3 files changed, 96 insertions(+), 5 deletions(-) create mode 100644 tests/teacher-sidebar-collapse.test.mjs diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss index fd77c1c..ba76114 100644 --- a/src/assets/styles/sidebar.scss +++ b/src/assets/styles/sidebar.scss @@ -547,6 +547,71 @@ min-height: 46px; margin-bottom: 10px; } + + .teacher-sidebar-toggle { + position: absolute; + top: 14px; + right: 14px; + z-index: 8; + display: grid; + width: 32px; + height: 32px; + place-items: center; + border: 1px solid rgba(89, 218, 255, 0.5); + border-radius: 9px; + color: #dff8ff; + background: rgba(5, 54, 83, 0.84); + box-shadow: 0 0 14px rgba(0, 170, 255, 0.15); + font-size: 24px; + line-height: 1; + cursor: pointer; + transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; + + &:hover { + border-color: #70e4ff; + background: rgba(11, 116, 160, 0.8); + transform: translateX(1px); + } + } + } + + &.hideSidebar { + .sidebar-container { + width: 64px !important; + + .student-course-nav { + padding: 58px 10px 24px; + } + + .student-course-heading, + .student-course-link { + justify-content: center; + padding-right: 0; + padding-left: 0; + } + + .student-course-heading { + margin-bottom: 14px; + } + + .student-course-link { + min-height: 42px; + margin-bottom: 10px; + } + + .student-course-text { + display: none; + } + + .teacher-sidebar-toggle { + right: 16px; + transform: none; + } + } + + .main-container { + margin-left: 64px; + } } } } diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index 73f70c6..0d5486b 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -7,19 +7,27 @@ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE -->