PLATINE drag to play & random tracks
All checks were successful
Deploy App / build (push) Successful in 1m59s
Deploy App / deploy (push) Successful in 17s

This commit is contained in:
valere
2025-12-19 11:41:47 +01:00
parent 1c4cbfe21c
commit c0d79591c3
4 changed files with 87 additions and 28 deletions

View File

@@ -82,14 +82,10 @@ class Disc {
public isReversed: boolean = false
public callbacks = {
// @ts-expect-error: unused var
// eslint-disable-next-line @typescript-eslint/no-unused-vars
onDragStart: (): void => {},
onDragEnded: (secondsPlayed: number): void => {},
onStop: () => {},
// @ts-expect-error: unused var
// eslint-disable-next-line @typescript-eslint/no-unused-vars
onLoop: (params: DiscProgress) => {}
onStop: (): void => {},
onLoop: (params: DiscProgress): void => {}
}
constructor(el: HTMLElement) {
@@ -172,19 +168,26 @@ class Disc {
// Empêcher le comportement par défaut pour éviter le défilement
e.preventDefault()
// Appeler le callback onDragStart
this.callbacks.onDragStart()
// Obtenir les coordonnées du toucher ou de la souris
const getCoords = (event: PointerEvent | TouchEvent): { x: number; y: number } => {
if ('touches' in event) {
// Gestion des événements tactiles
const touchEvent = event as TouchEvent
if (touchEvent.touches?.[0]) {
return {
x: event.touches[0].clientX,
y: event.touches[0].clientY
}
} else {
return {
x: event.clientX,
y: event.clientY
x: touchEvent.touches[0].clientX,
y: touchEvent.touches[0].clientY
}
}
// Gestion des événements de souris
const mouseEvent = event as PointerEvent
return {
x: mouseEvent.clientX ?? this._center.x,
y: mouseEvent.clientY ?? this._center.y
}
}
const startCoords = getCoords(e)