diff --git a/ui/docs/customize.md b/ui/docs/customize.md index 09a86a132df..2d1fda4f128 100644 --- a/ui/docs/customize.md +++ b/ui/docs/customize.md @@ -47,7 +47,13 @@ Customize themes like colors, border color, etc. } ``` +- `@logo-background-color` changes the logo background color. +- `@navigation-background-color` changes the navigation menu background color. +- `@navigation-text-color` changes the navigation text color. - `@primary-color` change the major background color of the page (background button, icon hover, etc). +- `@link-color` changes the link color. +- `@link-hover-color` changes the link hover color. +- `@loading-color` changes the message loading color and page loading bar at the top page. - `@success-color` change success state color. - `@processing-color` change processing state color. Exp: progress status. - `@warning-color` change warning state color. diff --git a/ui/public/config.json b/ui/public/config.json index af7e84a4442..f4ad13b7abd 100644 --- a/ui/public/config.json +++ b/ui/public/config.json @@ -11,8 +11,13 @@ "500": "assets/500.png" }, "theme": { + "@logo-background-color": "#ffffff", + "@navigation-background-color": "#ffffff", + "@navigation-text-color": "rgba(0, 0, 0, 0.65)", "@primary-color": "#1890ff", "@link-color": "#1890ff", + "@link-hover-color": "#40a9ff", + "@loading-color": "#1890ff", "@processing-color": "#1890ff", "@success-color": "#52c41a", "@warning-color": "#faad14", diff --git a/ui/src/assets/icons/kubernetes.svg b/ui/src/assets/icons/kubernetes.svg index 1bb1aeb0e29..e244023d9be 100644 --- a/ui/src/assets/icons/kubernetes.svg +++ b/ui/src/assets/icons/kubernetes.svg @@ -53,13 +53,14 @@ .ant-menu, +.ant-menu-dark .ant-menu-inline.ant-menu-sub { + background-color: @navigation-background-color; +} + +.ant-menu-item > a, +.ant-menu-dark .ant-menu-item, +.ant-menu-dark .ant-menu-item-group-title, +.ant-menu-dark .ant-menu-item > a { + color: @navigation-text-color; +} + +.ant-menu-item-selected > a, .ant-menu-item-selected > a:hover { + color: @primary-color; +} + +.ant-menu-vertical .ant-menu-item, +.ant-menu-vertical-left .ant-menu-item, +.ant-menu-vertical-right .ant-menu-item, +.ant-menu-inline .ant-menu-item, +.ant-menu-vertical .ant-menu-submenu-title, +.ant-menu-vertical-left .ant-menu-submenu-title, +.ant-menu-vertical-right .ant-menu-submenu-title, +.ant-menu-inline .ant-menu-submenu-title { + color: @navigation-text-color; +} + +.ant-menu-submenu-vertical ant-menu-submenu-selected, +.ant-menu-vertical .ant-menu-submenu-selected, +.ant-menu-vertical-left .ant-menu-submenu-selected, +.ant-menu-vertical-right .ant-menu-submenu-selected { + color: @primary-color; + + .ant-menu-submenu-title { + color: @primary-color; + } +} + +.kubernet-icon path { + color: @navigation-text-color; +} + +.ant-menu-item:hover, +.ant-menu-item-active, +.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, +.ant-menu-submenu-active, +.ant-menu-submenu-title:hover, +.ant-menu-dark .ant-menu-item:hover > a, +.ant-menu-dark .ant-menu-submenu-title:hover > a, +.ant-menu-dark .ant-menu-submenu-title:hover, +.ant-menu-dark .ant-menu-item:hover, +.ant-menu-dark .ant-menu-submenu-title:hover +{ + color: @primary-color; + + .custom-icon path { + color: @primary-color; + } +} + +.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, +.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow::after { + background-color: @navigation-text-color; +} + +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before { + background-color: @primary-color; +} \ No newline at end of file diff --git a/ui/theme.config.js b/ui/theme.config.js index 7dcdb2c5d3f..849d3a10b06 100644 --- a/ui/theme.config.js +++ b/ui/theme.config.js @@ -27,8 +27,13 @@ const options = { antDir: resolve('./node_modules/ant-design-vue'), varFile: resolve('./src/style/vars.less'), themeVariables: [ + '@logo-background-color', + '@navigation-background-color', + '@navigation-text-color', '@primary-color', '@link-color', + '@link-hover-color', + '@loading-color', '@success-color', '@warning-color', '@processing-color',