feat(preferences): apply auto-completion (village name suggestions) [#198]

Honour the per-user auto-completion checkboxes on the rally point and the
marketplace, where the target village is typed by name (dname field):
  - v1: own villages
  - v2: villages in the surroundings of the active village
  - v3: villages of the player's alliance members

A new Database::getAutoCompleteVillages() builds the bounded, de-duplicated
name list from the enabled categories (system accounts excluded). A shared
Templates/villageAutocomplete.tpl renders a native <datalist> consumed by
the dname input via list="dnameSuggest"; nothing is emitted when every box
is unchecked, keeping the previous behaviour. Removes the "not coded yet"
tag from the auto-completion section in the preferences form.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Ferywir
2026-06-12 08:42:44 +02:00
parent 8d46fc78ae
commit 6d57cd7fe1
5 changed files with 97 additions and 6 deletions
+2 -1
View File
@@ -44,7 +44,8 @@ if (isset($_GET['z'])) {
</td>
<td class="vil">
<span><?php echo TZ_VILLAGE; ?></span>
<input class="text" name="dname" value="<?php echo htmlspecialchars($form->getValue('dname'), ENT_QUOTES); ?>" maxlength="20" type="text">
<input class="text" name="dname" value="<?php echo htmlspecialchars($form->getValue('dname'), ENT_QUOTES); ?>" maxlength="20" type="text" list="dnameSuggest" autocomplete="off">
<?php include("Templates/villageAutocomplete.tpl"); ?>
</td>
</tr>
<tr>