diff --git a/src/renderer/assets/styles/variables.less b/src/renderer/assets/styles/variables.less index 4e25fcca..7672a97d 100644 --- a/src/renderer/assets/styles/variables.less +++ b/src/renderer/assets/styles/variables.less @@ -6,7 +6,7 @@ // Height @height-toolbar: 54px; -@height-player: 68px; +@height-player: 66px; // Shadow diff --git a/src/renderer/components/base/Popup.vue b/src/renderer/components/base/Popup.vue index d483ddac..4ad37412 100644 --- a/src/renderer/components/base/Popup.vue +++ b/src/renderer/components/base/Popup.vue @@ -7,6 +7,7 @@ @click.stop @mouseenter="emit('mouseenter', $event)" @mouseleave="emit('mouseleave', $event)" + @transitionend="emit('transitionend', $event)" >
@@ -39,6 +40,7 @@ interface Emitter { (event: 'update:visible', visible: boolean): void (event: 'mouseenter', visible: MouseEvent): void (event: 'mouseleave', visible: MouseEvent): void + (event: 'transitionend', visible: TransitionEvent): void } const emit = defineEmits() diff --git a/src/renderer/components/common/VolumeBtn.vue b/src/renderer/components/common/VolumeBtn.vue index 34d32037..9ed012be 100644 --- a/src/renderer/components/common/VolumeBtn.vue +++ b/src/renderer/components/common/VolumeBtn.vue @@ -7,14 +7,16 @@ @@ -83,10 +85,17 @@ const icon = computed(() => { .setting { display: flex; flex-flow: column nowrap; - font-size: 14px; padding: 2px 3px; gap: 8px; - label span { +} + +.info { + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + align-items: center; + font-size: 13px; + span { line-height: 1; } } diff --git a/src/renderer/components/layout/PlayBar/PlayProgress.vue b/src/renderer/components/layout/PlayBar/PlayProgress.vue index 751ff070..5ba82320 100644 --- a/src/renderer/components/layout/PlayBar/PlayProgress.vue +++ b/src/renderer/components/layout/PlayBar/PlayProgress.vue @@ -3,9 +3,9 @@ {{ nowPlayTimeStr }} / {{ maxPlayTimeStr }} - +
- +
@@ -19,14 +19,13 @@ import usePlayProgress from '@renderer/utils/compositions/usePlayProgress' export default { setup() { const visible = ref(false) + const visibleProgress = ref(false) const dom_btn = ref(null) const handleShowPopup = (evt) => { if (visible.value) evt.stopPropagation() - setTimeout(() => { - // if (!) - visible.value = !visible.value - }, 50) + if (visible.value) handlMsLeave() + else handlMsEnter() } const { nowPlayTimeStr, @@ -38,22 +37,31 @@ export default { let timeout = null const handlMsEnter = () => { - if (visible.value) { - if (timeout) { - clearTimeout(timeout) - timeout = null - } - return + if (timeout) { + clearTimeout(timeout) + timeout = null } - visible.value = true + if (visible.value) return + timeout = setTimeout(() => { + visible.value = true + visibleProgress.value = true + }, 100) } const handlMsLeave = () => { + if (timeout) { + clearTimeout(timeout) + timeout = null + } if (!visible.value) return timeout = setTimeout(() => { timeout = null visible.value = false }, 100) } + const handleTranEnd = () => { + if (visible.value) return + visibleProgress.value = false + } onMounted(() => { visible.value = true @@ -64,6 +72,7 @@ export default { return { visible, + visibleProgress, dom_btn, handleShowPopup, nowPlayTimeStr, @@ -73,6 +82,7 @@ export default { handleTransitionEnd, handlMsLeave, handlMsEnter, + handleTranEnd, } }, } @@ -86,8 +96,8 @@ export default { flex: none; position: relative; // display: inline-block; - padding: 5px 0 5px 5px; - color: var(--color-font); + padding: 5px 0; + color: var(--color-300); font-size: 13px; cursor: pointer; transition: opacity @transition-fast; diff --git a/src/renderer/components/layout/PlayBar/index.vue b/src/renderer/components/layout/PlayBar/index.vue index 1fd63a9b..baf2a707 100644 --- a/src/renderer/components/layout/PlayBar/index.vue +++ b/src/renderer/components/layout/PlayBar/index.vue @@ -1,8 +1,5 @@