mastoradio-fork/src/components/Controls.svelte

61 lines
2.0 KiB
Svelte
Raw Normal View History

2020-01-10 03:02:46 +01:00
<div class="controls">
2020-02-16 23:39:41 +01:00
<div class="controls__volume">
2020-02-16 22:28:17 +01:00
<Volume></Volume>
2020-01-10 03:02:46 +01:00
</div>
2020-02-16 23:39:41 +01:00
<div class="controls__controls">
<button
class="controls__prevnext"
class:disabled={!$canPrevious}
disabled={!$canPrevious}
on:click={() => selectPrevious()}
2020-02-16 23:39:41 +01:00
aria-label="Prev"
title="Previous song"
><Prev></Prev></button>
<PlayPause on:click={() => $paused = !$paused}></PlayPause>
<button
class="controls__prevnext"
class:disabled={!$canNext}
disabled={!$canNext}
on:click={() => selectNext()}
aria-label="Next"
title="Next Song"
><Next></Next></button>
2020-01-10 03:02:46 +01:00
</div>
2020-02-16 23:39:41 +01:00
<div class="controls__menu">
<Popper needOffset={false}>
<button
slot="btn"
class="controls__menuBtn"
disabled={!$current}
class:disabled={!$current}
aria-label="track menu"
><IconMenu></IconMenu>{!!$current}</button>
2020-02-22 01:59:26 +01:00
<div slot="content" class="contextMenu__list">
2020-02-22 04:38:33 +01:00
{#if $current}
2020-02-22 05:08:25 +01:00
<ContextMenu track={$current}></ContextMenu>
2020-02-22 04:38:33 +01:00
{/if}
2020-02-22 01:59:26 +01:00
</div>
</Popper>
2020-01-10 03:02:46 +01:00
</div>
</div>
<script>
import { getContext } from 'svelte'
2021-11-07 00:11:15 +01:00
import Volume from '/src/components/Volume'
import PlayPause from '/src/components/icons/controls/PlayPause'
import Prev from '/src/components/icons/controls/Prev'
import Next from '/src/components/icons/controls/Next'
import IconMenu from '/src/components/icons/Menu'
import Popper from '/src/components/PopperMenu'
import ContextMenu from '/src/components/ContextMenu'
2020-02-22 04:38:33 +01:00
const current = getContext('current')
const paused = getContext('paused')
const canPrevious = getContext('canPrevious')
const canNext = getContext('canNext')
const selectPrevious = getContext('selectPrevious')
const selectNext = getContext('selectNext')
2020-01-10 03:02:46 +01:00
</script>