Fixes copy to preserve line breaks in chat messages
// ==UserScript==
// @name Torn Chat Copy Fix
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Fixes copy to preserve line breaks in chat messages
// @author You
// @match https://www.torn.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
document.addEventListener('copy', (e) => {
const selection = window.getSelection();
if (!selection.rangeCount) return;
// Check if selection is within a chat message
const range = selection.getRangeAt(0);
const container = range.commonAncestorContainer;
const chatBox = container.nodeType === 1
? container.closest('.box___MhvsJ')
: container.parentElement?.closest('.box___MhvsJ');
if (!chatBox) return;
// Create a clone of the selected content
const clone = range.cloneContents();
const tempDiv = document.createElement('div');
tempDiv.appendChild(clone);
// Replace <br> with newlines
tempDiv.querySelectorAll('br').forEach(br => {
br.replaceWith('\n');
});
const textContent = tempDiv.textContent;
// Override the clipboard data
e.preventDefault();
e.clipboardData.setData('text/plain', textContent);
});
})();