diff --git a/src/assets/scss/base.scss b/src/assets/scss/base.scss index 5e65141b3..2a251207a 100644 --- a/src/assets/scss/base.scss +++ b/src/assets/scss/base.scss @@ -40,7 +40,7 @@ body.select-none { background: transparent; } &::-webkit-scrollbar-thumb { - border-radius: 4px; + border-radius: 8px; background: var(--color-bg-scrollbar); } &::-webkit-scrollbar-corner { @@ -146,7 +146,7 @@ textarea { background-color: transparent; border: 1px solid var(--color-main-green); color: var(--color-main-green); - border-radius: 4px; + border-radius: 8px; padding: 0 24px; cursor: pointer; } diff --git a/src/assets/scss/connections.scss b/src/assets/scss/connections.scss index e4dbd450b..c4a4a2456 100644 --- a/src/assets/scss/connections.scss +++ b/src/assets/scss/connections.scss @@ -3,7 +3,7 @@ box-shadow: 1px 0px 8px 0px var(--color-shadow-leftlist); width: 260px; height: 100%; - left: 81px; + left: 76px; top: 0; bottom: 0; overflow-x: hidden; diff --git a/src/assets/scss/element/element-reset.scss b/src/assets/scss/element/element-reset.scss index fbc926d35..addf7d0d7 100644 --- a/src/assets/scss/element/element-reset.scss +++ b/src/assets/scss/element/element-reset.scss @@ -81,7 +81,7 @@ /* Button */ .el-button--mini { - border-radius: 4px; + border-radius: 8px; } .el-button--outline { background: var(--color-bg-normal); @@ -359,9 +359,9 @@ .el-progress { .el-progress-bar__outer { background-color: var(--color-bg-code); - border-radius: 4px; + border-radius: 8px; .el-progress-bar__inner { - border-radius: 4px; + border-radius: 8px; } } .el-progress__text { diff --git a/src/assets/scss/mixins.scss b/src/assets/scss/mixins.scss index fc816fafd..38e6f3fe1 100644 --- a/src/assets/scss/mixins.scss +++ b/src/assets/scss/mixins.scss @@ -14,27 +14,35 @@ pre { white-space: pre-wrap; word-wrap: break-word; + font-size: 13px; + line-height: 1.6; } p { margin: 0px; } .left-info { - color: var(--color-text-left_info); + color: var(--color-text-title); + font-size: 13px; + font-weight: 500; + .qos { + color: var(--color-text-default); + } } .right-info { color: var(--color-text-right_info); } .topic { - margin-right: 16px; + margin-right: 20px; } .retain { margin-left: 16px; - font-size: 12px; + font-size: 11px; color: var(--color-text-active); - background-color: #7e848885; - padding: 0 4px; - border-radius: 4px; + background-color: var(--color-main-yellow); + padding: 2px 8px; + border-radius: 8px; float: right; + font-weight: 500; } .payload { display: inline-block; @@ -42,63 +50,51 @@ max-width: 85%; min-width: 20px; margin: 10px 0 0px 0px; - padding: 10px; + padding: 14px 16px; white-space: normal; word-break: break-all; } .time { color: var(--color-text-light); margin-bottom: 5px; + font-size: 12px; } .properties { - margin-top: 10px; - padding-top: 6px; - border-top-width: 1px; - border-top-style: dashed; - &:last-child { - padding-bottom: 10px; - border-bottom-width: 1px; - border-bottom-style: dashed; - } + margin-top: 12px; + padding-top: 10px; &.left { - color: var(--color-text-left_info); - border-top-color: var(--color-border-left_metainfo); - &:last-child { - border-bottom-color: var(--color-border-left_metainfo); - } + color: var(--color-text-default); } &.right { color: var(--color-text-right_info); - border-top-color: var(--color-text-right_metainfo); - &:last-child { - border-bottom-color: var(--color-border-right_metainfo); - } } } .user-properties { - margin-top: 10px; - padding: 6px 0; + margin-top: 12px; + padding: 10px 0; .key-value-editor.msg-item-props { .editor-header { - margin-bottom: 10px; + margin-bottom: 12px; + .editor-title { + font-weight: 600; + font-size: 13px; + } } .el-input.is-disabled .el-input__inner { - background-color: transparent; + background-color: var(--color-bg-msg-input); } } &.left { .key-value-editor.msg-item-props { .editor-title { - color: var(--color-text-left_info); + color: var(--color-text-title); } .el-input.is-disabled .el-input__inner { - color: var(--color-text-left_info); - border: 1px solid var(--color-border-left_metainfo); + color: var(--color-text-default); + border: 1px solid var(--color-border-default); + background-color: var(--color-bg-msg-input); } } - border: 1px dashed var(--color-border-left_metainfo); - border-right: none; - border-left: none; } &.right { .key-value-editor.msg-item-props { @@ -110,9 +106,6 @@ border: 1px solid var(--color-border-right_metainfo); } } - border: 1px dashed var(--color-border-right_metainfo); - border-right: none; - border-left: none; } } } diff --git a/src/assets/scss/theme/custom/prism-one-dark.scss b/src/assets/scss/theme/custom/prism-one-dark.scss index 81b8b1c31..a0039cc03 100644 --- a/src/assets/scss/theme/custom/prism-one-dark.scss +++ b/src/assets/scss/theme/custom/prism-one-dark.scss @@ -315,7 +315,7 @@ div.code-toolbar { background-color: var(--color-bg-normal); border: 1px solid var(--color-border-default); color: var(--color-text-default); - border-radius: 4px; + border-radius: 8px; padding: 4px 8px; cursor: pointer; box-shadow: #00000014 0px 4px 12px; diff --git a/src/assets/scss/theme/custom/prism-one-light.scss b/src/assets/scss/theme/custom/prism-one-light.scss index fba0df995..22ec46fa1 100644 --- a/src/assets/scss/theme/custom/prism-one-light.scss +++ b/src/assets/scss/theme/custom/prism-one-light.scss @@ -297,7 +297,7 @@ div.code-toolbar { background-color: var(--color-bg-normal); border: 1px solid var(--color-border-default); color: var(--color-text-default); - border-radius: 4px; + border-radius: 8px; padding: 4px 8px; cursor: pointer; box-shadow: #00000014 0px 4px 12px; diff --git a/src/assets/scss/theme/dark.scss b/src/assets/scss/theme/dark.scss index cb101f3ad..73f6c74aa 100644 --- a/src/assets/scss/theme/dark.scss +++ b/src/assets/scss/theme/dark.scss @@ -56,8 +56,8 @@ body.dark { --color-border-right_metainfo: #ffffff59; /* Shadow color */ - --color-shadow-leftlist: #00000061; - --color-shadow-sendbtn: #2dc17769; + --color-shadow-leftlist: #00000038; + --color-shadow-sendbtn: transparent; --color-shadow-card: #00000059; - --color-shadow-message: #1f1f1f; + --color-shadow-message: transparent; } diff --git a/src/assets/scss/theme/light.scss b/src/assets/scss/theme/light.scss index a7f1a3c3b..bc15c48f8 100644 --- a/src/assets/scss/theme/light.scss +++ b/src/assets/scss/theme/light.scss @@ -29,7 +29,7 @@ body.light { --color-text-light: #a2a9b0; --color-text-tips: #b4b4b4; --color-text-right_block: #34c388; - --color-text-right_info: #ffffffde; + --color-text-right_info: #ffffff; --color-text-left_info: #00000075; --color-text-active: #fff; --color-text-leftbar_icon: #83929b; diff --git a/src/assets/scss/theme/night.scss b/src/assets/scss/theme/night.scss index 2135ed8f2..dc5ef5a1d 100644 --- a/src/assets/scss/theme/night.scss +++ b/src/assets/scss/theme/night.scss @@ -56,8 +56,8 @@ body.night { --color-border-right_metainfo: #ffffff54; /* Shadow color */ - --color-shadow-leftlist: #00000061; - --color-shadow-sendbtn: #2dc17769; + --color-shadow-leftlist: #00000038; + --color-shadow-sendbtn: transparent; --color-shadow-card: #00000085; - --color-shadow-message: #151515; + --color-shadow-message: transparent; } diff --git a/src/components/EmptyPage.vue b/src/components/EmptyPage.vue index c237bcc91..2e9fcdbc9 100644 --- a/src/components/EmptyPage.vue +++ b/src/components/EmptyPage.vue @@ -60,25 +60,115 @@ export default class EmptyPage extends Vue { diff --git a/src/components/Leftbar.vue b/src/components/Leftbar.vue index 48956574e..f12086ddc 100644 --- a/src/components/Leftbar.vue +++ b/src/components/Leftbar.vue @@ -81,17 +81,29 @@ export default class Leftbar extends Vue { diff --git a/src/components/MsgLeftItem.vue b/src/components/MsgLeftItem.vue index 0d6cd2664..655c025c2 100644 --- a/src/components/MsgLeftItem.vue +++ b/src/components/MsgLeftItem.vue @@ -134,11 +134,11 @@ export default class MsgLeftItem extends Vue { get topicColorStyle() { const hasFunctionOrSchema = this.functionName || this.schemaName if (!hasFunctionOrSchema && !this.msgError) { - return { height: 'calc(100% - 44px)', top: '11px' } + return { height: 'calc(100% - 38px)', top: '11px' } } else if (hasFunctionOrSchema && this.msgError) { - return { height: 'calc(100% - 84px)', top: '55px' } + return { height: 'calc(100% - 78px)', top: '55px' } } else { - return { height: 'calc(100% - 62px)', top: '32px' } + return { height: 'calc(100% - 56px)', top: '32px' } } } @@ -242,9 +242,10 @@ body.night { left: -4px; } .left-payload { - background: var(--color-main-grey); + background: var(--color-bg-messagebox); border-radius: 0px 10px 10px 10px; position: relative; + box-shadow: 0 1px 3px var(--color-shadow-message); } .left-payload, .left-time { diff --git a/src/components/MsgPublish.vue b/src/components/MsgPublish.vue index de7d1511e..b69b48c39 100644 --- a/src/components/MsgPublish.vue +++ b/src/components/MsgPublish.vue @@ -748,6 +748,7 @@ export default class MsgPublish extends Vue { } .dropdown-btn { margin-right: 4px; + border-radius: 4px; &.el-button.is-disabled { background-color: transparent; border: 1px solid var(--color-border-default); @@ -785,7 +786,7 @@ export default class MsgPublish extends Vue { height: 28px; padding: 0; border: none; - border-radius: 4px; + border-radius: 8px; margin: 0; background-color: transparent; min-width: unset; diff --git a/src/components/MsgRightItem.vue b/src/components/MsgRightItem.vue index ee4b2035e..c5ea330fb 100644 --- a/src/components/MsgRightItem.vue +++ b/src/components/MsgRightItem.vue @@ -88,6 +88,7 @@ export default class MsgRightItem extends Vue { background: var(--color-text-right_block); border-radius: 10px 0 10px 10px; text-align: left; + box-shadow: 0 1px 3px var(--color-shadow-sendbtn); } .right-payload, .right-time { diff --git a/src/components/SubscriptionsList.vue b/src/components/SubscriptionsList.vue index 69059b10c..e6606abc8 100644 --- a/src/components/SubscriptionsList.vue +++ b/src/components/SubscriptionsList.vue @@ -799,6 +799,21 @@ export default class SubscriptionsList extends Vue { top: 15px; right: 0px; } + .new-subs-btn { + width: 100%; + height: 36px; + border-radius: 8px; + border: 1px solid var(--color-main-green); + color: var(--color-main-green); + background: transparent; + transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); + &:hover { + background: var(--color-light-green); + } + &:active { + transform: scale(0.98); + } + } } .el-card__body { padding: 6px 16px; @@ -814,7 +829,7 @@ export default class SubscriptionsList extends Vue { padding: 0px 8px; height: 46px; line-height: 46px; - margin-bottom: 12px; + margin-bottom: 8px; position: relative; top: 0px; clear: both; @@ -822,9 +837,13 @@ export default class SubscriptionsList extends Vue { -moz-user-select: none; -khtml-user-select: none; user-select: none; - transition: all 0.3s ease; - animation: subItem 0.2s ease-in-out; - box-shadow: #0000000b 1px 2px 2px; + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + animation: subItem 0.25s cubic-bezier(0.4, 0, 0.2, 1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04); + &:hover { + transform: translateX(2px); + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.06); + } &.active { background: var(--color-bg-dark) !important; box-shadow: none; @@ -832,12 +851,19 @@ export default class SubscriptionsList extends Vue { .qos { color: var(--color-text-active) !important; } + .topics-color-line { + background: var(--color-text-active) !important; + } } &.disabled { background: transparent !important; border: 1px solid var(--color-border-default); box-shadow: none; cursor: not-allowed; + &:hover { + transform: none; + box-shadow: none; + } .topic, .qos { color: var(--color-text-light) !important; @@ -856,6 +882,14 @@ export default class SubscriptionsList extends Vue { position: relative; top: 50%; transform: translateY(-50%); + transition: height 0.2s ease; + } + &:hover .topics-color-line { + height: 32px; + } + &.active .topics-color-line, + &.active:hover .topics-color-line { + height: 24px; } .topic { max-width: 120px; @@ -880,9 +914,14 @@ export default class SubscriptionsList extends Vue { height: 18px; text-align: center; line-height: 18px; + transition: transform 0.15s ease; + &:hover { + transform: scale(1.1); + } .el-icon-close, .el-icon-loading { color: var(--color-text-active); + font-size: 10px; } } &:hover { @@ -894,10 +933,12 @@ export default class SubscriptionsList extends Vue { } @keyframes subItem { from { - top: 100px; + opacity: 0; + transform: translateY(8px); } to { - top: 0px; + opacity: 1; + transform: translateY(0); } } } @@ -1004,7 +1045,7 @@ export default class SubscriptionsList extends Vue { background: var(--color-bg-popover); text-align: center; min-width: 120px; - border-radius: 4px; + border-radius: 8px; .popper__arrow::after { bottom: 0px !important; border-top-color: var(--color-bg-popover) !important; diff --git a/src/components/ai/CopilotMessages.vue b/src/components/ai/CopilotMessages.vue index 854c7965a..f3465d20e 100644 --- a/src/components/ai/CopilotMessages.vue +++ b/src/components/ai/CopilotMessages.vue @@ -253,7 +253,7 @@ body.night { } pre { padding: 16px; - border-radius: 4px; + border-radius: 8px; code { padding: 0; diff --git a/src/components/ai/MCPSettings.vue b/src/components/ai/MCPSettings.vue index 95d124672..fe062e4d4 100644 --- a/src/components/ai/MCPSettings.vue +++ b/src/components/ai/MCPSettings.vue @@ -540,7 +540,7 @@ export default class MCPSettings extends Vue { .editor-container { height: 250px; border: 1px solid var(--color-border-default); - border-radius: 4px; + border-radius: 8px; &.is-error { border-color: var(--color-minor-red); @@ -622,7 +622,7 @@ export default class MCPSettings extends Vue { word-break: break-all; background-color: var(--color-bg-lighter); padding: 8px; - border-radius: 4px; + border-radius: 8px; position: relative; display: flex; justify-content: space-between; @@ -650,7 +650,7 @@ export default class MCPSettings extends Vue { gap: 8px; margin-bottom: 12px; padding: 8px 12px; - border-radius: 4px; + border-radius: 8px; position: relative; &.success { diff --git a/src/components/charts/BigNumber.vue b/src/components/charts/BigNumber.vue index fa088af85..60c71b351 100644 --- a/src/components/charts/BigNumber.vue +++ b/src/components/charts/BigNumber.vue @@ -420,7 +420,7 @@ export default class BigNumberChart extends Vue { .big-stat-panel { position: relative; background: transparent; - border-radius: 4px; + border-radius: 8px; padding: 12px; box-sizing: border-box; } diff --git a/src/lang/viewer.ts b/src/lang/viewer.ts index 5d8296188..d1b3c3833 100644 --- a/src/lang/viewer.ts +++ b/src/lang/viewer.ts @@ -299,18 +299,18 @@ export default { hu: 'Üzenet JSON Megjelenítő', }, previous: { - zh: '上一个:', - en: 'Previous:', - tr: 'Önceki:', - ja: '前:', - hu: 'Előző:', + zh: '上一个', + en: 'Previous', + tr: 'Önceki', + ja: '前', + hu: 'Előző', }, currentLabel: { - zh: '当前:', - en: 'Current:', - tr: 'Mevcut:', - ja: '現在:', - hu: 'Jelenlegi:', + zh: '当前', + en: 'Current', + tr: 'Mevcut', + ja: '現在', + hu: 'Jelenlegi', }, yes: { zh: '是', diff --git a/src/utils/styles.ts b/src/utils/styles.ts index 5a2943abf..0315b3fd5 100644 --- a/src/utils/styles.ts +++ b/src/utils/styles.ts @@ -1,11 +1,11 @@ export enum LeftValues { - Show = '341px', - Hide = '81px', + Show = '337px', + Hide = '77px', } export enum DetailLeftValues { - Show = '571px', - Hide = '311px', + Show = '567px', + Hide = '307px', } export enum BodyTopValues { diff --git a/src/views/Home.vue b/src/views/Home.vue index abd0353e5..c33cd8c6e 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -83,11 +83,14 @@ export default class Home extends Vue { position: fixed; right: 0; z-index: 2; - background: var(--color-bg-normal); - transition: all 0.4s; + background: var(--color-bg-glass); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + border-bottom: 1px solid var(--color-border-default); } .rightbar { - margin-left: 81px; + margin-left: 76px; height: 100%; background-color: var(--color-bg-primary); border-left: 1px solid var(--color-border-rightbar); diff --git a/src/views/connections/ConnectionForm.vue b/src/views/connections/ConnectionForm.vue index 24a77249f..c69e9be2d 100644 --- a/src/views/connections/ConnectionForm.vue +++ b/src/views/connections/ConnectionForm.vue @@ -20,19 +20,21 @@