// retoor <retoor@molodetz.nl>
import { OptimisticAction } from "./OptimisticAction.js";
export class BookmarkManager extends OptimisticAction {
constructor() {
super();
document.addEventListener("click", (event) => this.onClick(event));
}
async onClick(event) {
const button = event.target.closest(".bookmark-btn");
if (!button) {
return;
}
event.preventDefault();
const type = button.dataset.bookmarkType;
const uid = button.dataset.bookmarkUid;
await this.submit(`/bookmarks/${type}/${uid}`, {}, null, (result) => {
button.classList.toggle("bookmarked", result.saved);
const label = button.querySelector(".bookmark-label");
if (label) {
label.textContent = result.saved ? "Saved" : "Save";
}
}, button);
}
}