Intent share URL Query string for Pinafore

Recieve "text" value 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" value and overwrite compose-box
// @description:ja textの値を受け取り投稿ボックスを上書きする
// @version        0.1.20230201.3
// @license        CC0-1.0
// @match          *://pinafore.social/?text=*
// @grant          none
// @run-at         document-end
// ==/UserScript==

(function() {
    'use strict';
    const params = (new URL(document.location)).searchParams;
    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");
    const tmpJson = savedData ? JSON.parse(savedData) : {};
    if (!tmpJson[currentInstance]) {
        const date = new Date();
        tmpJson[currentInstance] = {"home": {"ts" : 0}};
        tmpJson[currentInstance].home.ts = date.getTime();
    }
    const decoded = decodeURIComponent(encoded);
    if (tmpJson[currentInstance].home.text === decoded) return;
    tmpJson[currentInstance].home.text = decoded;
    const newData = JSON.stringify(tmpJson);
    localStorage.setItem("store_composeData", newData);
    location.reload();
})();