Add NickelMenu installation options
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
<main>
|
||||
<header class="hero">
|
||||
<h1>KoboPatch <span class="hero-accent">Web UI</span> <span class="beta-pill">beta</span></h1>
|
||||
<p class="subtitle">Apply patches to your Kobo Libra Colour, Kobo Clara Colour and Kobo Clara BW.</p>
|
||||
<p class="subtitle">Customise your Kobo e-reader with NickelMenu or custom patches.</p>
|
||||
</header>
|
||||
|
||||
<!-- Shown until JS initialises -->
|
||||
@@ -35,60 +35,59 @@
|
||||
<p>Loading…</p>
|
||||
</div>
|
||||
|
||||
<!-- Step indicator -->
|
||||
<!-- Step indicator (populated dynamically by app.js) -->
|
||||
<nav id="step-nav" class="step-nav" hidden>
|
||||
<ol>
|
||||
<li data-step="1" class="active">Device</li>
|
||||
<li data-step="2">Patches</li>
|
||||
<li data-step="3">Build</li>
|
||||
<li data-step="4">Install</li>
|
||||
</ol>
|
||||
<ol></ol>
|
||||
</nav>
|
||||
|
||||
<!-- Step 1a: Connect device (automatic, Chromium only) -->
|
||||
<!-- Step 1: Choose connection method -->
|
||||
<section id="step-connect" class="step" hidden>
|
||||
<div class="warning">
|
||||
<b>Patching modifies system files on your Kobo, and <u>will void your warranty</u>.</b> This process allows for custom modifications to be applied, or undone. If something has gone wrong,
|
||||
you may need to <a href="https://help.kobo.com/hc/en-us/articles/360017605314-Manual-reset-your-Kobo-Clara-HD-Kobo-Nia-Kobo-Elipsa-Kobo-Clara-2E-Kobo-Elipsa-2E" target="_blank">manually reset your device</a>.
|
||||
</div>
|
||||
<p>
|
||||
Connect your Kobo e-reader via USB. It should appear as a removable drive.
|
||||
Then click the button below and select the root of the Kobo drive.
|
||||
</p>
|
||||
<button id="btn-connect" class="primary">Select Kobo Drive</button>
|
||||
<p class="fallback-hint">
|
||||
Don't want to use Chrome?
|
||||
<a href="#" id="btn-manual-from-auto">Select your software version manually</a> instead.
|
||||
<p>How would you like to set up your Kobo?</p>
|
||||
<div class="mode-cards">
|
||||
<button id="btn-connect" class="mode-card mode-card-btn">
|
||||
<svg class="mode-card-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16" fill="currentColor"><path d="m7.792.312-1.533 2.3A.25.25 0 0 0 6.467 3H7.5v7.319a2.5 2.5 0 0 0-.515-.298L5.909 9.56A1.5 1.5 0 0 1 5 8.18v-.266a1.5 1.5 0 1 0-1 0v.266a2.5 2.5 0 0 0 1.515 2.298l1.076.461a1.5 1.5 0 0 1 .888 1.129 2.001 2.001 0 1 0 1.021-.006v-.902a1.5 1.5 0 0 1 .756-1.303l1.484-.848A2.5 2.5 0 0 0 11.995 7h.755a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25h.741a1.5 1.5 0 0 1-.747 1.142L8.76 8.99a2.584 2.584 0 0 0-.26.17V3h1.033a.25.25 0 0 0 .208-.389L8.208.312a.25.25 0 0 0-.416 0Z"/></svg>
|
||||
<div class="mode-card-body">
|
||||
<div class="mode-card-title">Connect my Kobo</div>
|
||||
<div class="mode-card-desc">Connect your Kobo via USB and select its drive. Files will be written directly to the device.</div>
|
||||
</div>
|
||||
</button>
|
||||
<button id="btn-manual" class="mode-card mode-card-btn">
|
||||
<svg class="mode-card-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>
|
||||
<div class="mode-card-body">
|
||||
<div class="mode-card-title">Download files manually</div>
|
||||
<div class="mode-card-desc">Download the files and copy them to your Kobo yourself. Works in any browser.</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<p id="connect-unsupported-hint" class="fallback-hint" hidden>
|
||||
Your browser does not support direct device access. Use Chrome or Edge to connect your Kobo directly, or choose the manual download option.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- Step 1b (manual): Select device model + firmware -->
|
||||
<section id="step-manual" class="step" hidden>
|
||||
<div class="warning">
|
||||
<b>Patching modifies system files on your Kobo, and <u>will void your warranty</u>.</b> This process allows for custom modifications to be applied, or undone. If something has gone wrong,
|
||||
you may need to <a href="https://help.kobo.com/hc/en-us/articles/360017605314-Manual-reset-your-Kobo-Clara-HD-Kobo-Nia-Kobo-Elipsa-Kobo-Clara-2E-Kobo-Elipsa-2E" target="_blank">manually reset your device</a>.
|
||||
</div>
|
||||
<!-- Step 1b (manual): Select device model + firmware for custom patches -->
|
||||
<section id="step-manual-version" class="step" hidden>
|
||||
<p class="fallback-hint">
|
||||
<strong>First, select the version number that is currently installed on your device.</strong> If it does not appear in this dropdown list, your software version is not supported for patching via this website.
|
||||
<strong>Select the version number currently installed on your device.</strong> If it does not appear in this list, your software version is not supported for custom patching. You can go back and choose NickelMenu instead, which works with all versions.
|
||||
</p>
|
||||
<select id="manual-version">
|
||||
<option value="">-- Select software version --</option>
|
||||
</select>
|
||||
<p id="manual-version-hint" class="fallback-hint">
|
||||
You can identify the version number shown on your Kobo under <strong>More > Settings > Device information</strong> and by checking <strong>Software version</strong>. You should only apply a patch if the version number is a complete match. Only the listed version numbers are supported by this tool.
|
||||
You can find the version number on your Kobo under <strong>More > Settings > Device information</strong> > <strong>Software version</strong>.
|
||||
</p>
|
||||
<select id="manual-model" hidden>
|
||||
<option value="">-- Select your Kobo model --</option>
|
||||
</select>
|
||||
<p id="manual-model-hint" class="fallback-hint" hidden>
|
||||
You can identify your model by the serial number prefix shown on your Kobo under <strong>More > Settings > Device information</strong>. Match the first characters (e.g. N428) to the list above. If your device isn't listed, it is not supported by this tool.
|
||||
</p>
|
||||
<p id="manual-chrome-hint" class="info-banner" hidden>
|
||||
<b>Tip</b>: if you use Chrome or Edge, this tool can auto-detect your device
|
||||
and write patched files directly to it, which makes this a lot easier and less error-prone. Before continuing, make sure you've double checked if the device and model number are correct.
|
||||
Match the first characters of your serial number (e.g. N428) to the list above. You can find it under <strong>More > Settings > Device information</strong>.
|
||||
</p>
|
||||
<div class="step-actions" style="margin-top: 25px">
|
||||
<button id="btn-manual-confirm" class="primary" disabled>I understand, continue ›</button>
|
||||
<button id="btn-manual-version-back" class="secondary">‹ Back</button>
|
||||
<button id="btn-manual-confirm" class="primary" disabled>Continue ›</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -111,11 +110,134 @@
|
||||
<p id="device-status"></p>
|
||||
<div class="step-actions">
|
||||
<button id="btn-device-restore" class="secondary">Restore Unpatched Software</button>
|
||||
<button id="btn-device-next" class="primary">Configure Patches ›</button>
|
||||
<button id="btn-device-next" class="primary">Continue ›</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Step 2: Configure patches -->
|
||||
<!-- Step 2: Mode selection -->
|
||||
<section id="step-mode" class="step" hidden>
|
||||
<p>What would you like to do?</p>
|
||||
<div class="mode-cards">
|
||||
<label class="mode-card mode-card-selected">
|
||||
<input type="radio" name="mode" value="nickelmenu" checked>
|
||||
<div class="mode-card-body">
|
||||
<div class="mode-card-title">Install or remove NickelMenu <span class="recommended-pill">recommended</span></div>
|
||||
<div class="mode-card-desc">Installs a custom menu and various tweaks for your device. Works with most Kobo devices. The safest solution, as it has a lot of error checking and a failsafe mechanism which will automatically uninstall it as a last resort. </div>
|
||||
</div>
|
||||
</label>
|
||||
<label class="mode-card">
|
||||
<input type="radio" name="mode" value="patches">
|
||||
<div class="mode-card-body">
|
||||
<div class="mode-card-title">Custom Patches</div>
|
||||
<div class="mode-card-desc">Apply community patches to your Kobo's system software. Requires a supported software version and supported device.</div>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<p id="mode-patches-hint" class="fallback-hint" hidden>Custom patches are not available for your software version. You can still install NickelMenu and choose what you want to do with your Kobo.</p>
|
||||
<div class="step-actions">
|
||||
<button id="btn-mode-back" class="secondary">‹ Back</button>
|
||||
<button id="btn-mode-next" class="primary">Continue ›</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Step 2b: NickelMenu configuration -->
|
||||
<section id="step-nickelmenu" class="step" hidden>
|
||||
<p>Choose what to do with your Kobo.</p>
|
||||
<div class="nm-options">
|
||||
<label class="nm-option nm-option-selected">
|
||||
<input type="radio" name="nm-option" value="sample" checked>
|
||||
<div class="nm-option-body">
|
||||
<div class="nm-option-title">Install NickelMenu and configure</div>
|
||||
<div class="nm-option-desc">Installs NickelMenu with a curated set of menu options.</div>
|
||||
</div>
|
||||
</label>
|
||||
<label class="nm-option">
|
||||
<input type="radio" name="nm-option" value="nickelmenu-only">
|
||||
<div class="nm-option-body">
|
||||
<div class="nm-option-title">Install NickelMenu only</div>
|
||||
<div class="nm-option-desc">Installs just NickelMenu without any configuration. You can set it up yourself later.</div>
|
||||
</div>
|
||||
</label>
|
||||
<label id="nm-option-remove" class="nm-option nm-option-disabled nm-option-remove">
|
||||
<input type="radio" name="nm-option" value="remove" disabled>
|
||||
<div class="nm-option-body">
|
||||
<div class="nm-option-title">Remove NickelMenu</div>
|
||||
<div class="nm-option-desc" id="nm-remove-desc">Removes NickelMenu from your device. Only available when a Kobo with NickelMenu installed is connected.</div>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div id="nm-config-options" class="nm-config-options" hidden>
|
||||
<label class="nm-config-item">
|
||||
<input type="checkbox" name="nm-cfg-menu" checked disabled>
|
||||
<span>Set up custom menu</span>
|
||||
</label>
|
||||
<label class="nm-config-item">
|
||||
<input type="checkbox" name="nm-cfg-fonts" checked>
|
||||
<span>Install Readerly fonts</span>
|
||||
</label>
|
||||
<label class="nm-config-item">
|
||||
<input type="checkbox" name="nm-cfg-screensaver" checked>
|
||||
<span>Install screensaver</span>
|
||||
</label>
|
||||
<label class="nm-config-item">
|
||||
<input type="checkbox" name="nm-cfg-simplify-tabs">
|
||||
<span>Simplify tab menu</span>
|
||||
</label>
|
||||
<label class="nm-config-item">
|
||||
<input type="checkbox" name="nm-cfg-simplify-home">
|
||||
<span>Simplify homescreen</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="step-actions">
|
||||
<button id="btn-nm-back" class="secondary">‹ Back</button>
|
||||
<button id="btn-nm-next" class="primary">Continue ›</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Step 2c: NickelMenu review -->
|
||||
<section id="step-nm-review" class="step" hidden>
|
||||
<p id="nm-review-summary"></p>
|
||||
<ul id="nm-review-list" class="selected-patches-list"></ul>
|
||||
<div id="nm-review-actions" class="step-actions">
|
||||
<button id="btn-nm-review-back" class="secondary">‹ Back</button>
|
||||
<button id="btn-nm-write" class="primary">Write to Kobo</button>
|
||||
<button id="btn-nm-download" class="secondary">Download ZIP</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- NickelMenu installing -->
|
||||
<section id="step-nm-installing" class="step" hidden>
|
||||
<div class="build-header">
|
||||
<div class="spinner"></div>
|
||||
<p id="nm-progress">Starting...</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- NickelMenu done -->
|
||||
<section id="step-nm-done" class="step" hidden>
|
||||
<p id="nm-done-status" class="install-summary"></p>
|
||||
<div id="nm-write-instructions" class="install-instructions" hidden>
|
||||
<p class="hint">
|
||||
Files have been written to your Kobo.
|
||||
<strong>Safely eject</strong> the device before unplugging the USB cable — it will reboot and install NickelMenu automatically.
|
||||
</p>
|
||||
</div>
|
||||
<div id="nm-download-instructions" class="install-instructions" hidden>
|
||||
<ol class="install-steps">
|
||||
<li>Connect your Kobo via USB so it appears as a removable drive.</li>
|
||||
<li>Extract the downloaded ZIP to the <strong>root</strong> of the Kobo drive, preserving the folder structure.</li>
|
||||
<li><strong>Safely eject</strong> the Kobo — do not just unplug the cable.</li>
|
||||
<li>The device will reboot and install NickelMenu automatically.</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div id="nm-reboot-instructions" class="install-instructions" hidden>
|
||||
<p class="hint">
|
||||
<strong>Safely eject</strong> your Kobo and let it reboot. NickelMenu will be automatically removed during the reboot.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Step 2 (patches path): Configure patches -->
|
||||
<section id="step-patches" class="step" hidden>
|
||||
<p>Enable or disable patches below. Patches in the same group are mutually exclusive.</p>
|
||||
<div id="patch-container" class="patch-container-scroll"></div>
|
||||
@@ -267,6 +389,7 @@
|
||||
<script src="js/kobo-device.js?ts=1773751630"></script>
|
||||
<script src="js/kobopatch.js?ts=1773751630"></script>
|
||||
<script src="js/patch-ui.js?ts=1773751630"></script>
|
||||
<script src="js/nickelmenu.js?ts=1773751630"></script>
|
||||
<script src="js/app.js?ts=1773751630"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user