mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
style level up application (#632)
This commit is contained in:
parent
a8862d40d2
commit
d8187ac521
14 changed files with 290 additions and 144 deletions
|
|
@ -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' }
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
|
|
||||||
|
|
|
||||||
19
styles/less/dialog/level-up/footer.less
Normal file
19
styles/less/dialog/level-up/footer.less
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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}}
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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}}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue