feat: complete visual redesign of all item sheets + compact chat roll messages

- Rewrote _item.sass with unified layout: type-bar + dark header + stats pills + tabs
 - All 11 item templates converted to new pill-based stats bar
 - Chat roll message font sizes and padding compacted
 - Physical item partial rewritten as stat pills (QTY/WEIGHT/COST/TL)
 - Legacy itemsheet-header and itemsheet-maincol hidden
This commit is contained in:
2026-04-19 21:31:52 +02:00
parent d62d14c1da
commit df0a93d715
15 changed files with 978 additions and 679 deletions

View File

@@ -1,60 +1,60 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header">
<div class="item-type-bar">
{{#if (eq system.subType "loot")}}
<label>{{localize 'MGT2.ItemSubType.loot'}}</label>
<span class="item-type-label"><i class="fas fa-coins"></i> {{localize 'MGT2.ItemSubType.loot'}}</span>
{{else}}
<label>{{localize 'MGT2.ItemSubType.software'}}</label>
<span class="item-type-label"><i class="fas fa-floppy-disk"></i> {{localize 'MGT2.ItemSubType.software'}}</span>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.ItemSubType selected = system.subType localize = true}}
</select>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Type' }}</span>
<select name="system.subType" style="font-size:0.75rem;">
{{selectOptions config.ItemSubType selected=system.subType localize=true}}
</select>
</div>
<div class="flex-1">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</div>
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
{{#if hadContainer}}
<div class="field-groups mt-1">
{{#if (eq system.subType "software")}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Computer' }}</label>
<select name="system.software.computerId">
{{selectOptions computers selected=system.software.computerId valueAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id valueAttr="_id" labelAttr="name"}}
</select>
</div>
</div>
{{/if}}
</div>
<div class="tab" data-group="primary" data-tab="tab2">
{{#if hadContainer}}
<div class="field-groups">
{{#if (eq system.subType "software")}}
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Bandwidth' }}</label>
<input type="number" name="system.software.bandwidth" value="{{system.software.bandwidth}}" data-dtype="Number" />
<div class="field-group">
<label>{{ localize 'MGT2.Items.Computer' }}</label>
<select name="system.software.computerId">
{{selectOptions computers selected=system.software.computerId valueAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id valueAttr="_id" labelAttr="name"}}
</select>
</div>
</div>
{{/if}}
{{#if (eq system.subType "software")}}
<div class="field-group" style="margin-top:8px;">
<label>{{ localize 'MGT2.Items.Bandwidth' }}</label>
<input type="number" name="system.software.bandwidth" value="{{system.software.bandwidth}}" data-dtype="Number" />
</div>
{{/if}}
</div>
</div>
</div>