pinafore/src/routes/share.html

28 lines
796 B
HTML
Raw Normal View History

<!-- this is just used for the web share target API -->
<script>
import { store } from './_store/store'
import { goto } from '../../__sapper__/client'
import { decodeURIComponentWithPluses } from './_utils/decodeURIComponentWithPluses'
const SHARE_KEYS = ['title', 'text', 'url']
export default {
store: () => store,
oncreate () {
let params = new URLSearchParams(location.search)
let text = SHARE_KEYS
.map(key => params.get(key) && decodeURIComponentWithPluses(params.get(key)))
.filter(Boolean)
.join(' ')
this.store.set({ openShareDialog: true })
this.store.clearComposeData('dialog')
this.store.setComposeData('dialog', { text })
this.store.save()
goto('/', { replaceState: true })
}
}
</script>