// ==UserScript==
// @name DW Helper
// @namespace http://veryroundbird.house/
// @version 1.1
// @description adds some html shortcuts for the dreamwidth comment box
// @author Carly Smallbird
// @match https://*.dreamwidth.org/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=dreamwidth.org
// @grant none
// ==/UserScript==
// the guts of this userscript
function main() {
function insertText(text) {
var cursorPos = document.querySelector('.qr-body textarea').selectionStart;
var v = document.querySelector('.qr-body textarea').value;
var textBefore = v.substring(0, cursorPos);
var textAfter = v.substring(cursorPos, v.length);
document.querySelector('.qr-body textarea').value = textBefore + text + textAfter;
}
function createButton(parent, text, snippet) {
let btn = document.createElement('button');
btn.type = 'button';
btn.style.paddingTop = 0;
btn.style.paddingBottom = 0;
btn.textContent = text;
btn.addEventListener('click', function() {
insertText(snippet);
});
parent.append(btn);
}
let elt = document.createElement('div');
elt.id = 'helper-buttons';
createButton(elt, 'txt', ``);
createButton(elt, 'b', ``);
createButton(elt, 'i', ``);
document.querySelector('body').addEventListener('click', function(e) {
if (e.target.getAttribute('href').match('reply') !== null) {
if (document.querySelectorAll('.qr-meta').length > 0 && document.querySelectorAll('.qr-meta .block-icon-controls #helper-buttons').length < 1) {
let metaParent = document.querySelector('.qr-meta .block-icon-controls');
metaParent.appendChild(elt);
}
}
});
}
main();