Add one-off next check number override

Pencil button next to "Next check: X" in the header opens a modal
with a warning about sequence gaps/duplicates. Saves via new
PUT /api/account/:id/check-no endpoint (sets current_check_no = next - 1).
This commit is contained in:
2026-03-18 10:56:05 -06:00
parent 830a7ca686
commit 2f2646fb78
4 changed files with 115 additions and 1 deletions
+24 -1
View File
@@ -13,7 +13,7 @@
<select id="account-switcher" class="account-switcher" title="Switch account"></select>
<button id="btn-account-settings" class="btn-header-icon" title="Account settings"></button>
</div>
<span class="header-info">Next check: <strong id="current-check-no"></strong></span>
<span class="header-info">Next check: <strong id="current-check-no"></strong><button id="btn-set-check-no" class="btn-header-inline" title="Set next check number"></button></span>
</header>
<!-- View nav tabs -->
@@ -383,6 +383,29 @@
</div>
</div>
<!-- Set next check number modal -->
<div id="set-check-no-overlay" class="modal-overlay"></div>
<div id="set-check-no-modal" class="modal" role="dialog" aria-labelledby="set-check-no-title">
<div class="modal-header">
<h2 id="set-check-no-title">Set Next Check Number</h2>
<button id="btn-close-set-check-no" class="btn-icon" title="Close">×</button>
</div>
<div class="modal-body">
<div class="warning-box">
<strong>Warning:</strong> Changing the next check number can create duplicate check numbers or gaps in your sequence. Only do this if checks were printed outside this system or your book was restarted.
</div>
<div class="form-group" style="margin-top:12px">
<label for="set-check-no-input">Next check number</label>
<input type="number" id="set-check-no-input" min="1" step="1" style="width:120px">
</div>
<div id="set-check-no-error" class="wizard-error" hidden></div>
</div>
<div class="modal-footer">
<button id="btn-confirm-set-check-no" class="btn-primary">Set Number</button>
<button id="btn-cancel-set-check-no" class="btn-ghost">Cancel</button>
</div>
</div>
<!-- Deposit slide-in panel -->
<div id="dep-panel-overlay"></div>
<aside id="deposit-panel">