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; } } }