[ home / overboard ] [ soy / qa / raid / r ] [ int / pol ] [ a / an / asp / biz / mtv / r9k / tech / v / sude / x ] [ q / news / chive / rules / pass / bans / status ] [ wiki ]

A banner for soyjak.party

/soy/ - Soyjaks

The Serious Boardβ„’ for feedback, suggestions, and metawhining
Catalog
Email
Subject
Comment
File
Password (For file deletion.)

File: pepe w⁄ strips.jpg πŸ“₯︎ (54.29 KB, 976x850) ImgOps

 β„–17215958[Quote]

I vibecoded a quick reply script for tampermonkey (inspired by quotes nusoi software)

 β„–17215965[Quote]

// UserScript
// @name Vichan Quick Reply (Enter to Post)
// @namespace local.vichan.quickreply
// @version 1.0
// @description Press Enter to submit a vichan reply, Shift+Enter for a newline
// @match *://soyjak.st/*
// @match *://*/*
// @grant none
// @run-at document-idle
// /UserScript

(function () {
'use strict';

// Adjust these selectors if your vichan fork uses different form/field names.
// Standard vichan post form uses <textarea name="body"> inside <form …>
const TEXTAREA_SELECTOR = 'textarea[name="body"]';

function findSubmitButton(form) {
// vichan forms usually have an <input type="submit"> or <button type="submit">
return (
form.querySelector('input[type="submit"]') ||
form.querySelector('button[type="submit"]') ||
form.querySelector('input[name="post"]')
);
}

function attach(textarea) {
if (textarea.dataset.quickReplyAttached) return;
textarea.dataset.quickReplyAttached = 'true';

textarea.addEventListener('keydown', function (e) {
if (e.key !== 'Enter') return;

if (e.shiftKey) {
// Let default behavior insert a newline
return;
}

// Plain Enter: submit instead of newline
e.preventDefault();

const form = textarea.closest('form');
if (!form) return;

const submitBtn = findSubmitButton(form);
if (submitBtn) {
submitBtn.click();
} else if (typeof form.requestSubmit === 'function') {
form.requestSubmit();
} else {
form.submit();
}
});
}

function scan() {
document.querySelectorAll(TEXTAREA_SELECTOR).forEach(attach);
}

// Initial pass
scan();

// Vichan reply forms can be injected dynamically (quick reply popups, JS-driven forms)
const observer = new MutationObserver(scan);
observer.observe(document.body, { childList: true, subtree: true });
})();

 β„–17215972[Quote]

I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC I LOVE BBC

 β„–17215977[Quote]

PASSWORD GRABBER DNU

 β„–17215996[Quote]

File: vichan-quick-reply.user.txt πŸ“₯︎ (2.08 KB)

the text is fucking up so here (change to .js)

 β„–17216003[Quote]

test

 β„–17216007[Quote]

shift + enter to
go to the next line

 β„–17216021[Quote]

>inspired by quotes nusoi software
Because they're both chatjeetpt slop?

 β„–17216060[Quote]

>>17216021
no it's made by aryan claude ai saar

 β„–17216112[Quote]

maybe it would be better if it was the other way around

 β„–17216124[Quote]

I can't get used to this



[Return][Catalog][Go to top][Post a Reply]
Delete Post [ ]
[ home / overboard ] [ soy / qa / raid / r ] [ int / pol ] [ a / an / asp / biz / mtv / r9k / tech / v / sude / x ] [ q / news / chive / rules / pass / bans / status ] [ wiki ]