Changeset ddecd9a in Klonkt for src/assets/js/audio-player.js
- Timestamp:
- 06/14/2026 10:17:23 PM (3 months ago)
- Branches:
- main
- Children:
- 102d2f0
- Parents:
- a1c8cb8
- File:
-
- 1 edited
-
src/assets/js/audio-player.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/js/audio-player.js
ra1c8cb8 rddecd9a 327 327 // (@media max-width:719.98px). On wider/desktop widths the sheet is a centered 328 328 // panel, so we do NOT auto-open it there. 329 function isMobileView() { 330 return window.matchMedia('(max-width: 719.98px)').matches; 331 } 329 // Drie weergaves (Robin 2026-06-15): telefoon (<768) = fullscreen sheet; 330 // tablet/auto (768–1199) = grote landscape full-player (tablet + tablet-in-de- 331 // auto); desktop (≥1200) = alleen mini-speler, GEEN full player. matchMedia 332 // zodat dit exact de CSS-breekpunten volgt. 333 function playerTier() { 334 if (window.matchMedia('(min-width: 1200px)').matches) return 'desktop'; 335 if (window.matchMedia('(min-width: 768px)').matches) return 'tablet'; 336 return 'phone'; 337 } 338 function hasFullPlayer() { return playerTier() !== 'desktop'; } 339 function isMobileView() { return playerTier() === 'phone'; } 332 340 333 341 function setQueue(tracks, startIdx, opts) { … … 341 349 // niet bij next/prev of de site-pre-seed — zodat een sheet die de gebruiker 342 350 // bewust sloot niet vanzelf terugkomt. 343 if ( isMobileView()) openSheet();351 if (hasFullPlayer()) openSheet(); 344 352 } 345 353 … … 502 510 503 511 function openSheet() { 512 if (!hasFullPlayer()) return; // desktop (≥1200): geen full player, alleen mini-speler 504 513 if (sheet.classList.contains('is-open')) return; 505 514 sheet.classList.add('is-open'); 506 515 sheet.setAttribute('aria-hidden', 'false'); 507 516 document.body.classList.add('audio-sheet-locked'); 508 if (isMobileView()) { 509 try { history.pushState({ pcmsSheet: true }, ''); sheetHistoryPushed = true; } catch (e) {} 510 } 517 // Telefoon + tablet: history-entry zodat de terug-knop eerst de sheet sluit. 518 try { history.pushState({ pcmsSheet: true }, ''); sheetHistoryPushed = true; } catch (e) {} 511 519 } 512 520 function closeSheet(fromPopstate) { … … 532 540 document.addEventListener('keydown', (e) => { 533 541 if (e.key === 'Escape' && sheet.classList.contains('is-open')) closeSheet(); 542 }); 543 // Naar desktop-breedte (≥1200) gesleept terwijl de full player open is? Sluiten — 544 // op desktop bestaat de full player niet. 545 window.addEventListener('resize', () => { 546 if (!hasFullPlayer() && sheet.classList.contains('is-open')) closeSheet(); 534 547 }); 535 548
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)