From 3b5d00920721f963e9dd0f81e435df39d9305508 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 26 May 2025 21:12:07 +0200 Subject: [PATCH] Add function to get commit page for hash and update renderContent call --- renderer.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/renderer.js b/renderer.js index 93ccd81..b439f3f 100644 --- a/renderer.js +++ b/renderer.js @@ -486,6 +486,13 @@ async function startLiveCountdown(folderObj, msLeft) { window.addEventListener('repo-updated', () => { }); + async function getCommitPageForHash(folderObj, hash, pageSize = PAGE_SIZE) { + // Hole alle Commits (NICHT paginiert!) + const { commits } = await window.electronAPI.getCommits(folderObj, 1, 100000); // genug große Zahl + const idx = commits.findIndex(c => c.hash === hash || hash.startsWith(c.hash)); + if (idx === -1) return 1; // fallback: erste Seite + return Math.floor(idx / pageSize) + 1; + } let commitPage = 1; // Merker für die aktuelle Seite const PAGE_SIZE = 50; @@ -665,10 +672,13 @@ async function startLiveCountdown(folderObj, msLeft) { btn.addEventListener('click', async () => { const hash = btn.dataset.hash; await window.electronAPI.checkoutCommit(folderObj, hash); - await renderContent(folderObj); + // Finde die Seite des neuen HEADs (das ist jetzt der aktuelle Commit) + const headCommit = hash; + const page = await getCommitPageForHash(folderObj, headCommit, PAGE_SIZE); + await renderContent(folderObj, page); }); }); - + // Copy-Diff-Button contentList.querySelectorAll('.diff-container').forEach(container => { const btn = container.querySelector('.copy-diff-btn');