Refactor styling of sidebar resources (#2050)
Some checks are pending
Project CI / build (24.x) (push) Waiting to run

This commit is contained in:
Carlos Fernandez 2026-07-01 07:39:16 -04:00 committed by GitHub
parent 70388dbd73
commit 1af86d87bb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 767 additions and 1039 deletions

View file

@ -1,152 +1,152 @@
<aside class="character-sidebar-sheet">
<div class="portrait {{#if isDeath}}death-roll{{/if}}">
<img src="{{document.img}}" alt="{{document.name}}" data-action='editImage' data-edit="img">
<a class="death-roll-btn" data-tooltip="DAGGERHEART.UI.Tooltip.makeDeathMove" {{#if
isDeath}}data-action="makeDeathMove" {{/if}}><i class="fa-solid fa-skull death-save"></i></a>
</div>
<div class="info-section {{#if useResourcePips}}pip-display{{/if}}">
<div class="resources-section">
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=resources.hitPoints label="DAGGERHEART.GENERAL.HitPoints.short" key="system.resources.hitPoints.value" action="toggleHitPoints" }}
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=resources.stress label="DAGGERHEART.GENERAL.stress" key="system.resources.stress.value" action="toggleStress" }}
</div>
<div class="status-section {{#if useResourcePips}}pip-display{{/if}}">
<div class="status-number">
<div class='status-value'>
<p>{{document.system.evasion}}</p>
</div>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.evasion"}}</h4>
</div>
</div>
{{#if document.system.armorScore.max}}
<div class="status-bar armor-slots">
{{#if useResourcePips}}
<div class='slot-value'>
<div class="slot-bar">
{{#times document.system.armorScore.max}}
<a class='armor-slot' data-action='toggleArmor' data-value="{{add this 1}}">
{{#if (gte ../document.system.armorScore.value (add this 1))}}
<i class="fa-solid fa-shield"></i>
{{else}}
<i class="fa-solid fa-shield-halved"></i>
{{/if}}
</a>
{{/times}}
</div>
<a class="slot-label" data-action="toggleArmorMangement" {{disabled (not @root.editable)}}>
<span class="label">{{localize "DAGGERHEART.GENERAL.armorSlots"}}</span>
<div class="slot-value-container">
<span class="value">{{document.system.armorScore.value}} / {{document.system.armorScore.max}}</span>
{{#if @root.editable}}<i class="fa-solid fa-gear" inert></i>{{/if}}
</div>
</a>
</div>
{{else}}
<div class='status-value'>
<input class="bar-input armor-marks-input" value="{{document.system.armorScore.value}}" type="number" id="{{document.uuid}}-armor-slots">
<span>/</span>
<span class="bar-label">{{document.system.armorScore.max}}</span>
</div>
<progress
class='progress-bar stress-color'
value='{{document.system.armorScore.value}}'
max='{{document.system.armorScore.max}}'
></progress>
<a class="status-label" data-action="toggleArmorMangement" {{disabled (not @root.editable)}}>
<h4>{{localize "DAGGERHEART.GENERAL.armorSlots"}}</h4>
{{#if @root.editable}}<i class="fa-solid fa-gear" inert></i>{{/if}}
</a>
{{/if}}
</div>
{{else}}
<div class="status-number armor-slots">
<div class='status-value'>
<p>-</p>
</div>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.armorSlots"}}</h4>
</div>
</div>
{{/if}}
<div class="status-number">
<div class='status-value'>
<p>{{document.system.proficiency}}</p>
</div>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.proficiency"}}</h4>
</div>
</div>
</div>
<div class="threshold-section">
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.minor"}}</h4>
<h4 class="threshold-value">{{document.system.damageThresholds.major}}</h4>
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.major"}}</h4>
<h4 class="threshold-value">{{document.system.damageThresholds.severe}}</h4>
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.severe"}}</h4>
</div>
</div>
<div class="shortcut-items-section">
<div class="equipment-section">
<div class="title">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.GENERAL.equipment"}}</h3>
<side-line-div></side-line-div>
</div>
<ul class="items-sidebar-list">
{{#if document.system.usedUnarmed}}
{{> 'daggerheart.inventory-item-compact'
item=document.system.usedUnarmed
type='attack'
}}
{{/if}}
{{#each equippedItems as |item|}}
{{> 'daggerheart.inventory-item-compact'
item=item
type=item.type
}}
{{/each}}
</ul>
</div>
<div class="loadout-section">
<div class="title">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.GENERAL.loadout"}}</h3>
<side-line-div></side-line-div>
</div>
<ul class="items-sidebar-list">
{{#each document.system.domainCards.loadout as |card|}}
{{> 'daggerheart.inventory-item-compact'
item=card
type='domainCard'
}}
{{/each}}
</ul>
</div>
<div class="experience-section">
<div class="title">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.GENERAL.experience.single"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="experience-list">
{{#each document.system.experiences as |experience id|}}
<div class="experience-row" data-tooltip-text="{{experience.description}}">
<span class="experience-value">
{{numberFormat experience.value sign=true}}
</span>
<span class="experience-name">{{experience.name}}</span>
<div class="controls">
<a data-action="sendExpToChat" data-type="experience" data-id="{{id}}">
<i class="fa-regular fa-message"></i>
</a>
</div>
</div>
{{/each}}
</div>
</div>
</div>
<aside class="character-sidebar-sheet">
<div class="portrait {{#if isDeath}}death-roll{{/if}}">
<img src="{{document.img}}" alt="{{document.name}}" data-action='editImage' data-edit="img">
<a class="death-roll-btn" data-tooltip="DAGGERHEART.UI.Tooltip.makeDeathMove" {{#if
isDeath}}data-action="makeDeathMove" {{/if}}><i class="fa-solid fa-skull death-save"></i></a>
</div>
<div class="info-section {{#if useResourcePips}}pip-display{{/if}}">
<div class="resources-section">
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=resources.hitPoints label="DAGGERHEART.GENERAL.HitPoints.short" key="system.resources.hitPoints.value" action="toggleHitPoints" }}
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=resources.stress label="DAGGERHEART.GENERAL.stress" key="system.resources.stress.value" action="toggleStress" }}
</div>
<div class="status-section {{#if useResourcePips}}pip-display{{/if}}">
<div class="status-number">
<div class='status-value'>
<p>{{document.system.evasion}}</p>
</div>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.evasion"}}</h4>
</div>
</div>
{{#if document.system.armorScore.max}}
<div class="status-bar armor-slots">
{{#if useResourcePips}}
<div class='slot-value'>
<div class="slot-bar armor">
{{#times document.system.armorScore.max}}
<a class="slot" data-action="toggleArmor" data-value="{{add this 1}}">
{{#if (gte ../document.system.armorScore.value (add this 1))}}
<i class="fa-solid fa-shield"></i>
{{else}}
<i class="fa-solid fa-shield-halved"></i>
{{/if}}
</a>
{{/times}}
</div>
<a class="slot-label" data-action="toggleArmorMangement" {{disabled (not @root.editable)}}>
<span class="label">{{localize "DAGGERHEART.GENERAL.armorSlots"}}</span>
<div class="slot-value-container">
<span class="value">{{document.system.armorScore.value}} / {{document.system.armorScore.max}}</span>
{{#if @root.editable}}<i class="fa-solid fa-gear" inert></i>{{/if}}
</div>
</a>
</div>
{{else}}
<div class='status-value'>
<progress
class='progress-bar stress-color'
value='{{document.system.armorScore.value}}'
max='{{document.system.armorScore.max}}'
></progress>
<input class="bar-input armor-marks-input" value="{{document.system.armorScore.value}}" type="number" id="{{document.uuid}}-armor-slots">
<span>/</span>
<span class="bar-label">{{document.system.armorScore.max}}</span>
</div>
<a class="status-label" data-action="toggleArmorMangement" {{disabled (not @root.editable)}}>
<h4>{{localize "DAGGERHEART.GENERAL.armorSlots"}}</h4>
{{#if @root.editable}}<i class="fa-solid fa-gear" inert></i>{{/if}}
</a>
{{/if}}
</div>
{{else}}
<div class="status-number armor-slots">
<div class='status-value'>
<p>-</p>
</div>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.armorSlots"}}</h4>
</div>
</div>
{{/if}}
<div class="status-number">
<div class='status-value'>
<p>{{document.system.proficiency}}</p>
</div>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.proficiency"}}</h4>
</div>
</div>
</div>
<div class="threshold-section">
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.minor"}}</h4>
<h4 class="threshold-value">{{document.system.damageThresholds.major}}</h4>
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.major"}}</h4>
<h4 class="threshold-value">{{document.system.damageThresholds.severe}}</h4>
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.severe"}}</h4>
</div>
</div>
<div class="shortcut-items-section">
<div class="equipment-section">
<div class="title">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.GENERAL.equipment"}}</h3>
<side-line-div></side-line-div>
</div>
<ul class="items-sidebar-list">
{{#if document.system.usedUnarmed}}
{{> 'daggerheart.inventory-item-compact'
item=document.system.usedUnarmed
type='attack'
}}
{{/if}}
{{#each equippedItems as |item|}}
{{> 'daggerheart.inventory-item-compact'
item=item
type=item.type
}}
{{/each}}
</ul>
</div>
<div class="loadout-section">
<div class="title">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.GENERAL.loadout"}}</h3>
<side-line-div></side-line-div>
</div>
<ul class="items-sidebar-list">
{{#each document.system.domainCards.loadout as |card|}}
{{> 'daggerheart.inventory-item-compact'
item=card
type='domainCard'
}}
{{/each}}
</ul>
</div>
<div class="experience-section">
<div class="title">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.GENERAL.experience.single"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="experience-list">
{{#each document.system.experiences as |experience id|}}
<div class="experience-row" data-tooltip-text="{{experience.description}}">
<span class="experience-value">
{{numberFormat experience.value sign=true}}
</span>
<span class="experience-name">{{experience.name}}</span>
<div class="controls">
<a data-action="sendExpToChat" data-type="experience" data-id="{{id}}">
<i class="fa-regular fa-message"></i>
</a>
</div>
</div>
{{/each}}
</div>
</div>
</div>
</aside>

View file

@ -1,191 +1,191 @@
<section
class='tab {{tabs.partyMembers.cssClass}} {{tabs.partyMembers.id}}'
data-tab='{{tabs.partyMembers.id}}'
data-group='{{tabs.partyMembers.group}}'
>
<div class="actions-section">
<button data-action="tagTeamRoll" class="{{#if tagTeamActive}}active-action{{/if}}">
<i class="fa-solid fa-user-group"></i>
<span>{{localize "DAGGERHEART.APPLICATIONS.TagTeamSelect.title"}}</span>
</button>
<button data-action="groupRoll" class="{{#if groupRollActive}}active-action{{/if}}">
<i class="fa-solid fa-users"></i>
<span>{{localize "DAGGERHEART.APPLICATIONS.GroupRollSelect.title"}}</span>
</button>
<button data-action="triggerRest" data-action="triggerRest" data-type="shortRest">
<i class="fa-solid fa-utensils"></i>
<span>{{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}</span>
</button>
<button data-action="triggerRest" data-type="longRest">
<i class="fa-solid fa-bed"></i>
<span>{{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}</span>
</button>
</div>
{{#if @root.showStats}}
<ul class="actors-list">
{{#each partyMembers as |member id|}}
<li class="actor-resources">
<div class="actor-img-frame">
<img class="actor-img" src="{{member.img}}">
{{#if member.weapons}}
<div class="equipped-weapons">
{{#each member.weapons as |weapon|}}
<img src="{{weapon.img}}" data-tooltip="{{weapon.name}}"/>
{{/each}}
</div>
{{/if}}
{{#if member.evasion includeZero=true}}
<div class="evasion" data-tooltip="DAGGERHEART.GENERAL.evasion">{{member.evasion}}</div>
{{/if}}
{{#if member.difficulty includeZero=true}}
<div class="evasion" data-tooltip="DAGGERHEART.GENERAL.difficulty">{{member.difficulty}}</div>
{{/if}}
{{#unless (or (eq member.type 'companion') (eq member.type 'npc'))}}
<div class="threshold-section">
<h4 class="threshold-label">{{localize "DAGGERHEART.ACTORS.Party.Thresholds.minor"}}</h4>
<h4 class="threshold-value">{{member.damageThresholds.major}}</h4>
<h4 class="threshold-label">{{localize "DAGGERHEART.ACTORS.Party.Thresholds.major"}}</h4>
<h4 class="threshold-value">{{member.damageThresholds.severe}}</h4>
<h4 class="threshold-label">{{localize "DAGGERHEART.ACTORS.Party.Thresholds.severe"}}</h4>
</div>
{{/unless}}
</div>
<header>
<h2 class="actor-name">
<a data-action="openDocument" data-uuid="{{member.uuid}}">{{member.name}}</a>
<a class="delete-icon" data-action="deletePartyMember" data-uuid="{{member.uuid}}"><i class="fa-regular fa-times" inert></i></a>
</h2>
<div>
{{#unless (or (eq member.type 'companion') (eq member.type 'adversary') (eq member.type 'npc')) }}
<div class="hope-section">
<h4>{{localize "DAGGERHEART.GENERAL.hope"}}</h4>
{{#times member.resources.hope.max}}
<span class='hope-value' data-action='toggleHope' data-actor-id="{{member.uuid}}" data-value="{{add this 1}}">
{{#if (gte member.resources.hope.value (add this 1))}}
<i class='fa-solid fa-diamond'></i>
{{else}}
<i class='fa-regular fa-circle'></i>
{{/if}}
</span>
{{/times}}
</div>
{{/unless}}
</div>
{{#if member.subtitle}}
<span class="subtitle">{{member.subtitle}}</span>
{{/if}}
</header>
<section class="body">
<section class="resources">
{{#unless (or (eq member.type 'companion') (eq member.type 'npc')) }}
<div class="slot-section">
<div class="slot-label" data-tooltip="DAGGERHEART.GENERAL.HitPoints.plural">
<span class="label">
<i class="fa-solid fa-heart" inert></i>
</span>
<span class="value">
<span class="current">{{member.resources.hitPoints.value}}</span>
/
<span class="max">{{member.resources.hitPoints.max}}</span>
</span>
</div>
<div class="slot-bar">
{{#times member.resources.hitPoints.max}}
<span class='slot {{#if (gte member.resources.hitPoints.value (add this 1))}}filled{{/if}}'
data-action='toggleHitPoints' data-actor-id="{{member.uuid}}" data-value="{{add this 1}}">
</span>
{{/times}}
</div>
</div>
{{/unless}}
{{#unless (eq member.type 'npc')}}
<div class="slot-section">
<div class="slot-label" data-tooltip="DAGGERHEART.GENERAL.stress">
<span class="label">
<i class="fa-solid fa-bolt" inert></i>
</span>
<span class="value">
<span class="current">{{member.resources.stress.value}}</span>
/
<span class="max">{{member.resources.stress.max}}</span>
</span>
</div>
<div class="slot-bar">
{{#times member.resources.stress.max}}
<span class='slot {{#if (gte member.resources.stress.value (add this 1))}}filled{{/if}}'
data-action='toggleStress' data-actor-id="{{member.uuid}}" data-value="{{add this 1}}">
</span>
{{/times}}
</div>
</div>
{{/unless}}
{{#if member.armorScore.max}}
<div class="slot-section">
<div class="slot-label" data-tooltip="DAGGERHEART.GENERAL.armorSlots">
<span class="label">
<i class="fa-solid fa-shield" inert></i>
</span>
<span class="value">
<span class="current">{{member.armorScore.value}}</span>
/
<span class="max">{{member.armorScore.max}}</span>
</span>
</div>
<div class="slot-bar">
{{#times member.armorScore.max}}
<a class='armor-slot' data-action='toggleArmorSlot' data-actor-id="{{member.uuid}}" data-value="{{add this 1}}">
{{#if (gte member.armorScore.value (add this 1))}}
<i class="fa-solid fa-shield"></i>
{{else}}
<i class="fa-solid fa-shield-halved"></i>
{{/if}}
</a>
{{/times}}
</div>
</div>
{{/if}}
</section>
{{#if member.traits}}
<div class="traits">
{{#each member.traits as |trait|}}
<span class="trait">
<span class="label">{{trait.label}}</span>
<span class="value">{{trait.value}}</span>
</span>
{{/each}}
</div>
{{/if}}
</section>
</li>
{{/each}}
</ul>
{{else}}
<ul class="actors-list limited">
{{#each partyMembers as |member id|}}
<li class="actor-resources">
<div class="actor-img-frame">
<img class="actor-img" src="{{member.img}}">
</div>
<header>
<h2 class="actor-name">
<a data-action="openDocument" data-uuid="{{member.uuid}}">{{member.name}}</a>
<a class="delete-icon" data-action="deletePartyMember" data-uuid="{{member.uuid}}"><i class="fa-regular fa-times" inert></i></a>
</h2>
{{#if member.subtitle}}
<span class="subtitle">{{member.subtitle}}</span>
{{/if}}
</header>
</li>
{{/each}}
</ul>
{{/if}}
{{#unless document.system.partyMembers.length}}
<div class="actors-dragger">
<span>{{localize "DAGGERHEART.GENERAL.dropActorsHere"}}</span>
</div>
{{/unless}}
</section>
<section
class='tab {{tabs.partyMembers.cssClass}} {{tabs.partyMembers.id}}'
data-tab='{{tabs.partyMembers.id}}'
data-group='{{tabs.partyMembers.group}}'
>
<div class="actions-section">
<button data-action="tagTeamRoll" class="{{#if tagTeamActive}}active-action{{/if}}">
<i class="fa-solid fa-user-group"></i>
<span>{{localize "DAGGERHEART.APPLICATIONS.TagTeamSelect.title"}}</span>
</button>
<button data-action="groupRoll" class="{{#if groupRollActive}}active-action{{/if}}">
<i class="fa-solid fa-users"></i>
<span>{{localize "DAGGERHEART.APPLICATIONS.GroupRollSelect.title"}}</span>
</button>
<button data-action="triggerRest" data-action="triggerRest" data-type="shortRest">
<i class="fa-solid fa-utensils"></i>
<span>{{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}</span>
</button>
<button data-action="triggerRest" data-type="longRest">
<i class="fa-solid fa-bed"></i>
<span>{{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}</span>
</button>
</div>
{{#if @root.showStats}}
<ul class="actors-list">
{{#each partyMembers as |member id|}}
<li class="actor-resources">
<div class="actor-img-frame">
<img class="actor-img" src="{{member.img}}">
{{#if member.weapons}}
<div class="equipped-weapons">
{{#each member.weapons as |weapon|}}
<img src="{{weapon.img}}" data-tooltip="{{weapon.name}}"/>
{{/each}}
</div>
{{/if}}
{{#if member.evasion includeZero=true}}
<div class="evasion" data-tooltip="DAGGERHEART.GENERAL.evasion">{{member.evasion}}</div>
{{/if}}
{{#if member.difficulty includeZero=true}}
<div class="evasion" data-tooltip="DAGGERHEART.GENERAL.difficulty">{{member.difficulty}}</div>
{{/if}}
{{#unless (or (eq member.type 'companion') (eq member.type 'npc'))}}
<div class="threshold-section">
<h4 class="threshold-label">{{localize "DAGGERHEART.ACTORS.Party.Thresholds.minor"}}</h4>
<h4 class="threshold-value">{{member.damageThresholds.major}}</h4>
<h4 class="threshold-label">{{localize "DAGGERHEART.ACTORS.Party.Thresholds.major"}}</h4>
<h4 class="threshold-value">{{member.damageThresholds.severe}}</h4>
<h4 class="threshold-label">{{localize "DAGGERHEART.ACTORS.Party.Thresholds.severe"}}</h4>
</div>
{{/unless}}
</div>
<header>
<h2 class="actor-name">
<a data-action="openDocument" data-uuid="{{member.uuid}}">{{member.name}}</a>
<a class="delete-icon" data-action="deletePartyMember" data-uuid="{{member.uuid}}"><i class="fa-regular fa-times" inert></i></a>
</h2>
<div>
{{#unless (or (eq member.type 'companion') (eq member.type 'adversary') (eq member.type 'npc')) }}
<div class="hope-section">
<h4>{{localize "DAGGERHEART.GENERAL.hope"}}</h4>
{{#times member.resources.hope.max}}
<span class='hope-value' data-action='toggleHope' data-actor-id="{{member.uuid}}" data-value="{{add this 1}}">
{{#if (gte member.resources.hope.value (add this 1))}}
<i class='fa-solid fa-diamond'></i>
{{else}}
<i class='fa-regular fa-circle'></i>
{{/if}}
</span>
{{/times}}
</div>
{{/unless}}
</div>
{{#if member.subtitle}}
<span class="subtitle">{{member.subtitle}}</span>
{{/if}}
</header>
<section class="body">
<section class="resources">
{{#unless (or (eq member.type 'companion') (eq member.type 'npc')) }}
<div class="slot-section">
<div class="slot-label" data-tooltip="DAGGERHEART.GENERAL.HitPoints.plural">
<span class="label">
<i class="fa-solid fa-heart" inert></i>
</span>
<span class="value">
<span class="current">{{member.resources.hitPoints.value}}</span>
/
<span class="max">{{member.resources.hitPoints.max}}</span>
</span>
</div>
<div class="slot-bar">
{{#times member.resources.hitPoints.max}}
<span class='slot {{#if (gte member.resources.hitPoints.value (add this 1))}}filled{{/if}}'
data-action='toggleHitPoints' data-actor-id="{{member.uuid}}" data-value="{{add this 1}}">
</span>
{{/times}}
</div>
</div>
{{/unless}}
{{#unless (eq member.type 'npc')}}
<div class="slot-section">
<div class="slot-label" data-tooltip="DAGGERHEART.GENERAL.stress">
<span class="label">
<i class="fa-solid fa-bolt" inert></i>
</span>
<span class="value">
<span class="current">{{member.resources.stress.value}}</span>
/
<span class="max">{{member.resources.stress.max}}</span>
</span>
</div>
<div class="slot-bar">
{{#times member.resources.stress.max}}
<span class='slot {{#if (gte member.resources.stress.value (add this 1))}}filled{{/if}}'
data-action='toggleStress' data-actor-id="{{member.uuid}}" data-value="{{add this 1}}">
</span>
{{/times}}
</div>
</div>
{{/unless}}
{{#if member.armorScore.max}}
<div class="slot-section">
<div class="slot-label" data-tooltip="DAGGERHEART.GENERAL.armorSlots">
<span class="label">
<i class="fa-solid fa-shield" inert></i>
</span>
<span class="value">
<span class="current">{{member.armorScore.value}}</span>
/
<span class="max">{{member.armorScore.max}}</span>
</span>
</div>
<div class="slot-bar armor">
{{#times member.armorScore.max}}
<a class="slot" data-action="toggleArmorSlot" data-actor-id="{{member.uuid}}" data-value="{{add this 1}}">
{{#if (gte member.armorScore.value (add this 1))}}
<i class="fa-solid fa-shield"></i>
{{else}}
<i class="fa-solid fa-shield-halved"></i>
{{/if}}
</a>
{{/times}}
</div>
</div>
{{/if}}
</section>
{{#if member.traits}}
<div class="traits">
{{#each member.traits as |trait|}}
<span class="trait">
<span class="label">{{trait.label}}</span>
<span class="value">{{trait.value}}</span>
</span>
{{/each}}
</div>
{{/if}}
</section>
</li>
{{/each}}
</ul>
{{else}}
<ul class="actors-list limited">
{{#each partyMembers as |member id|}}
<li class="actor-resources">
<div class="actor-img-frame">
<img class="actor-img" src="{{member.img}}">
</div>
<header>
<h2 class="actor-name">
<a data-action="openDocument" data-uuid="{{member.uuid}}">{{member.name}}</a>
<a class="delete-icon" data-action="deletePartyMember" data-uuid="{{member.uuid}}"><i class="fa-regular fa-times" inert></i></a>
</h2>
{{#if member.subtitle}}
<span class="subtitle">{{member.subtitle}}</span>
{{/if}}
</header>
</li>
{{/each}}
</ul>
{{/if}}
{{#unless document.system.partyMembers.length}}
<div class="actors-dragger">
<span>{{localize "DAGGERHEART.GENERAL.dropActorsHere"}}</span>
</div>
{{/unless}}
</section>

View file

@ -1,35 +1,35 @@
<div class="status-bar">
{{#if useResourcePips}}
<div class='slot-value'>
<div class="slot-bar">
{{#times resource.max}}
<span class='slot {{#if (gte ../resource.value (add this 1))}}filled{{/if}} {{#if ../largePips}}large{{/if}}' data-action="{{../action}}" data-value="{{add this 1}}">
</span>
{{/times}}
{{#times resource.emptyPips}}
<span class="empty-slot"></span>
{{/times}}
</div>
<div class="slot-label">
<span class="label">{{localize label}}</span>
<span class="value">{{resource.value}} / {{resource.max}}</span>
</div>
{{#if useResourcePips}}
<div class="slot-value">
<div class="slot-bar">
{{#times resource.max}}
<span class='slot {{#if (gte ../resource.value (add this 1))}}filled{{/if}} {{#if ../largePips}}large{{/if}}' data-action="{{../action}}" data-value="{{add this 1}}">
</span>
{{/times}}
{{#times resource.emptyPips}}
<span class="empty-slot"></span>
{{/times}}
</div>
{{else}}
<div class="slot-label">
<span class="label">{{localize label}}</span>
<span class="value">{{resource.value}} / {{resource.max}}</span>
</div>
</div>
{{else}}
<div class="status-bar">
<div class='status-value'>
<progress
class='progress-bar'
max='{{resource.max}}'
value='{{resource.value}}'
></progress>
<input class="bar-input" name="{{key}}" min="0" max='{{resource.max}}'
value="{{resource.value}}" type="number">
<span>/</span>
<span class="bar-label">{{resource.max}}</span>
</div>
<progress
class='progress-bar'
max='{{resource.max}}'
value='{{resource.value}}'
></progress>
<div class="status-label">
<div class="status-label pointy">
<h4>{{localize label}}</h4>
</div>
{{/if}}
</div>
</div>
{{/if}}

View file

@ -3,9 +3,9 @@
{{#each sources as |source|}}
<div class="armor-source-container">
<p class="armor-source-label">{{source.name}}</p>
<div class="slot-bar">
<div class="slot-bar armor">
{{#times source.max}}
<a class='armor-slot' data-value="{{add this 1}}" data-uuid="{{source.uuid}}">
<a class="slot" data-value="{{add this 1}}" data-uuid="{{source.uuid}}">
{{#if (gte ../current (add this 1))}}
<i class="fa-solid fa-shield" data-index="{{this}}"></i>
{{else}}