28 lines
796 B
HTML
28 lines
796 B
HTML
|
<!-- 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>
|