diff --git a/client/manifest.json b/client/manifest.json index 5045c8d..c8f6b5e 100644 --- a/client/manifest.json +++ b/client/manifest.json @@ -18,12 +18,20 @@ "sizes": "192x192", "type": "image/png" },{ - "src": "images/logo_transparent_white_512x512.png", + "src": "images/logo_transparent_512x512.png", "sizes": "512x512", "type": "image/png" }], "background_color": "#3367d6", "start_url": "/", "display": "minimal-ui", - "theme_color": "#3367d6" + "theme_color": "#3367d6", + "share_target": { + "action": "/share-target/", + "params": { + "title": "title", + "text": "text", + "url": "url" + } + } } \ No newline at end of file diff --git a/client/scripts/ui.js b/client/scripts/ui.js index a471ef0..d84455b 100644 --- a/client/scripts/ui.js +++ b/client/scripts/ui.js @@ -276,10 +276,17 @@ class SendTextDialog extends Dialog { _onRecipient(recipient) { this._recipient = recipient; + this._handleShareTargetText(); this.show(); this.$text.setSelectionRange(0, this.$text.value.length) } + _handleShareTargetText(){ + if(!window.shareTargetText) return; + this.$text.value = window.shareTargetText; + window.shareTargetText = ''; + } + _send(e) { e.preventDefault(); Events.fire('send-text', { @@ -439,6 +446,20 @@ class NetworkStatusUI { } } +class WebShareTargetUI { + constructor() { + const parsedUrl = new URL(window.location); + const title = parsedUrl.searchParams.get('title'); + const text = parsedUrl.searchParams.get('text'); + const url = parsedUrl.searchParams.get('url'); + + let shareTargetText = title ? title : ''; + shareTargetText += text ? shareTargetText ? ' ' + text : text : ''; + shareTargetText += url ? shareTargetText ? ' ' + url : url : ''; + window.shareTargetText = shareTargetText; + console.log('Shared Target Text:', '"' + shareTargetText + '"'); + } +} class Snapdrop { diff --git a/client/service-worker.js b/client/service-worker.js index b90ece0..c93416e 100644 --- a/client/service-worker.js +++ b/client/service-worker.js @@ -1,4 +1,4 @@ -var CACHE_NAME = 'snapdrop-cache-v1.02'; +var CACHE_NAME = 'snapdrop-cache-v1.03'; var urlsToCache = [ '/', '/styles.css',