style level up application (#632)

This commit is contained in:
Murilo Brito 2025-08-06 05:11:42 -03:00 committed by GitHub
parent a8862d40d2
commit d8187ac521
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 290 additions and 144 deletions

View file

@ -20,10 +20,11 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
static DEFAULT_OPTIONS = { static DEFAULT_OPTIONS = {
tag: 'form', tag: 'form',
classes: ['daggerheart', 'levelup'], classes: ['daggerheart', 'dialog', 'dh-style', 'levelup'],
position: { width: 1000, height: 'auto' }, position: { width: 1000, height: 'auto' },
window: { window: {
resizable: true resizable: true,
icon: 'fa-solid fa-arrow-turn-up'
}, },
actions: { actions: {
save: this.save, save: this.save,
@ -45,7 +46,10 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
static PARTS = { static PARTS = {
tabs: { template: 'systems/daggerheart/templates/levelup/tabs/tab-navigation.hbs' }, tabs: { template: 'systems/daggerheart/templates/levelup/tabs/tab-navigation.hbs' },
advancements: { template: 'systems/daggerheart/templates/levelup/tabs/advancements.hbs' }, advancements: { template: 'systems/daggerheart/templates/levelup/tabs/advancements.hbs' },
selections: { template: 'systems/daggerheart/templates/levelup/tabs/selections.hbs' }, selections: {
template: 'systems/daggerheart/templates/levelup/tabs/selections.hbs',
scrollable: ['.selections']
},
summary: { template: 'systems/daggerheart/templates/levelup/tabs/summary.hbs' }, summary: { template: 'systems/daggerheart/templates/levelup/tabs/summary.hbs' },
footer: { template: 'systems/daggerheart/templates/levelup/tabs/footer.hbs' } footer: { template: 'systems/daggerheart/templates/levelup/tabs/footer.hbs' }
}; };

View file

@ -3,6 +3,7 @@
@import './level-up/sheet.less'; @import './level-up/sheet.less';
@import './level-up/summary-container.less'; @import './level-up/summary-container.less';
@import './level-up/tiers-container.less'; @import './level-up/tiers-container.less';
@import './level-up/footer.less';
@import './resource-dice/sheet.less'; @import './resource-dice/sheet.less';

View file

@ -0,0 +1,19 @@
@import '../../utils/fonts.less';
.daggerheart.levelup {
.tab-footer {
margin-top: 10px;
.levelup-navigation-actions,
.levelup-footer {
display: flex;
justify-content: end;
gap: 10px;
button {
font-family: @font-body;
font-weight: bold;
height: 40px;
}
}
}
}

View file

@ -1,3 +1,6 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.daggerheart.levelup { .daggerheart.levelup {
.levelup-navigation-container { .levelup-navigation-container {
display: flex; display: flex;
@ -7,23 +10,18 @@
nav { nav {
flex: 1; flex: 1;
border: none;
.levelup-tab-container { .levelup-tab-container {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 4px; gap: 4px;
}
}
.levelup-navigation-actions { a,
width: 306px; span {
display: flex; font-family: @font-body;
justify-content: end; color: light-dark(@dark-blue, @golden);
gap: 16px; }
margin-right: 4px;
* {
width: calc(50% - 8px);
} }
} }
} }

View file

@ -1,18 +1,38 @@
@import '../../utils/fonts.less';
@import '../../utils/colors.less';
.daggerheart.levelup { .daggerheart.levelup {
.levelup-selections-container { .levelup-selections-container {
overflow: auto;
padding: 10px 0;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
max-height: 500px;
mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
.achievement-experience-cards { .achievement-experience-cards {
display: flex; display: flex;
gap: 8px; gap: 8px;
.achievement-experience-card { .achievement-experience-card {
border: 1px solid;
border-radius: 4px;
padding-right: 4px;
font-size: 18px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
background: light-dark(@dark-blue-40, @golden-40);
border-radius: 3px;
padding: 5px;
font-size: 16px;
gap: 4px; gap: 4px;
width: 100%;
input {
background: light-dark(@soft-shadow, @semi-transparent-dark-blue);
width: 80%;
}
span {
font-family: @font-body;
}
.achievement-experience-marker { .achievement-experience-marker {
border: 1px solid; border: 1px solid;
@ -30,10 +50,13 @@
.levelup-card-selection { .levelup-card-selection {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center;
gap: 40px; gap: 40px;
height: 190px;
.card-preview-container { .card-preview-container {
width: calc(100% * (1 / 5)); height: 100%;
max-width: 200px;
} }
.levelup-domains-selection-container { .levelup-domains-selection-container {
@ -89,10 +112,30 @@
} }
} }
.card-section {
flex: 1 1 100%;
.card-section-header {
display: flex;
align-items: center;
gap: 20px;
margin-bottom: 10px;
h3 {
font-family: @font-subtitle;
color: light-dark(@dark, @beige);
margin: 0;
white-space: nowrap;
}
}
}
.levelup-selections-title { .levelup-selections-title {
display: flex; margin-left: auto;
align-items: center; margin-right: auto;
gap: 4px; font-size: 22px;
font-weight: bold;
padding: 0 12px;
} }
.levelup-radio-choices { .levelup-radio-choices {

View file

@ -25,9 +25,11 @@
section { section {
.section-container { .section-container {
display: flex; display: flex;
flex-direction: column; flex-direction: row;
gap: 8px; justify-content: center;
gap: 20px 8px;
margin-top: 8px; margin-top: 8px;
flex-wrap: wrap;
} }
} }

View file

@ -1,5 +1,28 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.daggerheart.levelup { .daggerheart.levelup {
.summary-header {
display: flex;
align-items: center;
gap: 20px;
margin-bottom: 10px;
h3 {
font-family: @font-subtitle;
color: light-dark(@dark, @beige);
margin: 0;
white-space: nowrap;
}
}
.levelup-summary-container { .levelup-summary-container {
overflow: auto;
padding: 10px 0;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
max-height: 700px;
mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
.level-achievements-container, .level-achievements-container,
.level-advancements-container { .level-advancements-container {
display: flex; display: flex;
@ -11,7 +34,7 @@
h4, h4,
h5 { h5 {
margin: 0; margin: 0;
color: var(--color-text-secondary); color: light-dark(@dark, @beige);
} }
} }
@ -19,7 +42,19 @@
display: flex; display: flex;
align-items: center; align-items: center;
gap: 4px; gap: 4px;
font-size: 20px; font-size: 14px;
font-family: @font-body;
color: light-dark(@dark, @beige);
}
h5.summary-section {
display: flex;
align-items: center;
gap: 4px;
font-size: 16px;
font-family: @font-subtitle;
color: light-dark(@dark, @beige);
margin-bottom: 5px;
} }
.summary-selection-container { .summary-selection-container {
@ -28,9 +63,11 @@
.summary-selection { .summary-selection {
border: 2px solid; border: 2px solid;
border-radius: 6px; border-radius: 3px;
padding: 0 4px; padding: 0 4px;
font-size: 18px; font-size: 14px;
font-family: @font-body;
color: light-dark(@dark, @beige);
} }
} }
} }

View file

@ -1,3 +1,6 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.daggerheart.levelup { .daggerheart.levelup {
.tiers-container { .tiers-container {
display: flex; display: flex;
@ -38,7 +41,7 @@
height: min-content; height: min-content;
&.multi { &.multi {
border: 2px solid grey; border: 2px solid light-dark(@dark-blue-40, @golden-40);
padding: 2.4px 2.5px 0; padding: 2.4px 2.5px 0;
border-radius: 4px; border-radius: 4px;
gap: 2px; gap: 2px;
@ -56,7 +59,8 @@
} }
.checkbox-group-label { .checkbox-group-label {
font-size: 14px; font-family: @font-body;
font-size: 12px;
font-style: italic; font-style: italic;
} }
} }

View file

@ -674,8 +674,8 @@
.application .component.dh-style.card-preview-container { .application .component.dh-style.card-preview-container {
position: relative; position: relative;
border-radius: 6px; border: 2px solid transparent;
border: 2px solid var(--color-tabs-border);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
aspect-ratio: 0.75; aspect-ratio: 0.75;
@ -697,31 +697,41 @@
justify-content: center; justify-content: center;
} }
.preview-image-container { .preview-selected-container {
flex: 1;
border-radius: 4px 4px 0 0;
}
.preview-text-container {
flex: 1;
border-radius: 0 0 4px 4px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; border: 2px solid light-dark(@dark-blue-50, @beige-50);
justify-content: center; border-radius: 6px;
font-size: 18px; max-width: 200px;
text-align: center; height: 100%;
color: var(--color-text-selection-bg);
background-image: url(../assets/parchments/dh-parchment-light.png); .preview-image-container {
width: 100%;
flex-grow: 1;
object-fit: cover;
border-radius: 4px 4px 0 0;
}
.preview-text-container {
font-family: @font-body;
padding: 10px 0;
text-align: center;
font-size: 16px;
color: light-dark(@beige, @dark);
background-image: url(../assets/parchments/dh-parchment-light.png);
border-radius: 0 0 4px 4px;
}
} }
.preview-empty-container { .preview-empty-container {
border-radius: 6px;
pointer-events: none; pointer-events: none;
position: relative; position: relative;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex: 1; flex: 1;
border: 2px dashed light-dark(@dark-blue-50, @beige-50);
.preview-empty-inner-container { .preview-empty-inner-container {
width: 100%; width: 100%;
@ -729,15 +739,19 @@
justify-content: center; justify-content: center;
.preview-add-icon { .preview-add-icon {
font-size: 48px; font-size: 40px;
color: light-dark(@dark-blue-50, @beige-50);
} }
.preview-empty-subtext { .preview-empty-subtext {
position: absolute; position: absolute;
top: 10%; bottom: 5%;
font-size: 18px; font-size: 10px;
font-variant: small-caps; font-variant: small-caps;
text-align: center; text-align: center;
font-family: @font-body;
font-style: italic;
color: light-dark(@dark-blue-60, @beige-80);
} }
} }
} }

View file

@ -3,13 +3,15 @@
{{#if (not disabled)}}data-action="viewCompendium"{{/if}} data-compendium="{{this.compendium}}" data-path="{{this.path}}" data-limit="{{this.limit}}" {{#if (not disabled)}}data-action="viewCompendium"{{/if}} data-compendium="{{this.compendium}}" data-path="{{this.path}}" data-limit="{{this.limit}}"
> >
{{#if this.img}} {{#if this.img}}
<img class="preview-image-container" src="{{this.img}}" /> <div class="preview-selected-container">
<div class="preview-text-container"> <img class="preview-image-container" src="{{this.img}}" />
{{#if altPartialBlock}} <div class="preview-text-container">
{{> @partial-block }} {{#if altPartialBlock}}
{{else}} {{> @partial-block }}
{{this.name}} {{else}}
{{/if}} {{this.name}}
{{/if}}
</div>
</div> </div>
{{else}} {{else}}
<div class="preview-empty-container"> <div class="preview-empty-container">

View file

@ -1,4 +1,23 @@
<section class='tab-footer'> <section class='tab-footer'>
{{#if this.levelupAuto}}
<div class="levelup-navigation-actions {{#if (not this.showTabs)}}test{{/if}}">
{{#if this.navigate.previous.fromSummary}}
<button data-action="activatePart" data-part="advancements">{{localize "DAGGERHEART.APPLICATIONS.Levelup.navigateToLevelup"}}</button>
<button data-action="save" {{#if (not this.levelup.allLevelsFinished)}}disabled{{/if}}>{{localize "Finish Levelup"}}</button>
{{else}}
{{#if (not this.navigate.previous.disabled)}}
<button data-action="updateCurrentLevel" >{{this.navigate.previous.label}}</button>
{{/if}}
{{/if}}
{{#if this.navigate.next.show}}
{{#if this.navigate.next.toSummary}}
<button data-action="activatePart" data-part="summary" {{#if this.navigate.next.disabled}}disabled{{/if}}>{{localize "DAGGERHEART.APPLICATIONS.Levelup.navigateToSummary"}}</button>
{{else}}
<button data-action="updateCurrentLevel" data-forward="true" {{#if this.navigate.next.disabled}}disabled{{/if}}>{{this.navigate.next.label}}</button>
{{/if}}
{{/if}}
</div>
{{/if}}
{{#unless levelupAuto}} {{#unless levelupAuto}}
<div class="levelup-footer"> <div class="levelup-footer">
<button type="button" data-action="close">{{localize "Cancel"}}</button> <button type="button" data-action="close">{{localize "Cancel"}}</button>

View file

@ -5,55 +5,60 @@
> >
<div class="section-container levelup-selections-container"> <div class="section-container levelup-selections-container">
{{#if (gt this.newExperiences.length 0)}} {{#if (gt this.newExperiences.length 0)}}
<div> <fieldset class="new-experience">
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}</h3> <legend class="levelup-selections-title">
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}
</legend>
<div class="achievement-experience-cards"> <div class="achievement-experience-cards">
{{#each this.newExperiences}} {{#each this.newExperiences}}
<div class="achievement-experience-card"> <div class="achievement-experience-card">
<div class="flexrow"> <input type="text" name="{{concat "levelup.levels." this.level ".achievements.experiences." this.key ".name"}}" value="{{this.name}}" placeholder="{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experiencePlaceholder"}}" />
<input type="text" name="{{concat "levelup.levels." this.level ".achievements.experiences." this.key ".name"}}" value="{{this.name}}" placeholder="{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experiencePlaceholder"}}" /> <span>{{numberFormat this.modifier sign=true}}</span>
<div class="flex0">{{numberFormat this.modifier sign=true}}</div>
</div>
<div class="achievement-experience-marker"> <div class="achievement-experience-marker">
{{#if this.name}}<i class="fa-solid fa-check"></i>{{/if}} {{#if this.name}}<i class="fa-solid fa-check"></i>{{/if}}
</div> </div>
</div> </div>
{{/each}} {{/each}}
</div> </div>
</div> </fieldset>
{{/if}} {{/if}}
{{#if this.traits.active}} {{#if this.traits.active}}
<div> <fieldset>
<h3 class="levelup-selections-title"> <legend class="levelup-selections-title">
<div>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}}</div> <span>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}} {{this.traits.progress.selected}}/{{this.traits.progress.max}}</span>
<div>{{this.traits.progress.selected}}/{{this.traits.progress.max}}</div> </legend>
</h3>
<input type="text" class="levelup-trait-increases" value="{{this.traits.values}}" /> <input type="text" class="levelup-trait-increases" value="{{this.traits.values}}" />
</div> </fieldset>
{{/if}} {{/if}}
{{#if this.experienceIncreases.active}} {{#if this.experienceIncreases.active}}
<div> <fieldset>
<h3 class="levelup-selections-title"> <legend class="levelup-selections-title">
<div>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}}</div> <span>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}} {{this.experienceIncreases.progress.selected}}/{{this.experienceIncreases.progress.max}}</span>
<div>{{this.experienceIncreases.progress.selected}}/{{this.experienceIncreases.progress.max}}</div> </legend>
</h3>
<input type="text" class="levelup-experience-increases" value="{{this.experienceIncreases.values}}" /> <input type="text" class="levelup-experience-increases" value="{{this.experienceIncreases.values}}" />
</div> </fieldset>
{{/if}} {{/if}}
{{#if (gt this.domainCards.length 0)}} {{#if (gt this.domainCards.length 0)}}
<div> <div class="card-section">
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h3> <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"> <div class="levelup-card-selection domain-cards">
{{#each this.domainCards}} {{#each this.domainCards}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" this }} {{#> "systems/daggerheart/templates/components/card-preview.hbs" this }}
{{#each this.emptySubtexts}} {{#each this.emptySubtexts}}
<div>{{this}}</div> <div class="">{{this}}</div>
{{/each}} {{/each}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{/each}} {{/each}}
@ -62,8 +67,12 @@
{{/if}} {{/if}}
{{#if (gt this.subclassCards.length 0)}} {{#if (gt this.subclassCards.length 0)}}
<div> <div class="card-section">
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h3> <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"> <div class="levelup-card-selection subclass-cards">
{{#each this.subclassCards}} {{#each this.subclassCards}}
@ -74,40 +83,47 @@
{{/if}} {{/if}}
{{#if this.multiclass}} {{#if this.multiclass}}
<div> <div class="card-section">
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}</h3> <div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="levelup-card-selection multiclass-cards" data-path="{{this.multiclass.path}}" data-tier="{{this.multiclass.tier}}" data-min-cost="{{this.multiclass.minCost}}" data-amount="{{this.multiclass.amount}}" data-value="{{this.multiclass.value}}" data-type="{{this.multiclass.type}}"> <div class="levelup-card-selection multiclass-cards" data-path="{{this.multiclass.path}}" data-tier="{{this.multiclass.tier}}" data-min-cost="{{this.multiclass.minCost}}" data-amount="{{this.multiclass.amount}}" data-value="{{this.multiclass.value}}" data-type="{{this.multiclass.type}}">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" this.multiclass }} {{#> "systems/daggerheart/templates/components/card-preview.hbs" this.multiclass }}
{{this.multiclass.emptySubtext}} {{this.multiclass.emptySubtext}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
<div class="levelup-domains-selection-container"> {{#if this.multiclass.domains}}
{{#each this.multiclass.domains}} <div class="levelup-domains-selection-container">
<div class="levelup-domain-selection-container {{#if this.disabled}}disabled{{/if}}" {{#if (not this.disabled)}}data-action="selectDomain" data-uuid="{{../multiclass.uuid}}" data-domain="{{this.id}}" data-path="{{../multiclass.path}}" {{/if}}> {{#each this.multiclass.domains}}
<div class="levelup-domain-label">{{localize this.label}}</div> <div class="levelup-domain-selection-container {{#if this.disabled}}disabled{{/if}}" {{#if (not this.disabled)}}data-action="selectDomain" data-uuid="{{../multiclass.uuid}}" data-domain="{{this.id}}" data-path="{{../multiclass.path}}" {{/if}}>
<img src="{{this.src}}" /> <div class="levelup-domain-label">{{localize this.label}}</div>
{{#if this.selected}} <img src="{{this.src}}" />
<div class="levelup-domain-selected"> {{#if this.selected}}
<i class="fa-solid fa-check"></i> <div class="levelup-domain-selected">
</div> <i class="fa-solid fa-check"></i>
{{/if}} </div>
</div> {{/if}}
{{/each}} </div>
</div> {{/each}}
</div>
<div class="levelup-domains-selection-container"> {{/if}}
{{#each this.multiclass.subclasses}} {{#if this.multiclass.subclasses}}
<div class="levelup-domain-selection-container {{#if this.disabled}}disabled{{/if}}" {{#if (not this.disabled)}}data-action="selectSubclass" data-uuid="{{../multiclass.uuid}}" data-subclass="{{this.uuid}}" data-path="{{../multiclass.path}}" {{/if}}> <div class="levelup-domains-selection-container">
<div class="levelup-domain-label">{{localize this.name}}</div> {{#each this.multiclass.subclasses}}
<img src="{{this.img}}" /> <div class="levelup-domain-selection-container {{#if this.disabled}}disabled{{/if}}" {{#if (not this.disabled)}}data-action="selectSubclass" data-uuid="{{../multiclass.uuid}}" data-subclass="{{this.uuid}}" data-path="{{../multiclass.path}}" {{/if}}>
{{#if this.selected}} <div class="levelup-domain-label">{{localize this.name}}</div>
<div class="levelup-domain-selected"> <img src="{{this.img}}" />
<i class="fa-solid fa-check"></i> {{#if this.selected}}
</div> <div class="levelup-domain-selected">
{{/if}} <i class="fa-solid fa-check"></i>
</div> </div>
{{/each}} {{/if}}
</div> </div>
{{/each}}
</div>
{{/if}}
</div> </div>
</div> </div>
{{/if}} {{/if}}

View file

@ -3,6 +3,13 @@
data-tab='{{tabs.summary.id}}' data-tab='{{tabs.summary.id}}'
data-group='{{tabs.summary.group}}' data-group='{{tabs.summary.group}}'
> >
<div class="summary-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize tabs.summary.label}}</h3>
<side-line-div></side-line-div>
</div>
<div class="section-container levelup-summary-container"> <div class="section-container levelup-summary-container">
{{#if this.achievements}} {{#if this.achievements}}
<fieldset> <fieldset>
@ -35,7 +42,7 @@
{{/if}} {{/if}}
{{#if this.achievements.domainCards.shown}} {{#if this.achievements.domainCards.shown}}
<div> <div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h5> <h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h5>
<div class="summary-selection-container"> <div class="summary-selection-container">
{{#each this.achievements.domainCards.values}} {{#each this.achievements.domainCards.values}}
<div class="summary-selection">{{this.name}}</div> <div class="summary-selection">{{this.name}}</div>
@ -45,7 +52,7 @@
{{/if}} {{/if}}
{{#if this.achievements.experiences.shown}} {{#if this.achievements.experiences.shown}}
<div> <div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}</h5> <h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}</h5>
<div class="summary-selection-container"> <div class="summary-selection-container">
{{#each this.achievements.experiences.values}} {{#each this.achievements.experiences.values}}
<div class="summary-selection">{{this.name}} {{numberFormat this.modifier sign=true}}</div> <div class="summary-selection">{{this.name}} {{numberFormat this.modifier sign=true}}</div>
@ -97,7 +104,7 @@
{{#if this.advancements.traits}} {{#if this.advancements.traits}}
<div> <div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}}</h5> <h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}}</h5>
{{#each this.advancements.traits}} {{#each this.advancements.traits}}
<div class="increase-container"> <div class="increase-container">
@ -111,7 +118,7 @@
{{#if this.advancements.domainCards}} {{#if this.advancements.domainCards}}
<div> <div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h5> <h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h5>
<div class="summary-selection-container"> <div class="summary-selection-container">
{{#each this.advancements.domainCards}} {{#each this.advancements.domainCards}}
<div class="summary-selection">{{this.name}}</div> <div class="summary-selection">{{this.name}}</div>
@ -122,7 +129,7 @@
{{#if this.advancements.experiences}} {{#if this.advancements.experiences}}
<div> <div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}}</h5> <h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}}</h5>
<div class="summary-selection-container"> <div class="summary-selection-container">
{{#each this.advancements.experiences}} {{#each this.advancements.experiences}}
<div class="summary-selection">{{this.name}} {{numberFormat this.modifier sign=true}}</div> <div class="summary-selection">{{this.name}} {{numberFormat this.modifier sign=true}}</div>
@ -133,7 +140,7 @@
{{#if this.advancements.subclass}} {{#if this.advancements.subclass}}
<div> <div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h5> <h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h5>
<div class="summary-selection-container"> <div class="summary-selection-container">
{{#each this.advancements.subclass}} {{#each this.advancements.subclass}}
<div class="summary-selection">{{this.name}} - {{this.featureLabel}}</div> <div class="summary-selection">{{this.name}} - {{this.featureLabel}}</div>
@ -145,7 +152,7 @@
{{#if this.advancements.multiclass}} {{#if this.advancements.multiclass}}
{{#with this.advancements.multiclass}} {{#with this.advancements.multiclass}}
<div> <div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}</h5> <h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}</h5>
<div class="summary-selection-container"> <div class="summary-selection-container">
<div class="summary-selection">{{this.name}}</div> <div class="summary-selection">{{this.name}}</div>
<div class="summary-selection">{{this.domain}}</div> <div class="summary-selection">{{this.domain}}</div>
@ -176,9 +183,5 @@
{{/each}} {{/each}}
</div> </div>
</fieldset> </fieldset>
<footer class="levelup-footer">
<button data-action="save" {{#if (not this.levelup.allLevelsFinished)}}disabled{{/if}}>{{localize "Finish Levelup"}}</button>
</footer>
</div> </div>
</section> </section>

View file

@ -1,3 +1,4 @@
{{#unless tabs.summary.active}}
<section class='tab-navigation'> <section class='tab-navigation'>
{{#if levelupAuto}} {{#if levelupAuto}}
<line-div></line-div> <line-div></line-div>
@ -9,36 +10,19 @@
<div class="levelup-tab-container"> <div class="levelup-tab-container">
<a class='{{tab.id}} {{tab.cssClass}}' data-action='tab' data-group='{{tab.group}}' data-tab='{{tab.id}}'> <a class='{{tab.id}} {{tab.cssClass}}' data-action='tab' data-group='{{tab.group}}' data-tab='{{tab.id}}'>
{{localize tab.label}} {{localize tab.label}}
{{#if tab.progress}}
<span>{{tab.progress.selected}}/{{tab.progress.max}}</span>
{{/if}}
</a> </a>
{{#if tab.progress}}
<div>{{tab.progress.selected}}/{{tab.progress.max}}</div>
{{/if}}
</div> </div>
{{/if}} {{/if}}
{{/each}} {{/each}}
</nav> </nav>
{{/if}} {{/if}}
{{#if this.levelupAuto}}
<div class="levelup-navigation-actions {{#if (not this.showTabs)}}test{{/if}}">
{{#if this.navigate.previous.fromSummary}}
<button data-action="activatePart" data-part="advancements">{{localize "DAGGERHEART.APPLICATIONS.Levelup.navigateToLevelup"}}</button>
{{else}}
{{#if (not this.navigate.previous.disabled)}}
<button data-action="updateCurrentLevel" >{{this.navigate.previous.label}}</button>
{{/if}}
{{/if}}
{{#if this.navigate.next.show}}
{{#if this.navigate.next.toSummary}}
<button data-action="activatePart" data-part="summary" {{#if this.navigate.next.disabled}}disabled{{/if}}>{{localize "DAGGERHEART.APPLICATIONS.Levelup.navigateToSummary"}}</button>
{{else}}
<button data-action="updateCurrentLevel" data-forward="true" {{#if this.navigate.next.disabled}}disabled{{/if}}>{{this.navigate.next.label}}</button>
{{/if}}
{{else}}
<div></div>
{{/if}}
</div>
{{/if}}
</div> </div>
<line-div></line-div> <line-div></line-div>
{{/if}} {{/if}}
</section> </section>
{{else}}
<section></section>
{{/unless}}