fixes some user experience issues

pull/65/head
macniel 2025-11-11 22:19:54 +01:00
parent 7e34251397
commit 316ab90c67
9 changed files with 65 additions and 54 deletions

View File

@ -99,6 +99,7 @@ export class RestingDialog extends HandlebarsApplicationMixin(ApplicationV2) {
lepMod: [-1, -2, -3, -4, -5],
display: "range",
noLabel: "Gutes Wetter",
nestingLevel: 1,
labels: [
"Schlechtes Wetter I",
"Schlechtes Wetter II",
@ -114,6 +115,7 @@ export class RestingDialog extends HandlebarsApplicationMixin(ApplicationV2) {
aspMod: -1,
lepMod: -1,
display: "boolean",
nestingLevel: 1,
group: "bad_camp",
active: false,
value: "on"
@ -220,6 +222,14 @@ export class RestingDialog extends HandlebarsApplicationMixin(ApplicationV2) {
const elementInMod = this.element.querySelector('output[name="inMod"]')
const elementWoundMod = this.element.querySelector('output[name="woundMod"]')
if (this.restingType === this.#type.DRAUßEN) {
this.element.querySelector('input[name="bad_weather"]').removeAttribute('disabled')
this.element.querySelector('input[name="bad_camp"]').removeAttribute('disabled')
} else {
this.element.querySelector('input[name="bad_weather"]').setAttribute('disabled', 'disabled')
this.element.querySelector('input[name="bad_camp"]').setAttribute('disabled', 'disabled')
}
const context = this.#updateData()
elementLepMod.value = context.lepModDisplay
elementKoMod.value = context.koRollDisplay
@ -334,8 +344,6 @@ export class RestingDialog extends HandlebarsApplicationMixin(ApplicationV2) {
context.inRollDisplay = `1w20+${this.regInMod}`
}
console.log(this, context)
return context
}

View File

@ -15,6 +15,7 @@ function loadPartials(hbs) {
'systems/DSA_4-1/templates/ui/partial-action-button.hbs',
'systems/DSA_4-1/templates/ui/partial-equipment-button.hbs',
'systems/DSA_4-1/templates/ui/partial-array-editor.hbs',
'systems/DSA_4-1/templates/actor/character/tab-set.hbs',
'systems/DSA_4-1/templates/dialog/liturgy-dialog.hbs'
]).then(resolve);
})

View File

@ -1,7 +1,7 @@
import {PlayerCharacterDataModel} from "../../data/character.mjs";
export default {
_prepareContext: (context) => {
_prepareContext: (context, actor, thisObject) => {
const actorData = context.document
context.spells = []
@ -53,7 +53,7 @@ export default {
context.sets.push({
tab: "set" + (setIndex + 1),
name: romanNumerals[setIndex],
label: romanNumerals[setIndex],
index: setIndex,
slots: [
{
@ -290,7 +290,7 @@ export default {
], {jQuery: false});
},
_getTabConfig: (group) => {
group.tabs.push({id: "equipment", group: "sheet", label: "Ausrüstung"})
group?.tabs.push({id: "equipment", group: "sheet", label: "Ausrüstung"})
},
template: `systems/DSA_4-1/templates/actor/character/tab-equipment.hbs`
}

View File

@ -104,7 +104,7 @@ export default {
_getTabConfig: (group, thisObject) => {
const hasLiturgies = thisObject.document.items.filter(p => p.type === "Liturgy").length > 0 ?? false
if (hasLiturgies) {
group.tabs.push({id: "liturgies", group: "sheet", label: "Liturgien"})
group?.tabs.push({id: "liturgies", group: "sheet", label: "Liturgien"})
}
},
template: `systems/DSA_4-1/templates/actor/character/tab-liturgies.hbs`

View File

@ -14,7 +14,7 @@ export default {
},
_getTabConfig: (group) => {
group.tabs.push({id: "meta", group: "sheet", label: "Meta"})
group?.tabs.push({id: "meta", group: "sheet", label: "Meta"})
},
template: `systems/DSA_4-1/templates/actor/character/tab-meta.hbs`
}

View File

@ -59,7 +59,7 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) {
sheet: {
tabs: [],
initial: 'meta'
}
},
}
/** @inheritDoc */
@ -94,7 +94,16 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) {
},
effects: {
template: Effects.template
}
},
set1: {
template: "systems/DSA_4-1/templates/actor/character/tab-set.hbs"
},
set2: {
template: "systems/DSA_4-1/templates/actor/character/tab-set.hbs"
},
set3: {
template: "systems/DSA_4-1/templates/actor/character/tab-set.hbs"
},
}
@ -542,7 +551,7 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) {
await Combat._prepareContext(context, this.document)
break
case "equipment":
await Equipment._prepareContext(context, this.document)
await Equipment._prepareContext(context, this.document, this)
break
case "skills":
await Skills._prepareContext(context, this.document)

View File

@ -19,25 +19,22 @@
<div class="inventory">
{{> "systems/DSA_4-1/templates/ui/partial-equipment-button.hbs" equipments}}
</div>
<!-- TODO: fix paperdoll
<div class="paperdoll">
<h3>Ausrüstung</h3>
{{!-- Set Tab Navigation --}}
{{!-- Sheet Tab Navigation --}}
<nav class="sets-tabs tabs{{#if verticalTabs}} vertical{{/if}}"
aria-roledescription="{{localize "SHEETS.FormNavLabel"}}">
{{#each sets as |tab|}}
<a data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}"
{{#if tab.cssClass}}class="{{tab.cssClass}}"{{/if}}
{{#if tab.tooltip}}data-tooltip="{{tab.tooltip}}"{{/if}}>
{{#if tab.icon}}<i class="{{tab.icon}}" inert></i>{{/if}}
{{#if tab.label}}<span>{{localize tab.label}}</span>{{/if}}
</a>
<h3 class="equipment-header">Ausrüstung</h3>
<div class="set">
<nav class="tabs" data-group="setTabs">
{{#each sets}}
<a class="item" data-tab="{{tab}}">{{label}}</a>
{{/each}}
</nav>
<section class="tab-content">
{{> "systems/DSA_4-1/templates/actor/character/tab-set.hbs" this}}
</section>
</div>
-->
</div>
</section>

View File

@ -1,29 +1,25 @@
<section class="tab {{sets.set1.id}} {{sets.set1.cssClass}}"
data-tab="{{sets.set1.id}}"
data-group="{{sets.set1.group}}">
<div class="paperdoll">
<svg
<!--<svg
width="280"
height="530"
viewBox="0 0 70 140"
xmlns="http://www.w3.org/2000/svg">
<path class="paperdoll-image"
d="m 22.868053,0.6591628 0.658626,-0.52687462 6.270125,4.42573652 3.97809,0.5795595 0.605938,-4.58379633 11.828915,2.02846193 0.07905,2.3182421 3.556578,-0.9220267 6.691636,3.7671414 2.292014,3.7671454 -4.030787,0.05268 0.89573,3.951549 -1.106491,2.23921 -3.345818,-0.632247 0.869387,4.241332 v 2.476303 l 1.422627,-0.02634 0.500563,1.343527 h 3.29312 l 1.975878,3.424677 0.05267,2.818774 2.371046,6.243447 6.665292,14.72611 1.949534,0.658592 0.34249,4.794545 -0.289802,1.606966 0.922074,1.765023 -0.395167,2.897805 2.002222,6.743979 1.027449,1.949433 -0.737657,5.031644 -3.925413,4.399394 -0.922074,-0.553222 0.579595,-1.844054 -1.896847,1.264499 -0.526897,-0.790314 1.475315,-1.369869 -1.36994,-5.690236 -0.974762,4.083275 -1.053803,-0.342473 -0.790345,-3.108552 0.579584,-2.370933 0.526907,-0.658592 -0.263459,-0.500527 0.289803,-1.554277 0.948418,-2.739737 -0.447865,-2.212876 -1.106492,-0.974715 -1.554356,-1.501588 -2.423744,-4.030581 0.711314,-1.264496 -3.793683,-5.532171 -0.02638,-1.554275 -1.475326,-1.554276 -1.185522,-3.213929 -0.869387,-0.763967 -3.029682,4.820892 -1.159179,0.447843 0.447865,0.974716 -0.790345,0.974716 -0.21076,2.002118 0.368823,1.343527 -0.289792,1.923087 1.71243,2.397274 0.02638,1.791371 1.23821,1.975774 2.950651,13.013779 -0.421522,0.684934 2.713536,14.278264 7.113157,18.150786 1.132835,0.0791 3.767339,9.19394 -2.344701,0.73762 1.92318,7.42891 -1.738774,3.87253 1.001116,3.79348 2.687192,4.10961 -0.68497,2.44996 -10.643392,0.079 -0.684969,-8.42997 1.106491,-1.42257 -1.659742,-1.47524 0.07905,-2.00211 -1.949535,-2.18653 -0.55325,-3.84617 -1.422628,0.15805 -0.500553,-7.71869 1.02745,-1.05374 -2.133941,-4.21499 0.421521,-2.42362 -4.32059,-6.322483 -1.317252,-4.056921 -9.247098,-17.702946 -0.395178,0.210749 -3.609266,18.783038 -1.975878,3.635422 -0.289802,10.721871 0.764011,-0.0264 2.397389,7.71869 -4.663069,0.97472 -0.737658,6.74398 -2.212983,1.92309 1.422638,6.74397 -1.896847,3.10855 -4.504997,0.34248 -0.105385,-0.86934 -3.714641,1.2118 -8.140618,0.21075 -0.131729,-2.00212 8.483107,-5.47948 0.711314,-1.89674 -0.316146,-2.18653 0.869386,-0.71128 -1.027449,-1.36986 1.659732,-6.55958 -2.502775,-0.76396 1.317252,-3.42469 -0.289792,-1.2645 2.397389,-3.05585 2.107608,-12.592278 -0.948419,-7.349881 0.316136,-13.90946 -1.554356,-1.159119 4.504996,-21.153968 0.316147,-4.557454 0.948418,-3.345646 -2.160295,2.924147 -4.847487,4.135956 1.264565,1.080091 -3.42485,2.397275 -3.29313,2.766082 -0.68497,1.923087 -1.791461,-0.57956 -1.001116,1.633307 0.07905,4.87358 L 9.168636,68.889233 4.2948053,70.180074 1.5812697,67.466679 0.13228831,66.070468 2.9775532,60.801731 6.5868297,58.825953 6.692205,57.245334 8.0884885,56.059869 v -1.923064 l 2.9769935,-7.824067 2.897953,0.553216 7.323918,-8.166536 v -0.500531 l 3.872714,-4.689172 -0.263448,-2.028463 2.766234,-5.1897 5.163622,-1.448903 0.158063,-1.844055 -0.922074,-2.291899 0.948428,-5.95367 -0.658626,-4.294017 -4.926518,-3.9515498 z"/>
</svg>
</svg>-->
{{#each this.slots}}
<div class="equipped {{this.target}}" data-set-id="{{../index}}"
data-target="{{this.target}}" data-actor="{{../../actor.id}}"><img
src="{{this.icon}}"/></div>
{{/each}}
{{!--
{{#if (eq ../actor.system.setEquipped @index)}}
<button disabled="disabled">Ausgerüstet</button>
{{else}}
<button data-operation="switchSet" data-id="{{@index}}">Wechseln</button>
<button data-action="switchSet" data-id="{{@index}}">Wechseln</button>
{{/if}}
</div>
--}}
</section>
</div>

View File

@ -24,7 +24,7 @@
</div>
{{#each circumstances}}
<div class="setting {{this.display}}">
<div class="setting {{this.display}} {{#if this.nestingLevel}}setting-nest-{{this.nestingLevel}}{{/if}}">
<label>
{{#if (eq this.display "range")}}
<span>{{this.name}} </span>