Restore title-url functionality on group titles

This commit is contained in:
Svilen Markov 2024-11-17 09:36:46 +00:00
parent 6af666b58c
commit 79779eb721
3 changed files with 21 additions and 2 deletions

View file

@ -1,6 +1,6 @@
import { setupPopovers } from './popover.js';
import { setupMasonries } from './masonry.js';
import { throttledDebounce, isElementVisible } from './utils.js';
import { throttledDebounce, isElementVisible, openURLInNewTab } from './utils.js';
async function fetchPageContent(pageData) {
// TODO: handle non 200 status codes/time outs
@ -255,8 +255,23 @@ function setupGroups() {
for (let t = 0; t < titles.length; t++) {
const title = titles[t];
if (title.dataset.titleUrl !== undefined) {
title.addEventListener("auxclick", (event) => {
if (event.button != 1) {
return;
}
openURLInNewTab(title.dataset.titleUrl);
});
}
title.addEventListener("click", () => {
if (t == current) {
if (title.dataset.titleUrl !== undefined) {
openURLInNewTab(title.dataset.titleUrl);
}
return;
}

View file

@ -27,3 +27,7 @@ export function isElementVisible(element) {
export function clamp(value, min, max) {
return Math.min(Math.max(value, min), max);
}
export function openURLInNewTab(url) {
window.open(url, '_blank', 'noopener,noreferrer')?.focus();
}

View file

@ -6,7 +6,7 @@
<div class="widget-group-header">
<div class="widget-header gap-20">
{{ range $i, $widget := .Widgets }}
<button class="widget-group-title{{ if eq $i 0 }} widget-group-title-current{{ end }}">{{ $widget.Title }}</button>
<button class="widget-group-title{{ if eq $i 0 }} widget-group-title-current{{ end }}"{{ if ne "" .TitleURL }} data-title-url="{{ .TitleURL }}"{{ end }}>{{ $widget.Title }}</button>
{{ end }}
</div>
</div>