diff --git a/dashboard/src/components/shared/Logo.vue b/dashboard/src/components/shared/Logo.vue index 2b77ccefa..6a071d979 100644 --- a/dashboard/src/components/shared/Logo.vue +++ b/dashboard/src/components/shared/Logo.vue @@ -5,7 +5,7 @@ AstrBot Logo
-

{{ title }}

+

{{ title }}

{{ subtitle }}

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 @@