improve(ui) favorite star: remove duplicate information on item + badge-shared: click on it to open share dialog

This commit is contained in:
Edouard Vanbelle
2026-04-21 00:31:32 +02:00
parent bdb5a6c7a9
commit 24967489e1
+33 -8
View File
@@ -1120,18 +1120,19 @@ const ui = {
* ================================================================ */ * ================================================================ */
_bindStarClick(el) { _bindStarClick(el) {
const star = el.querySelector('.favorite-star'); const star = el.querySelector('.favorite-star');
if (!star) return; star?.addEventListener('click', (e) => {
star.addEventListener('click', (e) => {
e.stopPropagation(); e.stopPropagation();
e.stopImmediatePropagation(); e.stopImmediatePropagation();
e.preventDefault(); e.preventDefault();
if (!favorites) return; if (!favorites) return;
const itemId = star.dataset.itemId; // FIXME: make a function
const itemType = star.dataset.itemType; const itemElement = shared?.closest('.file-item');
const itemName = star.dataset.itemName;
const itemId = itemElement.dataset.fileId ? itemElement.dataset.fileId : itemElement.dataset.folderId;
const itemType = itemElement.dataset.fileId ? 'file' : 'folder';
const itemName = itemElement.dataset.fileId ? itemElement.dataset.fileName : itemElement.dataset.folderName;
const isActive = star.classList.contains('active'); const isActive = star.classList.contains('active');
@@ -1148,6 +1149,30 @@ const ui = {
contextMenus.syncFavoriteOptionLabels(); contextMenus.syncFavoriteOptionLabels();
} }
}); });
const shared = el.querySelector('.file-badge-shared');
shared?.addEventListener('click', (e) => {
e.stopPropagation();
e.stopImmediatePropagation();
e.preventDefault();
// FIXME: make a function
const itemElement = shared?.closest('.file-item');
const itemId = itemElement.dataset.fileId ? itemElement.dataset.fileId : itemElement.dataset.folderId;
const itemType = itemElement.dataset.fileId ? 'file' : 'folder';
const itemName = itemElement.dataset.fileId ? itemElement.dataset.fileName : itemElement.dataset.folderName;
// TODO corrently dirty
const item = {
id: itemId,
item_id: itemId,
item_type: itemType,
item_name: itemName
};
contextMenus.showShareDialog(item, itemType);
});
}, },
/** /**
@@ -1230,7 +1255,7 @@ const ui = {
<div class="size-cell">--</div> <div class="size-cell">--</div>
<div class="date-cell">${formattedDate}</div> <div class="date-cell">${formattedDate}</div>
<div class="action-cell"> <div class="action-cell">
<button class="favorite-star${isFav ? ' active' : ''}" data-item-id="${folder.id}" data-item-type="folder" data-item-name="${escapeHtml(folder.name)}"> <button class="favorite-star${isFav ? ' active' : ''}">
<i class="${isFav ? 'fas' : 'far'} fa-star"></i> <i class="${isFav ? 'fas' : 'far'} fa-star"></i>
</button> </button>
<button class="file-actions"><i class="fas fa-ellipsis-v"></i></button> <button class="file-actions"><i class="fas fa-ellipsis-v"></i></button>
@@ -1278,7 +1303,7 @@ const ui = {
<div class="size-cell">${fileSize}</div> <div class="size-cell">${fileSize}</div>
<div class="date-cell">${formattedDate}</div> <div class="date-cell">${formattedDate}</div>
<div class="action-cell"> <div class="action-cell">
<button class="favorite-star${isFav ? ' active' : ''}" data-item-id="${file.id}" data-item-type="file" data-item-name="${escapeHtml(file.name)}"> <button class="favorite-star${isFav ? ' active' : ''}">
<i class="${isFav ? 'fas' : 'far'} fa-star"></i> <i class="${isFav ? 'fas' : 'far'} fa-star"></i>
</button> </button>
<button class="file-actions"><i class="fas fa-ellipsis-v"></i></button> <button class="file-actions"><i class="fas fa-ellipsis-v"></i></button>