forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			35 lines
		
	
	
	
		
			752 B
		
	
	
	
		
			Svelte
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
	
		
			752 B
		
	
	
	
		
			Svelte
		
	
	
	
	
	
|  | <script lang="ts"> | ||
|  |      | ||
|  | import ToSvelte from "./ToSvelte.svelte"; | ||
|  | import Svg from "../../Svg"; | ||
|  | 
 | ||
|  | export let generateShareData: () => { | ||
|  |     text: string | ||
|  |     title: string | ||
|  |     url: string | ||
|  | } | ||
|  | function share(){ | ||
|  |     alert("Sharing...") | ||
|  |     if (!navigator.share) { | ||
|  |         console.log("web share not supported") | ||
|  |         return; | ||
|  |     } | ||
|  |     navigator | ||
|  |         .share(this._shareData()) | ||
|  |         .then(() => { | ||
|  |             console.log("Thanks for sharing!") | ||
|  |         }) | ||
|  |         .catch((err) => { | ||
|  |             console.log(`Couldn't share because of`, err.message) | ||
|  |         }) | ||
|  | } | ||
|  | 
 | ||
|  | </script> | ||
|  | 
 | ||
|  | 
 | ||
|  | <button on:click={share} class="secondary w-8 h-8 m-0 p-0"> | ||
|  |     <slot name="content"> | ||
|  |         <ToSvelte construct={Svg.share_svg().SetClass("w-7 h-7 p-1")}/> | ||
|  |     </slot> | ||
|  | </button> |