app.kluk.fr/app/javascript/controllers/mood_controller.js
2026-04-06 10:56:50 +02:00

42 lines
1.3 KiB
JavaScript

import { Controller } from '@hotwired/stimulus'
export default class extends Controller {
static targets = [ "image", "modeDay", "dayLogLink", "dayLogInfo" ];
updateDayInfo(event) {
const image = this.imageTarget;
const modeDay = this.modeDayTarget;
const day = event.target.dataset.day;
const modeDayContent = day + ' : ' + event.target.dataset.mode;
image.src = event.target.dataset.image;
modeDay.textContent = modeDayContent;
event.target.className = "selected-day " + event.target.dataset.mode;
this.dayLogInfoTarget.textContent = event.target.dataset.info || '';
this.dayLogLinkTarget.href = `/day_logs/edit?day=${day}`
if (this.lastTarget) {
this.lastTarget.className = "day " + this.lastTarget.dataset.mode;
}
this.lastTarget = event.target;
}
connect() {
this.lastTarget = null;
const logs = document.querySelector(".logs");
if (!logs) return;
document.addEventListener("turbo:before-visit", () => {
sessionStorage.setItem("logsScrollTop", logs.scrollTop);
});
const savedScroll = sessionStorage.getItem("logsScrollTop");
if (savedScroll) {
logs.scrollTop = parseInt(savedScroll);
sessionStorage.removeItem("logsScrollTop");
} else {
logs.scrollTop = logs.scrollHeight;
}
}
}