Fix error with adding multiclass

This commit is contained in:
Carlos Fernandez 2026-05-14 23:06:03 -04:00
parent 829a6161ff
commit 3bacb434f9
3 changed files with 66 additions and 59 deletions

View file

@ -156,6 +156,7 @@ export default class DhCharacterLevelUp extends LevelUpBase {
if (multiclasses?.[0]) {
const data = multiclasses[0];
const multiclass = data.data.length > 0 ? await foundry.utils.fromUuid(data.data[0]) : {};
const subclasses = (await multiclass?.system?.fetchSubclasses()) ?? [];
context.multiclass = {
...data,
@ -175,13 +176,12 @@ export default class DhCharacterLevelUp extends LevelUpBase {
alreadySelected
};
}) ?? [],
subclasses:
multiclass?.system?.subclasses.map(subclass => ({
...subclass,
uuid: subclass.uuid,
selected: data.secondaryData.subclass === subclass.uuid,
disabled: data.secondaryData.subclass && data.secondaryData.subclass !== subclass.uuid
})) ?? [],
subclasses: subclasses.map(subclass => ({
...subclass,
uuid: subclass.uuid,
selected: data.secondaryData.subclass === subclass.uuid,
disabled: data.secondaryData.subclass && data.secondaryData.subclass !== subclass.uuid
})),
compendium: 'classes',
limit: 1
};

View file

@ -45,20 +45,22 @@
.levelup-card-selection {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 40px;
height: 190px;
align-items: stretch;
.card-preview-container {
height: 100%;
height: 190px;
max-width: 200px;
}
.levelup-domains-selection-container {
display: flex;
flex-direction: column;
gap: 8px;
display: grid;
grid-auto-flow: column;
grid-template-rows: repeat(2, minmax(0, 1fr));
height: 100%;
gap: 4px;
.levelup-domain-selection-container {
display: flex;
@ -66,6 +68,8 @@
align-items: center;
position: relative;
cursor: pointer;
overflow: hidden;
width: 93px;
&.disabled {
pointer-events: none;
@ -83,7 +87,9 @@
}
img {
height: 124px;
object-fit: cover;
width: auto;
height: auto;
&.svg {
filter: @beige-filter;
@ -92,17 +98,18 @@
.levelup-domain-selected {
position: absolute;
height: 54px;
width: 54px;
height: 48px;
width: 48px;
border-radius: 50%;
border: 2px solid;
font-size: var(--font-size-48);
border: 2px solid @golden;
font-size: var(--font-size-28);
display: flex;
align-items: center;
justify-content: center;
background-image: url(../assets/parchments/dh-parchment-light.png);
color: var(--color-dark-5);
top: calc(50% - 29px);
background: @dark-golden;
color: @golden;
top: calc(50% - 10px);
z-index: 2;
i {
position: relative;

View file

@ -43,45 +43,6 @@
</fieldset>
{{/if}}
{{#if (gt this.domainCards.length 0)}}
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="tip">
</div>
<div class="levelup-card-selection domain-cards">
{{#each this.domainCards}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" this }}
{{#each this.emptySubtexts}}
<div class="">{{this}}</div>
{{/each}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{/each}}
</div>
</div>
{{/if}}
{{#if (gt this.subclassCards.length 0)}}
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="levelup-card-selection subclass-cards">
{{#each this.subclassCards}}
{{> "systems/daggerheart/templates/levelup/parts/selectable-card-preview.hbs" img=this.img header=this.featureLabel name=this.name path=this.path selected=this.selected uuid=this.uuid isMulticlass=this.isMulticlass featureState=this.featureState disabled=this.disabled }}
{{/each}}
</div>
</div>
{{/if}}
{{#if this.multiclass}}
<div class="card-section">
<div class="card-section-header">
@ -128,6 +89,45 @@
</div>
{{/if}}
{{#if (gt this.domainCards.length 0)}}
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="tip">
</div>
<div class="levelup-card-selection domain-cards">
{{#each this.domainCards}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" this }}
{{#each this.emptySubtexts}}
<div class="">{{this}}</div>
{{/each}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{/each}}
</div>
</div>
{{/if}}
{{#if (gt this.subclassCards.length 0)}}
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="levelup-card-selection subclass-cards">
{{#each this.subclassCards}}
{{> "systems/daggerheart/templates/levelup/parts/selectable-card-preview.hbs" img=this.img header=this.featureLabel name=this.name path=this.path selected=this.selected uuid=this.uuid isMulticlass=this.isMulticlass featureState=this.featureState disabled=this.disabled }}
{{/each}}
</div>
</div>
{{/if}}
{{#if this.vicious}}
<div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.vicious"}}</h3>