Intent share URL Query string for Pinafore

recieve "text" and overwrite compose-box

目前為 2023-02-01 提交的版本,檢視 最新版本

// ==UserScript==
// @name           Intent share URL Query string for Pinafore
// @name:ja        共有URLクエリ文字列 for Pinafore
// @namespace      https://greasyfork.org/ja/users/747568-yomosu
// @description    recieve "text" and overwrite compose-box
// @description:ja 「text」を受け取り投稿ボックスを上書きする
// @version        0.1.20230201.1
// @license        CC0-1.0
// @match          *://pinafore.social/?text=*
// @grant          none
// @run-at         document-start
// ==/UserScript==

(function() {
    'use strict';
    const params = (new URL(document.location)).searchParams;
    console.log(params);
    const encoded = params.get('text');
    if (!encoded) return;

    const currentInstance = localStorage.getItem("store_currentInstance").slice(1,-1);
    if (!currentInstance) return;
    const savedData = localStorage.getItem("store_composeData");
    let tmpJson = {};
    if (savedData) {
        tmpJson = JSON.parse(savedData);
    } else {
        tmpJson[currentInstance] = {"home": {"ts" : 0}};
    }
    const decoded = decodeURIComponent(encoded);
    tmpJson[currentInstance].home.text = decoded;
    const newData = JSON.stringify(tmpJson);
    localStorage.setItem("store_composeData", newData);
})();