diff --git a/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue b/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue
index 82f160746..70c5d5d82 100644
--- a/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue
+++ b/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue
@@ -160,25 +160,23 @@ function endDrag() {
width="220"
:rail="customizer.mini_sidebar"
>
-
-
- 🔧 设置
-
-
-
- 官方文档
-
-
-
- GitHub
-
-
-
+
diff --git a/dashboard/src/scss/components/_VTextField.scss b/dashboard/src/scss/components/_VTextField.scss
index c74c9dadc..b9572aa74 100644
--- a/dashboard/src/scss/components/_VTextField.scss
+++ b/dashboard/src/scss/components/_VTextField.scss
@@ -10,6 +10,69 @@
.v-field__outline {
color: rgb(var(--v-theme-inputBorder));
}
+
+// 亮色主题样式
+.v-theme--PurpleTheme .v-text-field .v-field__outline {
+ --v-field-border-width: 2px !important;
+ --v-field-border-opacity: 1 !important;
+ color: rgba(149, 117, 205, 0.6) !important;
+ border-color: rgba(149, 117, 205, 0.6) !important;
+}
+
+.v-theme--PurpleTheme .v-text-field:hover .v-field__outline {
+ --v-field-border-width: 2px !important;
+ --v-field-border-opacity: 1 !important;
+ color: rgba(149, 117, 205, 0.6) !important;
+ border-color: rgba(149, 117, 205, 0.6) !important;
+}
+
+.v-theme--PurpleTheme .v-text-field .v-field--focused .v-field__outline {
+ --v-field-border-width: 2.5px !important;
+ --v-field-border-opacity: 1 !important;
+ color: rgba(149, 117, 205, 0.8) !important;
+ border-color: rgba(149, 117, 205, 0.8) !important;
+}
+
+// 深色主题样式
+.v-theme--PurpleThemeDark .v-text-field .v-field {
+ background-color: rgba(255, 255, 255, 0.08) !important;
+}
+
+.v-theme--PurpleThemeDark .v-text-field .v-field__outline {
+ --v-field-border-width: 2px !important;
+ --v-field-border-opacity: 1 !important;
+ color: rgba(255, 255, 255, 0.5) !important;
+ border-color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.v-theme--PurpleThemeDark .v-text-field:hover .v-field__outline {
+ --v-field-border-width: 2px !important;
+ --v-field-border-opacity: 1 !important;
+ color: rgba(255, 255, 255, 0.7) !important;
+ border-color: rgba(255, 255, 255, 0.7) !important;
+}
+
+.v-theme--PurpleThemeDark .v-text-field .v-field--focused .v-field__outline {
+ --v-field-border-width: 2.5px !important;
+ --v-field-border-opacity: 1 !important;
+ color: rgb(129, 102, 176) !important;
+ border-color: rgb(126, 99, 171) !important;
+}
+
+.v-theme--PurpleThemeDark .v-text-field input {
+ color: #ffffff !important;
+ font-weight: 500;
+}
+
+.v-theme--PurpleThemeDark .v-text-field .v-field__label {
+ color: rgba(255, 255, 255, 0.8) !important;
+}
+
+.v-theme--PurpleThemeDark .v-text-field .v-field__prepend-inner .v-icon,
+.v-theme--PurpleThemeDark .v-text-field .v-field__append-inner .v-icon {
+ color: rgba(255, 255, 255, 0.8) !important;
+}
+
.inputWithbg {
.v-field--variant-outlined {
background-color: rgba(0, 0, 0, 0.025);
diff --git a/dashboard/src/scss/layout/_sidebar.scss b/dashboard/src/scss/layout/_sidebar.scss
index e530d7f30..032af62a1 100644
--- a/dashboard/src/scss/layout/_sidebar.scss
+++ b/dashboard/src/scss/layout/_sidebar.scss
@@ -4,7 +4,7 @@
box-shadow: none !important;
}
.listitem {
- height: calc(100vh - 100px);
+ overflow-y: auto;
.v-list {
color: rgb(var(--v-theme-secondaryText));
}
@@ -16,6 +16,39 @@
color: rgb(var(--v-theme-secondary));
}
}
+}
+
+// 深色主题下的侧边栏悬停和选中样式
+.v-theme--PurpleThemeDark .leftSidebar {
+ .listitem {
+ .v-list-group__items .v-list-item,
+ .v-list-item {
+ &:hover {
+ color: #b794f6 !important;
+
+ .v-list-item-title {
+ color: #b794f6 !important;
+ }
+
+ .v-icon {
+ color: #b794f6 !important;
+ }
+ }
+
+ // 选中状态的样式
+ &.v-list-item--active {
+ color: #b794f6 !important;
+
+ .v-list-item-title {
+ color: #b794f6 !important;
+ }
+
+ .v-icon {
+ color: #b794f6 !important;
+ }
+ }
+ }
+ }
.v-list-item--density-default.v-list-item--one-line {
min-height: 42px;
}
@@ -52,3 +85,34 @@
}
}
}
+
+// 新的flex布局样式
+.leftSidebar {
+ .sidebar-container {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+
+ .flex-grow-1 {
+ flex: 1 1 auto;
+ overflow-y: auto;
+ }
+
+ .sidebar-footer {
+ padding: 16px;
+ background: inherit;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ font-size: 13px;
+ text-align: center;
+ flex-shrink: 0;
+
+ .v-btn {
+ width: 100%;
+ max-width: 180px;
+ margin-bottom: 8px !important;
+ }
+ }
+ }
+}
diff --git a/dashboard/src/views/ChatBoxPage.vue b/dashboard/src/views/ChatBoxPage.vue
index 45b23ec18..007d399e8 100644
--- a/dashboard/src/views/ChatBoxPage.vue
+++ b/dashboard/src/views/ChatBoxPage.vue
@@ -1,13 +1,18 @@
-