Header personnage : suppression Anomalie, attributs sur ligne initiative

- Suppression du bloc 'Anomalie' (type + valeur) du header
- Attributs (Entregent/Fortune/Rêve/Vision) fusionnés sur la même ligne
  que l'initiative via .header-stat commun
- CSS : remplacement .perso-attributs/.perso-attr par .header-stat unifié

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-03-29 16:55:15 +02:00
parent 70e297b48c
commit 569edd833d
2 changed files with 44 additions and 51 deletions

View File

@@ -4,44 +4,53 @@
.fvtt-celestopol.character { .fvtt-celestopol.character {
// Attributs perso (Entregent, Fortune, Rêve, Vision) // ── header-stats-row : initiative + attributs sur une seule ligne ──────────
.perso-attributs { .header-stats-row {
display: flex; display: flex;
gap: 8px;
flex-wrap: wrap; flex-wrap: wrap;
gap: 6px;
margin-top: 4px; margin-top: 4px;
align-items: flex-end;
}
.perso-attr { .header-stat {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
background: rgba(0,0,0,0.25); background: rgba(0,0,0,0.25);
border: 1px solid var(--cel-orange); border: 1px solid var(--cel-orange);
border-radius: 4px; border-radius: 4px;
padding: 4px 8px; padding: 3px 8px;
min-width: 60px; min-width: 54px;
label { label {
font-size: 0.6em; font-size: 0.58em;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.04em;
color: var(--cel-orange-light); color: var(--cel-orange-light);
white-space: nowrap;
} }
.attr-display, .attr-val, .attr-max { .stat-value, .attr-display {
color: var(--cel-orange); color: var(--cel-orange);
font-family: var(--cel-font-title); font-family: var(--cel-font-title);
font-size: 1em; font-size: 1.05em;
font-weight: bold; font-weight: bold;
line-height: 1.2;
} }
.attr-sep { color: rgba(196,154,26,0.5); margin: 0 1px; font-size: 0.85em; }
input.attr-val, input.attr-max { input.attr-val, input.attr-max {
width: 28px; width: 24px;
text-align: center; text-align: center;
background: transparent; background: transparent;
border: none; border: none;
border-bottom: 1px solid var(--cel-orange-light); border-bottom: 1px solid var(--cel-orange-light);
color: var(--cel-orange); color: var(--cel-orange);
} font-family: var(--cel-font-title);
font-size: 1em;
font-weight: bold;
} }
} }

View File

@@ -23,32 +23,16 @@
<label>{{localize "CELESTOPOL.Actor.initiative"}}</label> <label>{{localize "CELESTOPOL.Actor.initiative"}}</label>
<span class="stat-value">{{system.initiative}}</span> <span class="stat-value">{{system.initiative}}</span>
</div> </div>
<div class="header-stat anomaly">
<label>{{localize "CELESTOPOL.Actor.anomaly"}}</label>
{{#if isEditMode}}
<select name="system.anomaly.type">
{{#each anomalyTypes as |atype key|}}
<option value="{{key}}" {{#if (eq key ../system.anomaly.type)}}selected{{/if}}>{{localize atype.label}}</option>
{{/each}}
</select>
<input type="number" name="system.anomaly.value" value="{{system.anomaly.value}}" min="0" max="8" class="anomaly-value">
{{else}}
<span class="anomaly-type-display">{{localize (lookup (lookup anomalyTypes system.anomaly.type) 'label')}}</span>
{{/if}}
</div>
</div>
{{!-- Attributs personnage (Entregent, Fortune, Rêve, Vision) --}} {{!-- Attributs personnage (Entregent, Fortune, Rêve, Vision) --}}
<div class="perso-attributs">
{{#each system.attributs as |attr key|}} {{#each system.attributs as |attr key|}}
<div class="perso-attr"> <div class="header-stat perso-attr">
<label>{{localize (concat "CELESTOPOL.Attribut." key)}}</label> <label>{{localize (concat "CELESTOPOL.Attribut." key)}}</label>
{{#if ../isEditMode}} {{#if ../isEditMode}}
<input type="number" name="system.attributs.{{key}}.value" value="{{attr.value}}" min="0" class="attr-val"> <input type="number" name="system.attributs.{{key}}.value" value="{{attr.value}}" min="0" class="attr-val">
<span>/</span> <span class="attr-sep">/</span>
<input type="number" name="system.attributs.{{key}}.max" value="{{attr.max}}" min="0" class="attr-max"> <input type="number" name="system.attributs.{{key}}.max" value="{{attr.max}}" min="0" class="attr-max">
{{else}} {{else}}
<span class="attr-display">{{attr.value}} / {{attr.max}}</span> <span class="attr-display">{{attr.value}}<span class="attr-sep">/</span>{{attr.max}}</span>
{{/if}} {{/if}}
</div> </div>
{{/each}} {{/each}}