Add the profile data to the rendered sheet

This commit is contained in:
Oliver-Akins 2023-12-18 23:22:15 -07:00
parent d653da2c04
commit a28718b115
5 changed files with 100 additions and 37 deletions

View file

@ -48,6 +48,10 @@
.dotdungeon > .window-content select, .dotdungeon > .window-content select:hover { .dotdungeon > .window-content select, .dotdungeon > .window-content select:hover {
cursor: pointer; cursor: pointer;
} }
.dotdungeon > .window-content .debug-data {
opacity: 60%;
font-family: sans-serif;
}
.dotdungeon { .dotdungeon {
container-type: size; container-type: size;
@ -125,14 +129,21 @@
} }
.dotdungeon .actor--pc { .dotdungeon .actor--pc {
display: grid; display: grid;
grid-template-areas: "avatar stats stats" "avatar skills skills" "backpack skills skills" "backpack sync aspect" "backpack weapons aspect" "backpack weapons spells" "backpack roles spells" "summons roles mounts" "summons roles storage"; grid-template-areas: "profile stats stats" "profile skills skills" "sync skills skills" "spells weapons aspect" "spells weapons aspect" "backpack roles mounts" "backpack roles mounts" "summons storage storage" "summons storage storage";
grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-columns: repeat(3, minmax(0, 1fr));
grid-template-rows: min-content repeat(2, minmax(0, 1fr)) min-content repeat(5, minmax(0, 1fr)); grid-template-rows: min-content 1fr repeat(7, min-content);
padding: 4px; padding: 4px;
gap: 4px; gap: 4px;
} }
.dotdungeon .actor--pc .panel--avatar { .dotdungeon .actor--pc .panel--profile {
grid-area: avatar; grid-area: profile;
}
.dotdungeon .actor--pc .panel--profile .avatar {
width: 100%;
aspect-ratio: 1/1;
}
.dotdungeon .actor--pc .panel--profile label, .dotdungeon .actor--pc .panel--profile input {
width: 100%;
} }
.dotdungeon .actor--pc .panel--stats { .dotdungeon .actor--pc .panel--stats {
grid-area: stats; grid-area: stats;
@ -143,6 +154,7 @@
gap: 8px; gap: 8px;
justify-content: space-evenly; justify-content: space-evenly;
padding: 8px; padding: 8px;
flex-wrap: wrap;
} }
.dotdungeon .actor--pc .panel--skills { .dotdungeon .actor--pc .panel--skills {
grid-area: skills; grid-area: skills;
@ -206,7 +218,7 @@
.dotdungeon .actor--pc { .dotdungeon .actor--pc {
grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-rows: repeat(15, min-content); grid-template-rows: repeat(15, min-content);
grid-template-areas: "avatar stats" "avatar skills" "sync skills" "weapons skills" "weapons skills" "backpack aspect" "backpack aspect" "backpack roles" "backpack roles" "backpack roles" "backpack spells" "summons spells" "summons storage" "mounts storage" "mounts storage"; grid-template-areas: "profile stats" "profile skills" "sync skills" "weapons skills" "weapons skills" "backpack aspect" "backpack aspect" "backpack roles" "backpack roles" "backpack roles" "backpack spells" "summons spells" "summons storage" "mounts storage" "mounts storage";
} }
.dotdungeon .actor--pc .panel { .dotdungeon .actor--pc .panel {
background: yellowgreen; background: yellowgreen;
@ -223,7 +235,7 @@
.dotdungeon .actor--pc { .dotdungeon .actor--pc {
grid-template-columns: 1fr; grid-template-columns: 1fr;
grid-template-rows: repeat(12, min-content); grid-template-rows: repeat(12, min-content);
grid-template-areas: "avatar" "stats" "sync" "skills" "aspect" "roles" "backpack" "weapons" "spells" "mounts" "summons" "storage"; grid-template-areas: "profile" "stats" "sync" "skills" "aspect" "roles" "backpack" "weapons" "spells" "mounts" "summons" "storage";
} }
.dotdungeon .actor--pc .panel--skills .skill { .dotdungeon .actor--pc .panel--skills .skill {
flex-direction: column; flex-direction: column;
@ -242,4 +254,4 @@
resize: vertical; resize: vertical;
} }
/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/root.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/sheets/partials/stat.scss%22,%22../styles/sheets/partials/skill.scss%22,%22../styles/sheets/partials/panel.scss%22,%22../styles/mixins/_breakpoints.scss%22,%22../styles/sheets/actor/mvp.scss%22,%22../styles/sheets/items/aspect.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC;EACA,aEnBW;EFoBX;;AAGD;EACC;EACA;;AAGD;EC3BA;EACA;EACA;ED2BC;EACA;;AAGD;AAAA;AAAA;ECjCA;EACA;EACA;EDmCC;EGnCD;EACA;EACA;EACA;EACA;EACA,aDPW;;ACSX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH8BD;EACC;;;AAKF;EACC;;AAEA;EACC;EACA,YElDW;;;AEHb;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;ELpBD;EACA;EACA;EKoBE;EACA;EACA,aJzBU;EI0BV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC/BD;EDoCA;IACC;IACA;;;AE1CF;EACC;EACA,qBACC;EASD;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;AD3FF;ECmGC;IACC;IACA;IACA,qBACC;;EAgBD;IACC;;EAGC;IACC;;EAKD;IACC;IACA;;;AD7HL;ECuIC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AChKN;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22root.css%22%7D */ /*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/root.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/sheets/partials/stat.scss%22,%22../styles/sheets/partials/skill.scss%22,%22../styles/sheets/partials/panel.scss%22,%22../styles/mixins/_breakpoints.scss%22,%22../styles/sheets/actor/mvp.scss%22,%22../styles/sheets/items/aspect.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC;EACA,aEnBW;EFoBX;;AAGD;EACC;EACA;;AAGD;EC3BA;EACA;EACA;ED2BC;EACA;;AAGD;AAAA;AAAA;ECjCA;EACA;EACA;EDmCC;EGnCD;EACA;EACA;EACA;EACA;EACA,aDPW;;ACSX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH8BD;EACC;;AAGD;EACC;EACA,aE/CU;;;AFoDZ;EACC;;AAEA;EACC;EACA,YEvDW;;;AEHb;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;ELpBD;EACA;EACA;EKoBE;EACA;EACA,aJzBU;EI0BV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC/BD;EDoCA;IACC;IACA;;;AE1CF;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAGC;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;ADvGF;EC+GC;IACC;IACA;IACA,qBACC;;EAgBD;IACC;;EAGC;IACC;;EAKD;IACC;IACA;;;ADzIL;ECmJC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AC5KN;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22root.css%22%7D */

View file

@ -1,13 +1,20 @@
.dotdungeon .actor--pc { .dotdungeon .actor--pc {
display: grid; display: grid;
grid-template-areas: "avatar stats stats" "avatar skills skills" "backpack skills skills" "backpack sync aspect" "backpack weapons aspect" "backpack weapons spells" "backpack roles spells" "summons roles mounts" "summons roles storage"; grid-template-areas: "profile stats stats" "profile skills skills" "sync skills skills" "spells weapons aspect" "spells weapons aspect" "backpack roles mounts" "backpack roles mounts" "summons storage storage" "summons storage storage";
grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-columns: repeat(3, minmax(0, 1fr));
grid-template-rows: min-content repeat(2, minmax(0, 1fr)) min-content repeat(5, minmax(0, 1fr)); grid-template-rows: min-content 1fr repeat(7, min-content);
padding: 4px; padding: 4px;
gap: 4px; gap: 4px;
} }
.dotdungeon .actor--pc .panel--avatar { .dotdungeon .actor--pc .panel--profile {
grid-area: avatar; grid-area: profile;
}
.dotdungeon .actor--pc .panel--profile .avatar {
width: 100%;
aspect-ratio: 1/1;
}
.dotdungeon .actor--pc .panel--profile label, .dotdungeon .actor--pc .panel--profile input {
width: 100%;
} }
.dotdungeon .actor--pc .panel--stats { .dotdungeon .actor--pc .panel--stats {
grid-area: stats; grid-area: stats;
@ -18,6 +25,7 @@
gap: 8px; gap: 8px;
justify-content: space-evenly; justify-content: space-evenly;
padding: 8px; padding: 8px;
flex-wrap: wrap;
} }
.dotdungeon .actor--pc .panel--skills { .dotdungeon .actor--pc .panel--skills {
grid-area: skills; grid-area: skills;
@ -81,7 +89,7 @@
.dotdungeon .actor--pc { .dotdungeon .actor--pc {
grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-rows: repeat(15, min-content); grid-template-rows: repeat(15, min-content);
grid-template-areas: "avatar stats" "avatar skills" "sync skills" "weapons skills" "weapons skills" "backpack aspect" "backpack aspect" "backpack roles" "backpack roles" "backpack roles" "backpack spells" "summons spells" "summons storage" "mounts storage" "mounts storage"; grid-template-areas: "profile stats" "profile skills" "sync skills" "weapons skills" "weapons skills" "backpack aspect" "backpack aspect" "backpack roles" "backpack roles" "backpack roles" "backpack spells" "summons spells" "summons storage" "mounts storage" "mounts storage";
} }
.dotdungeon .actor--pc .panel { .dotdungeon .actor--pc .panel {
background: yellowgreen; background: yellowgreen;
@ -98,11 +106,11 @@
.dotdungeon .actor--pc { .dotdungeon .actor--pc {
grid-template-columns: 1fr; grid-template-columns: 1fr;
grid-template-rows: repeat(12, min-content); grid-template-rows: repeat(12, min-content);
grid-template-areas: "avatar" "stats" "sync" "skills" "aspect" "roles" "backpack" "weapons" "spells" "mounts" "summons" "storage"; grid-template-areas: "profile" "stats" "sync" "skills" "aspect" "roles" "backpack" "weapons" "spells" "mounts" "summons" "storage";
} }
.dotdungeon .actor--pc .panel--skills .skill { .dotdungeon .actor--pc .panel--skills .skill {
flex-direction: column; flex-direction: column;
} }
} }
/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mvp.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGA;EACC;EACA,qBACC;EASD;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;AC3FF;EDmGC;IACC;IACA;IACA,qBACC;;EAgBD;IACC;;EAGC;IACC;;EAKD;IACC;IACA;;;AC7HL;EDuIC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */ /*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mvp.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGA;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAGC;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;ACvGF;ED+GC;IACC;IACA;IACA,qBACC;;EAgBD;IACC;;EAGC;IACC;;EAKD;IACC;IACA;;;ACzIL;EDmJC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */

View file

@ -19,7 +19,7 @@
"TYPES.Item.legendaryItem": "Legendary Item", "TYPES.Item.legendaryItem": "Legendary Item",
"TYPES.Item.spell": "Spell", "TYPES.Item.spell": "Spell",
"dotdungeon.actor.pc.panel.avatar": "Avatar", "dotdungeon.actor.pc.panel.profile": "Profile",
"dotdungeon.actor.pc.panel.statistics": "Stats", "dotdungeon.actor.pc.panel.statistics": "Stats",
"dotdungeon.actor.pc.panel.skills": "Skills", "dotdungeon.actor.pc.panel.skills": "Skills",
"dotdungeon.actor.pc.panel.backpack": "Backpack", "dotdungeon.actor.pc.panel.backpack": "Backpack",
@ -69,6 +69,12 @@
"dotdungeon.actor.pc.respawns.header": "Respawns", "dotdungeon.actor.pc.respawns.header": "Respawns",
"dotdungeon.actor.pc.profile.avatar.label": "Avatar",
"dotdungeon.actor.pc.profile.group.label": "Group Name",
"dotdungeon.actor.pc.profile.group.placeholder": "Group Name...",
"dotdungeon.actor.pc.profile.name.label": "Character Name",
"dotdungeon.actor.pc.profile.name.placeholder": "Character Name...",
"dotdungeon.item.aspect.name": "Name", "dotdungeon.item.aspect.name": "Name",
"dotdungeon.item.aspect.duration": "Duration (seconds)", "dotdungeon.item.aspect.duration": "Duration (seconds)",

View file

@ -4,23 +4,34 @@
.dotdungeon .actor--pc { .dotdungeon .actor--pc {
display: grid; display: grid;
grid-template-areas: grid-template-areas:
"avatar stats stats" "profile stats stats"
"avatar skills skills" "profile skills skills"
"backpack skills skills" "sync skills skills"
"backpack sync aspect" "spells weapons aspect"
"backpack weapons aspect" "spells weapons aspect"
"backpack weapons spells" "backpack roles mounts"
"backpack roles spells" "backpack roles mounts"
"summons roles mounts" "summons storage storage"
"summons roles storage"; "summons storage storage";
grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-columns: repeat(3, minmax(0, 1fr));
grid-template-rows: min-content repeat(2, minmax(0, 1fr)) min-content repeat(5, minmax(0, 1fr)); grid-template-rows:
min-content
1fr
repeat(7, min-content);
padding: 4px; padding: 4px;
gap: 4px; gap: 4px;
.panel { .panel {
&--avatar { &--profile {
grid-area: avatar; grid-area: profile;
.avatar {
width: 100%;
aspect-ratio: 1/1;
}
label, input {
width: 100%;
}
} }
&--stats { &--stats {
grid-area: stats; grid-area: stats;
@ -30,6 +41,7 @@
gap: 8px; gap: 8px;
justify-content: space-evenly; justify-content: space-evenly;
padding: 8px; padding: 8px;
flex-wrap: wrap;
} }
} }
&--skills { &--skills {
@ -102,8 +114,8 @@
grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-rows: repeat(15, min-content); grid-template-rows: repeat(15, min-content);
grid-template-areas: grid-template-areas:
"avatar stats" "profile stats"
"avatar skills" "profile skills"
"sync skills" "sync skills"
"weapons skills" "weapons skills"
"weapons skills" "weapons skills"
@ -144,7 +156,7 @@
grid-template-columns: 1fr; grid-template-columns: 1fr;
grid-template-rows: repeat(12, min-content); grid-template-rows: repeat(12, min-content);
grid-template-areas: grid-template-areas:
"avatar" "profile"
"stats" "stats"
"sync" "sync"
"skills" "skills"

View file

@ -1,23 +1,41 @@
<form autocomplete="off" class="actor--pc"> <form autocomplete="off" class="actor--pc">
{{#> dotdungeon.panel class="avatar" title="dotdungeon.actor.pc.panel.avatar"}} {{#> dotdungeon.panel class="profile" title="dotdungeon.actor.pc.panel.profile"}}
{{#if settings.showAvatarOnSheet}}
<img
class="avatar"
src="{{actor.img}}"
data-edit="img"
title="{{actor.name}}"
/>
{{else}}
<label> <label>
Name {{localize "dotdungeon.actor.pc.profile.avatar.label"}}
{{filePicker type="avatar" target="img"}}
</label>
{{/if}}
{{#if settings.devMode}}
<div class="debug-data">
Image URL: {{actor.img}}
</div>
{{/if}}
<label>
{{localize "dotdungeon.actor.pc.profile.name.label"}}
<input <input
type="text" type="text"
name="name" name="name"
value="{{actor.name}}" value="{{actor.name}}"
placeholder="{{localize "dotdungeon.actor.pc.profile.name.placeholder"}}"
> >
</label> </label>
<label> <label>
Group Name {{localize "dotdungeon.actor.pc.profile.group.label"}}
<input <input
type="text" type="text"
name="system.group" name="system.group"
value="{{system.group}}" value="{{system.group}}"
placeholder="{{localize "dotdungeon.actor.pc.profile.group.placeholder"}}"
> >
</label> </label>
{{log system}}
{{log actor}}
{{/ dotdungeon.panel}} {{/ dotdungeon.panel}}
@ -41,13 +59,20 @@
{{#> dotdungeon.panel class="backpack" title="dotdungeon.actor.pc.panel.backpack"}} {{#> dotdungeon.panel class="backpack" title="dotdungeon.actor.pc.panel.backpack"}}
Backpack Backpacks
{{/ dotdungeon.panel}} {{/ dotdungeon.panel}}
{{#> dotdungeon.panel class="sync" title="dotdungeon.actor.pc.panel.sync"}} {{#> dotdungeon.panel class="sync" title="dotdungeon.actor.pc.panel.sync"}}
<div class="sync"> <div class="sync">
<h3 class="sync__header">Sync</h3> <h3 class="sync__header">
Sync
{{#if settings.devMode}}
<span class="debug-data">
({{system.syncDelta}})
</span>
{{/if}}
</h3>
{{!-- <input {{!-- <input
type="number" type="number"
class="sync__input" class="sync__input"