-
+
+
+
+
+
+
+
@@ -99,6 +128,44 @@ onMounted(() => updateLabel(props.currentSpeed))
background: rgba(255, 152, 0, 0.15);
}
+.speed-wrapper {
+ position: relative;
+}
+
+.speed-menu {
+ position: absolute;
+ bottom: calc(100% + 4px);
+ left: 0;
+ display: flex;
+ flex-direction: column;
+ background: rgba(20, 20, 30, 0.96);
+ border: 1px solid rgba(255, 255, 255, 0.12);
+ border-radius: 4px;
+ overflow: hidden;
+ min-width: 60px;
+}
+
+.speed-option {
+ padding: 6px 16px;
+ font-size: 12px;
+ color: #999;
+ background: none;
+ border: none;
+ cursor: pointer;
+ text-align: left;
+ white-space: nowrap;
+ transition: background 0.1s, color 0.1s;
+}
+
+.speed-option:hover {
+ background: rgba(255, 255, 255, 0.08);
+ color: #ddd;
+}
+
+.speed-option.active {
+ color: #c9a84c;
+}
+
.bb-select {
padding: 6px 10px;
font-size: 12px;
@@ -109,4 +176,15 @@ onMounted(() => updateLabel(props.currentSpeed))
cursor: pointer;
outline: none;
}
+
+.speed-drop-enter-active,
+.speed-drop-leave-active {
+ transition: all 0.15s ease;
+}
+
+.speed-drop-enter-from,
+.speed-drop-leave-to {
+ opacity: 0;
+ transform: translateY(4px);
+}