Work towards better editing of embedded items
This commit is contained in:
parent
0496be73b0
commit
10dcec3bd7
12 changed files with 136 additions and 77 deletions
|
|
@ -16,7 +16,7 @@
|
||||||
background: #048A81;
|
background: #048A81;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus {
|
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #048A81;
|
color: #048A81;
|
||||||
border-color: #048A81;
|
border-color: #048A81;
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
background: #007ACC;
|
background: #007ACC;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus {
|
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #007ACC;
|
color: #007ACC;
|
||||||
border-color: #007ACC;
|
border-color: #007ACC;
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
background: #960200;
|
background: #960200;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus {
|
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #960200;
|
color: #960200;
|
||||||
border-color: #960200;
|
border-color: #960200;
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@
|
||||||
background: #048A81;
|
background: #048A81;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus {
|
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #048A81;
|
color: #048A81;
|
||||||
border-color: #048A81;
|
border-color: #048A81;
|
||||||
|
|
@ -127,7 +127,7 @@
|
||||||
background: #007ACC;
|
background: #007ACC;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus {
|
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #007ACC;
|
color: #007ACC;
|
||||||
border-color: #007ACC;
|
border-color: #007ACC;
|
||||||
|
|
@ -136,7 +136,7 @@
|
||||||
background: #960200;
|
background: #960200;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus {
|
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #960200;
|
color: #960200;
|
||||||
border-color: #960200;
|
border-color: #960200;
|
||||||
|
|
@ -328,6 +328,14 @@
|
||||||
.dotdungeon .actor--pc .panel--aspect .panel__content textarea {
|
.dotdungeon .actor--pc .panel--aspect .panel__content textarea {
|
||||||
resize: vertical;
|
resize: vertical;
|
||||||
}
|
}
|
||||||
|
.dotdungeon .actor--pc .panel--aspect .aspect__used {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
.dotdungeon .actor--pc .panel--aspect .aspect__used--input {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
.dotdungeon .actor--pc .panel--weapons {
|
.dotdungeon .actor--pc .panel--weapons {
|
||||||
grid-area: weapons;
|
grid-area: weapons;
|
||||||
}
|
}
|
||||||
|
|
@ -385,12 +393,6 @@
|
||||||
.dotdungeon .actor--pc .panel--spells .spell .placeholder {
|
.dotdungeon .actor--pc .panel--spells .spell .placeholder {
|
||||||
opacity: 75%;
|
opacity: 75%;
|
||||||
}
|
}
|
||||||
.dotdungeon .actor--pc .panel--spells .spell__actions {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: end;
|
|
||||||
gap: 4px;
|
|
||||||
}
|
|
||||||
.dotdungeon .actor--pc .panel--mounts {
|
.dotdungeon .actor--pc .panel--mounts {
|
||||||
grid-area: mounts;
|
grid-area: mounts;
|
||||||
}
|
}
|
||||||
|
|
@ -400,6 +402,12 @@
|
||||||
.dotdungeon .actor--pc .panel--storage {
|
.dotdungeon .actor--pc .panel--storage {
|
||||||
grid-area: storage;
|
grid-area: storage;
|
||||||
}
|
}
|
||||||
|
.dotdungeon .actor--pc .actions {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: end;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
@container (max-width: 620px) {
|
@container (max-width: 620px) {
|
||||||
.dotdungeon .actor--pc {
|
.dotdungeon .actor--pc {
|
||||||
|
|
@ -482,4 +490,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/generic.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/global/icons.scss%22,%22../styles/global/buttons.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/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC,aEhBW;EFiBX;;AAGD;EACC;;AAGD;ECzBA;EACA;EACA;EDyBC;EACA;;AAEA;EACC;;AAIF;AAAA;AAAA;EAGC;EGpCD;EACA;EACA;EACA;EACA;EACA,aDLW;;ACOX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH+BD;EACC;;AAGD;EACC;;AAEA;EACC;;;AAMH;EACC;;AAEA;EACC;EACA,YEzDW;;AF2DX;EACC;EACA,aE/DS;EFgET;;;AIhEF;EACC;EACA;EACA;;AAIC;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;;ACTH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,YHXc;EGYd,OHXe;;AGYf;EACC;EACA,OHfa;EGgBb,cHhBa;;AGoBf;EACC,YHlBc;EGmBd,OHlBe;;AGmBf;EACC;EACA,OHtBa;EGuBb,cHvBa;;AG2Bf;EACC,YHzBa;EG0Bb,OHzBc;;AG0Bd;EACC;EACA,OH7BY;EG8BZ,cH9BY;;AGkCd;EACC;;AAID;EACC;;AACA;EACC;;;ACvDJ;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EPlBD;EACA;EACA;EOkBE;EACA;EACA,aNrBU;EMsBV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC7BD;EDkCA;IACC;IACA;;;AExCF;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;;AD5NF;ECoOC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AD5PL;ECsQC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AC9RL;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AFlBH;EE4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;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/generic.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/global/icons.scss%22,%22../styles/global/buttons.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/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC,aEhBW;EFiBX;;AAGD;EACC;;AAGD;ECzBA;EACA;EACA;EDyBC;EACA;;AAEA;EACC;;AAIF;AAAA;AAAA;EAGC;EGpCD;EACA;EACA;EACA;EACA;EACA,aDLW;;ACOX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH+BD;EACC;;AAGD;EACC;;AAEA;EACC;;;AAMH;EACC;;AAEA;EACC;EACA,YEzDW;;AF2DX;EACC;EACA,aE/DS;EFgET;;;AIhEF;EACC;EACA;EACA;;AAIC;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;;ACTH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,YHXc;EGYd,OHXe;;AGYf;EACC;EACA,OHfa;EGgBb,cHhBa;;AGoBf;EACC,YHlBc;EGmBd,OHlBe;;AGmBf;EACC;EACA,OHtBa;EGuBb,cHvBa;;AG2Bf;EACC,YHzBa;EG0Bb,OHzBc;;AG0Bd;EACC;EACA,OH7BY;EG8BZ,cH9BY;;AGkCd;EACC;;AAID;EACC;;AACA;EACC;;;ACvDJ;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EPlBD;EACA;EACA;EOkBE;EACA;EACA,aNrBU;EMsBV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC7BD;EDkCA;IACC;IACA;;;AExCF;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAKJ;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;AAIF;EACC;EACA;EACA;EACA;;;ADzOD;ECgPC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;ADxQL;ECkRC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AC1SL;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AFlBH;EE4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22root.css%22%7D */
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,14 @@
|
||||||
.dotdungeon .actor--pc .panel--aspect .panel__content textarea {
|
.dotdungeon .actor--pc .panel--aspect .panel__content textarea {
|
||||||
resize: vertical;
|
resize: vertical;
|
||||||
}
|
}
|
||||||
|
.dotdungeon .actor--pc .panel--aspect .aspect__used {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
.dotdungeon .actor--pc .panel--aspect .aspect__used--input {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
.dotdungeon .actor--pc .panel--weapons {
|
.dotdungeon .actor--pc .panel--weapons {
|
||||||
grid-area: weapons;
|
grid-area: weapons;
|
||||||
}
|
}
|
||||||
|
|
@ -168,12 +176,6 @@
|
||||||
.dotdungeon .actor--pc .panel--spells .spell .placeholder {
|
.dotdungeon .actor--pc .panel--spells .spell .placeholder {
|
||||||
opacity: 75%;
|
opacity: 75%;
|
||||||
}
|
}
|
||||||
.dotdungeon .actor--pc .panel--spells .spell__actions {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: end;
|
|
||||||
gap: 4px;
|
|
||||||
}
|
|
||||||
.dotdungeon .actor--pc .panel--mounts {
|
.dotdungeon .actor--pc .panel--mounts {
|
||||||
grid-area: mounts;
|
grid-area: mounts;
|
||||||
}
|
}
|
||||||
|
|
@ -183,6 +185,12 @@
|
||||||
.dotdungeon .actor--pc .panel--storage {
|
.dotdungeon .actor--pc .panel--storage {
|
||||||
grid-area: storage;
|
grid-area: storage;
|
||||||
}
|
}
|
||||||
|
.dotdungeon .actor--pc .actions {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: end;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
@container (max-width: 620px) {
|
@container (max-width: 620px) {
|
||||||
.dotdungeon .actor--pc {
|
.dotdungeon .actor--pc {
|
||||||
|
|
@ -209,4 +217,4 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*# 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;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;;AC5NF;EDoOC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AC5PL;EDsQC;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;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAKJ;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;AAIF;EACC;EACA;EACA;EACA;;;ACzOD;EDgPC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;ACxQL;EDkRC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */
|
||||||
|
|
|
||||||
|
|
@ -130,8 +130,9 @@
|
||||||
"aspect": {
|
"aspect": {
|
||||||
"name.placeholder": "Name...",
|
"name.placeholder": "Name...",
|
||||||
"used": "Used",
|
"used": "Used",
|
||||||
"duration": "Duration",
|
"duration": "Duration: {duration}",
|
||||||
"description.placeholder": "Description..."
|
"empty": "You don't have an Aspect yet, add one using the button below or drag one onto your character sheet.",
|
||||||
|
"add": "Add An Aspect"
|
||||||
},
|
},
|
||||||
"respawns.header": "Respawns",
|
"respawns.header": "Respawns",
|
||||||
"sync.header": "Sync",
|
"sync.header": "Sync",
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,10 @@ export class ActorHandler extends Actor {
|
||||||
};
|
};
|
||||||
|
|
||||||
async openEmbeddedSheet($event) {
|
async openEmbeddedSheet($event) {
|
||||||
console.log(`openEmbeddedSheet`)
|
|
||||||
if (this.fn?.openEmbeddedSheet) {
|
if (this.fn?.openEmbeddedSheet) {
|
||||||
this.fn.openEmbeddedSheet.bind(this)($event);
|
this.fn.openEmbeddedSheet.bind(this)($event);
|
||||||
} else {
|
} else {
|
||||||
const data = $event.currentTarget.dataset;
|
const data = $event.target.dataset;
|
||||||
let item = await fromUuid(data.embeddedEdit);
|
let item = await fromUuid(data.embeddedEdit);
|
||||||
item?.sheet.render(true);
|
item?.sheet.render(true);
|
||||||
};
|
};
|
||||||
|
|
@ -35,9 +34,8 @@ export class ActorHandler extends Actor {
|
||||||
this.fn.genericEmbeddedDelete.bind(this)($event);
|
this.fn.genericEmbeddedDelete.bind(this)($event);
|
||||||
};
|
};
|
||||||
|
|
||||||
async createCustomSpell() {
|
async createCustomSpell($event) {
|
||||||
if (!this.fn?.createCustomSpell) return;
|
if (!this.fn?.createCustomSpell) return;
|
||||||
this.fn.createCustomSpell.bind(this)();
|
this.fn.createCustomSpell.bind(this)($event);
|
||||||
this.sheet.render(true);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ export class PlayerActor {
|
||||||
|
|
||||||
/** @this {Actor} */
|
/** @this {Actor} */
|
||||||
static async genericEmbeddedDelete($event) {
|
static async genericEmbeddedDelete($event) {
|
||||||
let data = $event.delegateTarget.dataset;
|
let data = $event.currentTarget.dataset;
|
||||||
let item = await fromUuid(data.embeddedId);
|
let item = await fromUuid(data.embeddedId);
|
||||||
|
|
||||||
if (!item) {
|
if (!item) {
|
||||||
|
|
@ -36,6 +36,20 @@ export class PlayerActor {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** @this {Actor} */
|
||||||
|
static async createCustomItem(defaults) {
|
||||||
|
let items = await this.createEmbeddedDocuments(`Item`, defaults);
|
||||||
|
if (items.length == 0) {
|
||||||
|
throw new Error();
|
||||||
|
};
|
||||||
|
this.sheet.render();
|
||||||
|
if (game.settings.get(`dotdungeon`, `openEmbeddedOnCreate`)) {
|
||||||
|
for (const item of items) {
|
||||||
|
item.sheet.render(true);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/** @this {Actor} */
|
/** @this {Actor} */
|
||||||
static async createCustomSpell() {
|
static async createCustomSpell() {
|
||||||
let items = await this.createEmbeddedDocuments(
|
let items = await this.createEmbeddedDocuments(
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ export default {
|
||||||
|
|
||||||
// Simple helpers
|
// Simple helpers
|
||||||
"dd-stringify": v => JSON.stringify(v, null, ` `),
|
"dd-stringify": v => JSON.stringify(v, null, ` `),
|
||||||
|
"dd-empty": v => v.length == 0,
|
||||||
|
|
||||||
// Logic helpers
|
// Logic helpers
|
||||||
"eq": (a, b) => a == b,
|
"eq": (a, b) => a == b,
|
||||||
|
|
@ -26,5 +27,5 @@ export default {
|
||||||
"nand": (a, b) => !(a && b),
|
"nand": (a, b) => !(a && b),
|
||||||
"xor": (a, b) => (a || b) && !(a && b),
|
"xor": (a, b) => (a || b) && !(a && b),
|
||||||
"xnor": (a, b) => !((a || b) && !(a && b)),
|
"xnor": (a, b) => !((a || b) && !(a && b)),
|
||||||
"defined": v => v != null
|
"defined": v => v != null,
|
||||||
};
|
};
|
||||||
|
|
@ -20,8 +20,9 @@ export class PlayerSheet extends GenericActorSheet {
|
||||||
console.debug(`.dungeon | Adding event listeners for Actor: ${this.id}`);
|
console.debug(`.dungeon | Adding event listeners for Actor: ${this.id}`);
|
||||||
|
|
||||||
html.find(`.add-spell`).on(`click`, this.actor.createCustomSpell.bind(this.actor));
|
html.find(`.add-spell`).on(`click`, this.actor.createCustomSpell.bind(this.actor));
|
||||||
html.find(`[data-embedded-update]`)
|
// TODO: Apparently the `change` event is bad to use in Foundry
|
||||||
.on(`change`, this.actor.genericEmbeddedUpdate.bind(this.actor));
|
// html.find(`[data-embedded-update]`)
|
||||||
|
// .on(`change`, this.actor.genericEmbeddedUpdate.bind(this.actor));
|
||||||
html.find(`[data-embedded-delete]`)
|
html.find(`[data-embedded-delete]`)
|
||||||
.on(`click`, this.actor.genericEmbeddedDelete.bind(this.actor));
|
.on(`click`, this.actor.genericEmbeddedDelete.bind(this.actor));
|
||||||
html.find(`[data-embedded-edit]`)
|
html.find(`[data-embedded-edit]`)
|
||||||
|
|
@ -38,6 +39,7 @@ export class PlayerSheet extends GenericActorSheet {
|
||||||
|
|
||||||
ctx.computed = {
|
ctx.computed = {
|
||||||
canChangeGroup: ctx.settings.playersCanChangeGroup || ctx.isGM,
|
canChangeGroup: ctx.settings.playersCanChangeGroup || ctx.isGM,
|
||||||
|
canAddAspect: ctx.items.aspect.length == 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log(ctx)
|
console.log(ctx)
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
&.confirm {
|
&.confirm {
|
||||||
background: $colour-confirm;
|
background: $colour-confirm;
|
||||||
color: $text-on-confirm;
|
color: $text-on-confirm;
|
||||||
&:hover, &:focus {
|
&:hover, &:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: $colour-confirm;
|
color: $colour-confirm;
|
||||||
border-color: $colour-confirm;
|
border-color: $colour-confirm;
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
&.neutral {
|
&.neutral {
|
||||||
background: $colour-neutral;
|
background: $colour-neutral;
|
||||||
color: $text-on-neutral;
|
color: $text-on-neutral;
|
||||||
&:hover, &:focus {
|
&:hover, &:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: $colour-neutral;
|
color: $colour-neutral;
|
||||||
border-color: $colour-neutral;
|
border-color: $colour-neutral;
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
&.danger {
|
&.danger {
|
||||||
background: $colour-danger;
|
background: $colour-danger;
|
||||||
color: $text-on-danger;
|
color: $text-on-danger;
|
||||||
&:hover, &:focus {
|
&:hover, &:focus-visible {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: $colour-danger;
|
color: $colour-danger;
|
||||||
border-color: $colour-danger;
|
border-color: $colour-danger;
|
||||||
|
|
|
||||||
|
|
@ -141,6 +141,18 @@
|
||||||
resize: vertical;
|
resize: vertical;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.aspect {
|
||||||
|
&__used {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
|
||||||
|
&--input {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
&--weapons {
|
&--weapons {
|
||||||
grid-area: weapons;
|
grid-area: weapons;
|
||||||
|
|
@ -203,13 +215,6 @@
|
||||||
.placeholder {
|
.placeholder {
|
||||||
opacity: 75%;
|
opacity: 75%;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__actions {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: end;
|
|
||||||
gap: 4px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&--mounts {
|
&--mounts {
|
||||||
|
|
@ -222,6 +227,13 @@
|
||||||
grid-area: storage;
|
grid-area: storage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: end;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,37 +1,52 @@
|
||||||
{{#> dotdungeon.panel class="aspect" title="dotdungeon.actor.pc.panel.aspect"}}
|
{{#> dotdungeon.panel class="aspect" title="dotdungeon.actor.pc.panel.aspect"}}
|
||||||
|
{{#each items.aspect as | aspect |}}
|
||||||
|
<div class="aspect">
|
||||||
|
<h3 class="aspect__name">{{aspect.name}}</h3>
|
||||||
|
{{#if (defined aspect.system.deactivateAfter)}}
|
||||||
|
<p class="aspect__duration">
|
||||||
|
{{localize "dotdungeon.actor.pc.aspect.duration" duration=(dd-toFriendlyDuration aspect.system.deactivateAfter)}}
|
||||||
|
</p>
|
||||||
|
{{/if}}
|
||||||
|
{{#if aspect.system.info}}
|
||||||
|
<div class="aspect__description">
|
||||||
|
<p>
|
||||||
|
{{aspect.system.info}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
<div class="aspect__used">
|
||||||
<input
|
<input
|
||||||
type="text"
|
id="{{aspect.uuid}}-used"
|
||||||
class="aspect__name--input"
|
|
||||||
name="system.aspect.name"
|
|
||||||
placeholder="{{localize "dotdungeon.actor.pc.aspect.name.placeholder"}}"
|
|
||||||
value="{{system.aspect.name}}"
|
|
||||||
>
|
|
||||||
<label class="aspect__used--label">
|
|
||||||
{{localize "dotdungeon.actor.pc.aspect.used"}}
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
class="aspect__used--input"
|
class="aspect__used--input"
|
||||||
name="system.aspect.used"
|
{{checked aspect.system.used}}
|
||||||
{{checked system.aspect.used}}
|
|
||||||
>
|
>
|
||||||
|
<label
|
||||||
|
class="aspect__used--label"
|
||||||
|
for="{{aspect.uuid}}-used"
|
||||||
|
>
|
||||||
|
{{localize "dotdungeon.actor.pc.aspect.used"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="aspect__duration--label">
|
</div>
|
||||||
{{localize "dotdungeon.actor.pc.aspect.duration"}}
|
<div class="actions">
|
||||||
{{#if system.aspect.deactivateAfter}}
|
<button
|
||||||
<span class="friendly-duration aspect__duration--friendly">
|
class="confirm"
|
||||||
({{dd-toFriendlyDuration system.aspect.deactivateAfter}})
|
data-embedded-edit="{{aspect.uuid}}"
|
||||||
</span>
|
>
|
||||||
|
Edit
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<p>
|
||||||
|
{{localize "dotdungeon.actor.pc.aspect.empty"}}
|
||||||
|
</p>
|
||||||
|
{{/each}}
|
||||||
|
{{#if (or computed.canAddAspect (not (dd-empty items.aspect)))}}
|
||||||
|
<button
|
||||||
|
class="confirm"
|
||||||
|
>
|
||||||
|
{{localize "dotdungeon.actor.pc.aspect.add"}}
|
||||||
|
</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<input
|
{{/ dotdungeon.panel}}
|
||||||
type="number"
|
|
||||||
class="aspect__duration--input"
|
|
||||||
name="system.aspect.deactivateAfter"
|
|
||||||
value="{{system.aspect.deactivateAfter}}"
|
|
||||||
>
|
|
||||||
</label>
|
|
||||||
<textarea
|
|
||||||
class="aspect__description--input"
|
|
||||||
name="system.aspect.description"
|
|
||||||
placeholder="{{localize "dotdungeon.actor.pc.aspect.description.placeholder"}}"
|
|
||||||
>{{system.aspect.description}}</textarea>
|
|
||||||
{{/ dotdungeon.panel}}
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<div class="spell__actions">
|
<div class="actions">
|
||||||
<button
|
<button
|
||||||
class="confirm"
|
class="confirm"
|
||||||
data-embedded-edit="{{spell.uuid}}"
|
data-embedded-edit="{{spell.uuid}}"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue