Skip to content

Commit

Permalink
tweak hover behavior to be more fluid
Browse files Browse the repository at this point in the history
  • Loading branch information
skier233 committed Feb 4, 2025
1 parent 6ed00cd commit 6fdc027
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
3 changes: 2 additions & 1 deletion ui/v2.5/src/components/ScenePlayer/markers.css
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
background-color: rgba(255, 255, 255, 0.4);
height: 8px;
border-radius: 2px;
transform: translateY(-10px);
transform: translateY(-28px);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
transition: none;
}
13 changes: 11 additions & 2 deletions ui/v2.5/src/components/ScenePlayer/markers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ class MarkersPlugin extends videojs.getPlugin("plugin") {
dot?: HTMLDivElement;
range?: HTMLDivElement;
} = {};
const seekBar = this.player.el().querySelector(".vjs-progress-holder");
const seekBar = this.player.el().querySelector(".vjs-progress-control");
if (marker.end_seconds) {
throw new Error("Cannot add range marker with addDotMarker");
}
Expand Down Expand Up @@ -105,7 +105,7 @@ class MarkersPlugin extends videojs.getPlugin("plugin") {

private renderRangeMarkers(markers: IMarker[], layer: number) {
const duration = this.player.duration();
const seekBar = this.player.el().querySelector(".vjs-progress-holder");
const seekBar = this.player.el().querySelector(".vjs-progress-control");
if (!seekBar || !duration) return;

markers.forEach((marker) => {
Expand Down Expand Up @@ -144,6 +144,15 @@ class MarkersPlugin extends videojs.getPlugin("plugin") {

markerSet.range = rangeDiv;
markerSet.range.style.display = "block";
markerSet.range.addEventListener("pointermove", (e) => {
e.stopPropagation();
});
markerSet.range.addEventListener("pointerover", (e) => {
e.stopPropagation();
});
markerSet.range.addEventListener("pointerout", (e) => {
e.stopPropagation();
});
markerSet.range.addEventListener("mouseenter", () => {
this.showMarkerTooltip(marker.title, layer);
markerSet.range?.toggleAttribute("marker-tooltip-shown", true);
Expand Down
4 changes: 2 additions & 2 deletions ui/v2.5/src/components/ScenePlayer/vtt-thumbnails.ts
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,8 @@ class VTTThumbnailsPlugin extends videojs.getPlugin("plugin") {
this.player.$(".vjs-mouse-display")?.classList.add("vjs-hidden");
}

progressBar.addEventListener("pointerenter", this.onBarPointerEnter);
progressBar.addEventListener("pointerleave", this.onBarPointerLeave);
progressBar.addEventListener("pointerover", this.onBarPointerEnter);
progressBar.addEventListener("pointerout", this.onBarPointerLeave);
}

private onBarPointerEnter = () => {
Expand Down

0 comments on commit 6fdc027

Please sign in to comment.