From 76396cbf7f9d38fbe5dcf7ff7fc56f60f09b79c9 Mon Sep 17 00:00:00 2001 From: Nico Verbruggen Date: Sun, 22 Mar 2026 19:06:34 +0100 Subject: [PATCH] Updated footer --- web/build.mjs | 6 +-- web/eslint.config.mjs | 1 + web/src/index.html | 75 ++++++++++++++--------------------- web/src/js/nickelmenu-flow.js | 6 +++ 4 files changed, 40 insertions(+), 48 deletions(-) diff --git a/web/build.mjs b/web/build.mjs index dccc884..c6f177d 100644 --- a/web/build.mjs +++ b/web/build.mjs @@ -135,10 +135,10 @@ async function build() { ); // Inject version string and link - html = html.replace('', `${versionStr}`); + html = html.replace('', `Version ${versionStr}`); html = html.replace( - 'href="https://github.com/nicoverbruggen/kobopatch-webui"', - `href="${versionLink}"` + 'id="commit-link" class="site-footer-link" href="https://github.com/nicoverbruggen/kobopatch-webui"', + `id="commit-link" class="site-footer-link" href="${versionLink}"` ); writeFileSync(join(distDir, 'index.html'), html); diff --git a/web/eslint.config.mjs b/web/eslint.config.mjs index ca771e1..86676a1 100644 --- a/web/eslint.config.mjs +++ b/web/eslint.config.mjs @@ -22,6 +22,7 @@ export default [ Worker: 'readonly', requestAnimationFrame: 'readonly', location: 'readonly', + navigator: 'readonly', // JSZip loaded via script tag JSZip: 'readonly', }, diff --git a/web/src/index.html b/web/src/index.html index 2373587..48f99b4 100644 --- a/web/src/index.html +++ b/web/src/index.html @@ -352,6 +352,10 @@  ·  + Feedback +  ·  + GitHub +  · 

@@ -445,7 +428,9 @@
  • How the flow was started — whether you connected a Kobo directly or chose the manual download option. This helps the author decide whether to keep the manual download option, or remove it (if it is barely used).
  • Which NickelMenu option was selected — preset installation, - NickelMenu only, or removal.
  • + NickelMenu only, or removal. This helps the author understand which options to improve first. +
  • Which NickelMenu add-ons were selected — whether KOReader, + simplified home screen features, or the basic tab bar option were enabled. This helps the author understand which features are popular and worth maintaining.
  • How the flow ended — whether files were written to the device or downloaded as a ZIP. This helps the author understand how many people have actually used the complete flow successfully.
  • diff --git a/web/src/js/nickelmenu-flow.js b/web/src/js/nickelmenu-flow.js index 35df6cc..d9b6369 100644 --- a/web/src/js/nickelmenu-flow.js +++ b/web/src/js/nickelmenu-flow.js @@ -374,6 +374,12 @@ export function initNickelMenu(state) { // Install flow: either write directly to device or build a ZIP for download. const features = state.nickelMenuOption === 'preset' ? getSelectedFeatures() : []; + const hasKOReader = features.some(f => f.id === 'koreader'); + const hasSimplifiedHome = features.some(f => f.id === 'hide-notices' || f.id === 'hide-recommendations'); + const hasBasicTabs = features.some(f => f.id === 'simplify-tabs'); + track('nm-koreader-addon', { enabled: hasKOReader ? 'yes' : 'no' }); + track('nm-simplified-home', { enabled: hasSimplifiedHome ? 'yes' : 'no' }); + track('nm-basic-tabs', { enabled: hasBasicTabs ? 'yes' : 'no' }); if (writeToDevice && state.device.directoryHandle) { await state.nmInstaller.installToDevice(state.device, features, progressFn);