refactor: slugify isn't heavy anymore

can just require it
This commit is contained in:
Barış Soner Uşaklı
2026-02-19 19:13:45 -05:00
parent 1a35131a89
commit fb95f8a33a

View File

@@ -1,18 +1,9 @@
'use strict'; 'use strict';
define('forum/topic/postTools', [ define('forum/topic/postTools', [
'share', 'share', 'navigator', 'components', 'translator', 'forum/topic/votes',
'navigator', 'api', 'bootbox', 'alerts', 'hooks', 'helpers', 'slugify',
'components', ], function (share, navigator, components, translator, votes, api, bootbox, alerts, hooks, helpers, slugify) {
'translator',
'forum/topic/votes',
'api',
'bootbox',
'alerts',
'hooks',
'helpers',
], function (share, navigator, components, translator, votes, api, bootbox, alerts, hooks, helpers) {
const PostTools = {}; const PostTools = {};
let staleReplyAnyway = false; let staleReplyAnyway = false;
@@ -291,11 +282,11 @@ define('forum/topic/postTools', [
}); });
} }
async function onReplyClicked(button, tid) { function onReplyClicked(button, tid) {
const selectedNode = await getSelectedNode(); const selectedNode = getSelectedNode();
showStaleWarning(async function () { showStaleWarning(function () {
let username = await getUserSlug(button); let username = getUserSlug(button);
if (getData(button, 'data-uid') === '0' || !getData(button, 'data-userslug')) { if (getData(button, 'data-uid') === '0' || !getData(button, 'data-userslug')) {
username = ''; username = '';
} }
@@ -324,11 +315,11 @@ define('forum/topic/postTools', [
}); });
} }
async function onQuoteClicked(button, tid) { function onQuoteClicked(button, tid) {
const selectedNode = await getSelectedNode(); const selectedNode = getSelectedNode();
showStaleWarning(async function () { showStaleWarning(async function () {
const username = await getUserSlug(button); const username = getUserSlug(button);
const toPid = getData(button, 'data-pid'); const toPid = getData(button, 'data-pid');
function quote(text) { function quote(text) {
@@ -350,7 +341,7 @@ define('forum/topic/postTools', [
}); });
} }
async function getSelectedNode() { function getSelectedNode() {
let selectedText = ''; let selectedText = '';
let selectedPid; let selectedPid;
let username = ''; let username = '';
@@ -367,7 +358,7 @@ define('forum/topic/postTools', [
selectedText = selection.toString(); selectedText = selection.toString();
const postEl = $(content).parents('[component="post"]'); const postEl = $(content).parents('[component="post"]');
selectedPid = postEl.attr('data-pid'); selectedPid = postEl.attr('data-pid');
username = await getUserSlug($(content)); username = getUserSlug($(content));
} }
return { text: selectedText, pid: selectedPid, username: username }; return { text: selectedText, pid: selectedPid, username: username };
} }
@@ -390,33 +381,26 @@ define('forum/topic/postTools', [
} }
function getUserSlug(button) { function getUserSlug(button) {
return new Promise((resolve) => { let slug = '';
let slug = ''; if (button.attr('component') === 'topic/reply') {
if (button.attr('component') === 'topic/reply') { return slug;
resolve(slug); }
return; const post = button.parents('[data-pid]');
if (post.length && !post.hasClass('self-post')) {
slug = slugify(post.attr('data-username'), true);
if (!slug) {
if (post.attr('data-uid') !== '0') {
slug = '[[global:former-user]]';
} else {
slug = '[[global:guest]]';
}
} }
const post = button.parents('[data-pid]'); if (slug && slug !== '[[global:former-user]]' && slug !== '[[global:guest]]') {
if (post.length && !post.hasClass('self-post')) { slug = '@' + slug;
require(['slugify'], function (slugify) {
slug = slugify(post.attr('data-username'), true);
if (!slug) {
if (post.attr('data-uid') !== '0') {
slug = '[[global:former-user]]';
} else {
slug = '[[global:guest]]';
}
}
if (slug && slug !== '[[global:former-user]]' && slug !== '[[global:guest]]') {
slug = '@' + slug;
}
resolve(slug);
});
return;
} }
}
resolve(slug); return slug;
});
} }
function togglePostDelete(button) { function togglePostDelete(button) {