feat: input field saiz font No IC dalam konfigurasi template

- Tambah fields[name][ic_font_size] dalam form — baris: Warna | Saiz Font No IC | Align
- Default: 70% daripada saiz font nama (sebelum ini hardcode 50%)
- loadPreview() hantar ic_font_size terkini ke endpoint pratonton
- writeIcBelow() baca ic_font_size dari config, fallback 70% jika tiada
- Validasi updateConfig: ic_font_size nullable|integer|min:8|max:200

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Saufi
2026-05-18 22:18:18 +08:00
parent 12aea2cbff
commit f39eca4b1c
3 changed files with 17 additions and 8 deletions

View File

@@ -175,6 +175,12 @@
class="form-control form-control-color form-control-sm"
value="{{ $fields['name']['font_color'] ?? '#1a3a6b' }}">
</div>
<div class="col-4">
<label class="form-label small">Saiz Font No IC</label>
<input type="number" name="fields[name][ic_font_size]"
class="form-control form-control-sm" min="8" max="200"
value="{{ $fields['name']['ic_font_size'] ?? (int) round(($fields['name']['font_size'] ?? 52) * 0.7) }}">
</div>
<div class="col-4">
<label class="form-label small">Align</label>
<select name="fields[name][align]" class="form-select form-select-sm">
@@ -374,11 +380,12 @@ function loadPreview() {
// Hantar nilai form semasa — preview guna koordinat terkini walaupun belum simpan
const read = (sel) => document.querySelector(sel)?.value ?? '';
fd.append('fields[name][x]', read('[name="fields[name][x]"]'));
fd.append('fields[name][y]', read('[name="fields[name][y]"]'));
fd.append('fields[name][font_size]', read('[name="fields[name][font_size]"]'));
fd.append('fields[name][font_color]', read('[name="fields[name][font_color]"]'));
fd.append('fields[name][align]', read('[name="fields[name][align]"]'));
fd.append('fields[name][x]', read('[name="fields[name][x]"]'));
fd.append('fields[name][y]', read('[name="fields[name][y]"]'));
fd.append('fields[name][font_size]', read('[name="fields[name][font_size]"]'));
fd.append('fields[name][font_color]', read('[name="fields[name][font_color]"]'));
fd.append('fields[name][ic_font_size]', read('[name="fields[name][ic_font_size]"]'));
fd.append('fields[name][align]', read('[name="fields[name][align]"]'));
// Sertakan No. Sijil hanya jika toggle aktif
if (document.getElementById('showCertNo')?.checked) {