Add client-side spell column sorting and improve inventory search

- Implement client-side sorting for all columns including spell_names
- Add computed_spell_names CTE for server-side sort fallback
- Add resizable columns with localStorage persistence
- Add Cloak slot detection by name pattern
- Increase items limit to 50000 for full inventory loading
- Increase proxy timeout to 60s for large queries
- Remove pagination (all items loaded at once for sorting)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
erik 2026-01-28 15:32:54 +00:00
parent 25980edf99
commit 8cae94d87d
6 changed files with 294 additions and 111 deletions

View file

@ -265,6 +265,7 @@
border-collapse: collapse;
font-size: 10px;
color: #000;
table-layout: fixed;
}
.results-table th {
@ -276,11 +277,36 @@
position: sticky;
top: 0;
font-size: 9px;
position: relative;
user-select: none;
}
/* Resizable column handle */
.results-table th .resize-handle {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 5px;
cursor: col-resize;
background: transparent;
}
.results-table th .resize-handle:hover,
.results-table th .resize-handle.resizing {
background: #666;
}
.results-table th.resizing {
background: #b0b0b0;
}
.results-table td {
padding: 1px 3px;
border: 1px solid #ddd;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.results-table tbody tr:hover {
@ -542,6 +568,9 @@
<option value="Right Wrist">Right Wrist</option>
<option value="Trinket">Trinket</option>
</optgroup>
<optgroup label="Other Slots">
<option value="Cloak">Cloak</option>
</optgroup>
</select>
</div>
</div>
@ -944,6 +973,10 @@
<input type="checkbox" id="slot_trinket" value="Trinket">
<label for="slot_trinket">Trinket</label>
</div>
<div class="checkbox-item">
<input type="checkbox" id="slot_cloak" value="Cloak">
<label for="slot_cloak">Cloak</label>
</div>
</div>
</div>
</div>