updates styling of advantage and skill sheets

feature/meta
macniel 2025-10-09 21:06:39 +02:00
parent 92218e9adc
commit a8d4c594f5
8 changed files with 171 additions and 38 deletions

View File

@ -34,7 +34,13 @@ export class VornachteilSheet extends ItemSheet {
// Add the actor's data to context.data for easier access, as well as flags.
context.system = advantageData.system;
context.flags = advantageData.flags;
context.json = JSON.stringify(advantageData.system, null, 4);
context.choices = {}
context.system.auswahl.forEach(a => {
context.choices[a] = a
})
context.hasChoices = context.system.auswahl.length > 0;
context.hasModality = context.system.value == null
return context;
}
@ -43,7 +49,7 @@ export class VornachteilSheet extends ItemSheet {
super.activateListeners(html);
// Everything below here is only needed if the sheet is editable
if (!this.isEditable) return;
if (!this.isEditable)
}
}

View File

@ -0,0 +1,48 @@
.dsa41.sheet.item.advantage {
.sheet-body {
padding: 8px;
}
.tab.advantage.active {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 48px 1fr;
gap: 8px;
height: 100%;
div {
label {
width: 100%;
display: inline-block;
}
input {
width: 100%;
display: inline-block;
}
}
.body {
grid-column: 1/3;
display: flex;
flex-direction: column;
height: 100%;
label {
flex: 0;
}
.editor {
flex: 1;
border: 1px inset #ccc;
background-color: rgba(0, 0, 0, 0.2);
}
}
}
}

View File

@ -6,7 +6,6 @@
.sheet-body {
position: relative;
top: 5px;
.tab.active {
padding: 4px;

View File

@ -0,0 +1,51 @@
.sheet.item.skill {
.tab.meta.active {
display: grid;
grid-template-areas:
"category category category"
"taw statistics ebe"
"language language language"
"attack attack attack";
gap: 8px;
margin: 8px;
.category {
grid-area: category;
}
.taw {
grid-area: taw;
}
.statistics {
grid-area: statistics;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto 1fr;
.statistics > label {
grid-column: 1/4;
text-align: center;
}
}
.ebe {
grid-area: ebe;
}
.language-statistics {
grid-area: language;
}
.attack-statistics {
grid-area: attack;
display: flex;
flex-direction: row;
}
}
}

View File

@ -11,4 +11,6 @@
@use "_player-action";
@use "_modify-liturgy";
@use "_liturgy-banner";
@use "_talent-sheet";
@use "_active-effect-sheet";
@use "_advantage-sheet";

View File

@ -113,7 +113,8 @@
],
"arrayFields": [
"talente",
"zauber"
"zauber",
"heldenausruestung"
]
}
},

View File

@ -2,13 +2,34 @@
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" style="flex: 0" data-group="primary">
<a class="item" data-tab="json">JSON</a>
<a class="item" data-tab="advantage">Vorteil</a>
</nav>
{{!-- Sheet Body --}}
<section class="sheet-body" style="flex: 1">
<div class="tab json" data-group="primary" data-tab="json">
<pre style="overflow: auto; white-space: normal; position: relative; top: 8px; bottom: 8px; left: 8px; right: 8px">{{json}}</pre>
<div class="tab advantage {{#if hasModality}}modality{{/if}}" data-group="primary" data-tab="advantage">
<div>
<label>Name</label>
<input name="item.name" value="{{item.name}}"/>
</div>
{{#if hasModality}}
<div>
<label>Auswahl</label>
{{#if hasChoices}}
<select name="system.gruppe">
{{selectOptions choices selected=system.auswahl inverted=true}}
</select>
{{else}}
<input name="actor.system.value" value="{{actor.system.value}}"/>
{{/if}}
</div>
{{/if}}
<div class="body">
<label>Beschreibung</label>
{{editor system.description target="system.description" button=true owner=owner editable=editable}}
</div>
</div>
</section>
</form>

View File

@ -10,57 +10,62 @@
<section class="sheet-body" style="flex: 1">
<div class="tab meta" data-group="primary" data-tab="meta">
<div>
<div class="category">
<label>Kategorie
<select name="system.gruppe">
{{selectOptions categoryOptions selected=system.gruppe inverted=true}}
</select>
</label>
</div>
<div>
<div class="taw">
<label>TAW:
<input type="text" name="system.taw"
value="{{system.taw}}"/>
</label>
</div>
<div>
<label>Erstes Attribut
<input type="text" name="system.probe.0"
value="{{system.probe.[0]}}"/>
</label>
<div class="statistics">
<label>Probe</label>
<div>
<label>
<input type="text" name="system.probe.0"
value="{{system.probe.[0]}}"/>
</label>
</div>
<div><label>
<input type="text" name="system.probe.1"
value="{{system.probe.[1]}}"/>
</label></div>
<div>
<label>
<input type="text" name="system.probe.2"
value="{{system.probe.[2]}}"/>
</label>
</div>
</div>
<div><label>Zweites Attribut
<input type="text" name="system.probe.1"
value="{{system.probe.[1]}}"/>
</label></div>
<div>
<label>Drittes Attribut
<input type="text" name="system.probe.2"
value="{{system.probe.[2]}}"/>
</label>
</div>
<div>
<label>Behinderung
<div class="ebe">
<label>Effektive Behinderung
<input type="text" name="system.behinderung" value="{{system.behinderung}}"/>
</label>
</div>
<div>
<div class="language-statistics">
<label>Sprachenkomplexizität
<input type="text" name="system.komplexität" value="{{system.komplexität}}"/>
</label>
</div>
<div>
<label>Attacke
<input type="text" name="system.at" value="{{system.at}}"/>
</label>
<div class="attack-statistics">
<div>
<label>Attacke
<input type="text" name="system.at" value="{{system.at}}"/>
</label>
</div>
<div>
<label>Parade
<input type="text" name="system.pa" value="{{system.pa}}"/>
</label>
</div>
</div>
<div>
<label>Parade
<input type="text" name="system.pa" value="{{system.pa}}"/>
</label>
</div>
</div>
<div class="tab description" data-group="primary" data-tab="description">