fix(templates): complete revision of actor templates to remove duplicates and fix inconsistencies

- Fixed grid-2 to grid-2col CSS class usage
- Replaced improper <p><a> tags with <div><a> in item lists (actor-weapons, actor-defenses, group-items, group-vehicles)
- Fixed typos: smarttlk -> smarttl, compétence -> Compétence
- Fixed duplicate class attributes
- Standardized HTML comments to Handlebars comments ({{!-- --}})
- Added missing localizations for Character and Skills headers
- Removed orphan {{/if}} tag in character-id.hbs
- Created npc-skill-category.hbs partial to eliminate 150+ lines of duplicated skill category code in actor-npc-sheet.hbs
- Created item-list.hbs partial for reusable item list display
- Fixed html.find(...).forEach error in roll.mjs by ensuring jQuery object
- Added .history/ to .gitignore

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-06-04 22:58:46 +02:00
parent 30d6f71fc7
commit 3db03f5159
20 changed files with 486 additions and 146 deletions
+4 -4
View File
@@ -35,10 +35,10 @@
</div>
<a title="Edit Item">{{item.name}}</a>
</div>
<p><a title="Edit Item">{{item.system.level}}</a></p>
<p><a title="Edit Item">{{item.system.mobility}}</a></p>
<p><a title="Edit Item">{{item.system.rarity.value}}</a></p>
<p><a title="Edit Item">{{item.system.reliability}}</a></p>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.level}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.mobility}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.rarity.value}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.reliability}}</a></div>
<div class="item-controls">
<a
class="item-control item-delete"
+11 -9
View File
@@ -48,14 +48,16 @@
{{/if}}
</div>
<p><a
class="item-control item-edit"
title="Edit Item"
>{{item.system.quantity}}</a></p>
<p><a
class="item-control item-edit"
title="Edit Item"
>{{item.system.weight}}</a></p>
<div>
<a class="item-control item-edit" title="Edit Item">
{{item.system.quantity}}
</a>
</div>
<div>
<a class="item-control item-edit" title="Edit Item">
{{item.system.weight}}
</a>
</div>
<div class="item-controls">
<a
class="item-control item-delete"
@@ -72,7 +74,7 @@
button=true owner=owner editable=editable}}
</div>
</div>
<div class="grid grid-2">
<div class="grid grid-2col">
<div class="weapons">
<h4>{{localize 'ITEMS.weapons'}}</h4>
{{> "systems/vermine2047/templates/actor/parts/actor-weapons.hbs"}}
+7 -7
View File
@@ -22,18 +22,18 @@
</div>
<a class="item-control item-roll">{{item.name}}</a>
</div>
<p><a>{{item.system.min_range}} /
{{item.system.max_range}}</a></p>
<p><a>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.min_range}} /
{{item.system.max_range}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">
{{#if item.system.damage.addVigor}}
vigueur+
{{/if}}
{{item.system.damage.value}}
({{item.system.damage.type}})
</a></p>
<p><a>{{item.system.ammo}}</a></p>
<p><a>{{item.system.rarity}}</a></p>
<p><a>{{item.system.reliability}}</a></p>
</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.ammo}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.rarity}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.reliability}}</a></div>
<div class="item-controls">
<a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a>
+32
View File
@@ -0,0 +1,32 @@
{{!-- Generic Item List Partial --}}
{{!-- Usage: --}}
{{!-- itemType - the localization key for the item type (e.g., 'ITEMS.abilities') --}}
{{!-- items - the array of items to display --}}
{{!-- createType - the data-type for creating new items --}}
{{!-- showSkill - whether to show skill association (for specialties) --}}
<h4>
<span>{{localize itemType}}</span>
<a class="item-control item-create" title="{{ localize 'UI.add' }}" data-type="{{createType}}">
<i class="fas fa-plus"></i>
</a>
</h4>
<ol class="list-item">
{{#each items as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<a class="item-control item-edit" title="{{ localize 'UI.effect_edit' }}">{{item.name}}</a>
{{#if showSkill}}
<span data-tooltip="{{ localize 'VERMINE.skill' }}">{{item.system.skill}}</span>
{{/if}}
</div>
<div class="item-controls flexrow">
{{#if item.system.description}}
<i class="fas fa-circle-question" data-tooltip="{{item.system.description}}"></i>
{{/if}}
<a class="item-control item-delete" title="{{ localize 'UI.effect_delete' }}">
<i class="fas fa-trash"></i>
</a>
</div>
</li>
{{/each}}
</ol>
@@ -0,0 +1,11 @@
{{!-- Skill Category Partial for NPC Sheet --}}
<div class="skill-category">
<h4>{{ localize categoryLabel }}</h4>
<div class="grid grid-2col">
{{#each system.skills as |skill key|}}
{{#ife skill.category categoryKey}}
{{> "systems/vermine2047/templates/actor/parts/npc-skill-item.hbs" skill=skill key=key}}
{{/ife}}
{{/each}}
</div>
</div>