diff --git a/src/sidebar.js b/src/sidebar.js index d5e74d9..597837b 100644 --- a/src/sidebar.js +++ b/src/sidebar.js @@ -5,6 +5,7 @@ const Sidebar = NAMESPACE({ tabs: null, $my_avatar: null, userlist: new StatusDisplay(0, null), + linkify_messages: false, normal_open: false, fullscreen_open: false, @@ -233,8 +234,13 @@ const Sidebar = NAMESPACE({ link.href = "#user/"+comment.createUserId link.firstChild.src = Draw.avatar_url(author) link.lastChild.textContent = name - - d.append(comment.text.replace(/\n/g, " ")) + let content = d.lastChild + content.setAttribute("page", comment.contentId) + if (Sidebar.linkify_messages) { + content.href = "#page/"+comment.contentId + } + content.setAttribute('aria-disabled', String(!Sidebar.linkify_messages)) + content.append(comment.text.replace(/\n/g, " ")) return d }.bind(𐀶` @@ -243,6 +249,8 @@ const Sidebar = NAMESPACE({ : + + `), @@ -279,3 +287,26 @@ Object.defineProperty(window, 'log', { }) do_when_ready(x=>Sidebar.onload()) + +Settings.add({ + name: 'linkify_sidebar_messages', label: 'Linkify Sidebar Messages', + type: 'select', + options: ['no', 'yes'], + update(value) { + do_when_ready(() => { + Sidebar.linkify_messages = (value === 'yes') + const contents = document.querySelectorAll('#\\$sidebarBottom .sidebar-message-content') + if (Sidebar.linkify_messages) { + contents.forEach(c => { + c.setAttribute('href', `#page/${c.getAttribute("page")}`) + c.setAttribute('aria-disabled', "false") + }) + } else { + contents.forEach(c => { + c.removeAttribute('href') + c.setAttribute('aria-disabled', "true") + }) + } + }) + }, +}) \ No newline at end of file diff --git a/src/style.css b/src/style.css index c811379..56bca05 100644 --- a/src/style.css +++ b/src/style.css @@ -902,6 +902,9 @@ activity-users { overflow-y: scroll; width: 100%; } +#\$sidebarBottom .sidebar-message-content { + color: var(--T-color); +} /* contain */ #\$sidebarBottom,