Add working share modal

This commit is contained in:
Tixie
2020-02-22 04:38:33 +01:00
parent e42fd4fe6b
commit 6a8b379763
8 changed files with 75 additions and 40 deletions

View File

@ -2,10 +2,41 @@
<a class="contextMenu__item" href="" target="_blank">Link to toot</a>
<a class="contextMenu__item" href="" target="_blank">Link to media</a>
<script>
import { onMount, getContext } from 'svelte';
import MicroModal from 'micromodal';
<!-- Sharemodal -->
<Portal target="{document.body}">
<div class="modal" id="share-modal" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" on:click={() => closeModal()}></div>
<div class="modal__container" role="dialog" aria-modal="true">
<button class="modal__close" aria-label="close" on:click={() => closeModal()}></button>
<div class="modal__title">Share this song</div>
<div class="modal__content">
<input class="modalShare__input f-size-full w100" readonly type="text" value={shareUrlInput}>
<div class="modalShare__controls">
<div class="modalShare__bigplayer">
<input type="checkbox" id="bigplayer_active" bind:checked={isBigPlayer}>
<label for="bigplayer_active">active big player {isBigPlayer}</label>
</div>
<button class="modalShare__copy" on:click={() => copyUrl()}>copy</button>
</div>
</div>
</div>
</div>
</Portal>
<script>
import copy from 'copy-to-clipboard';
import { onMount, getContext } from 'svelte';
import Portal from 'svelte-portal';
import MicroModal from 'micromodal';
export let shareUrl
let isBigPlayer = false
$: shareUrlInput = shareUrl + (isBigPlayer ? '?large' : '')
$: console.log(shareUrl)
$: console.log(shareUrlInput)
const closeMenu = getContext('closeMenu')
function openShare () {
@ -13,4 +44,18 @@ function openShare () {
closeMenu()
}
function closeModal () {
MicroModal.close('share-modal');
}
function copyUrl () {
copy(shareUrl)
}
onMount(() => {
MicroModal.init();
})
</script>