11import { html , type TemplateResult } from 'lit-html' ;
22import { unsafeHTML } from 'lit-html/directives/unsafe-html.js' ;
33import { computed , effect , peek , signal , type ReadSignal } from 'maverick.js' ;
4- import { isKeyboardClick , isKeyboardEvent , listenEvent } from 'maverick.js/std' ;
4+ import { isKeyboardClick , isKeyboardEvent , isString , listenEvent } from 'maverick.js/std' ;
55import type { VTTCue } from 'media-captions' ;
66
77import {
@@ -12,7 +12,7 @@ import type { PlyrControl, PlyrMarker } from '../../../../components/layouts/ply
1212import { i18n , type PlyrLayoutWord } from '../../../../components/layouts/plyr/translations' ;
1313import { useMediaContext } from '../../../../core/api/media-context' ;
1414import type { MediaSeekingRequestEvent } from '../../../../core/api/media-request-events' ;
15- import { getDownloadFile } from '../../../../utils/network' ;
15+ import { appendParamsToURL , getDownloadFile } from '../../../../utils/network' ;
1616import { $signal } from '../../../lit/directives/signal' ;
1717
1818export function PlyrAudioLayout ( ) {
@@ -464,11 +464,11 @@ function DownloadButton() {
464464 } ) ,
465465 $downloadText = $i18n ( translations , 'Download' ) ;
466466
467- return file
467+ return isString ( file ?. url )
468468 ? html `
469469 < a
470470 class ="plyr__controls__item plyr__control "
471- href =${ file . url + `? download= ${ file . name } ` }
471+ href =${ appendParamsToURL ( file . url , { download : file . name } ) }
472472 download =${ file . name }
473473 target="_blank"
474474 >
0 commit comments