[Bugfix] Fix light theme to roll messages (#1066)

* fix light theme to roll messages

* fix light theme issues

* finally fix issues

---------

Co-authored-by: WBHarry <williambjrklund@gmail.com>
This commit is contained in:
Murilo Brito 2025-08-23 21:52:18 -03:00 committed by GitHub
parent 661808b5f1
commit 2a0d748b5e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 523 additions and 423 deletions

View file

@ -2385,7 +2385,7 @@
"subtype": "Subtype",
"folders": {
"adversaries": "Adversaries",
"ancestries": "Ancestries",
"ancestries": "Ancestries",
"equipment": "Equipment",
"classes": "Classes",
"subclasses": "Subclasses",

View file

@ -11,19 +11,19 @@ export default class DhMeasuredTemplate extends foundry.canvas.placeables.Measur
if (splitRulerText.length > 0) {
const rulerValue = Number(splitRulerText[0]);
const result = DhMeasuredTemplate.getRangeLabels(rulerValue, rangeMeasurementSettings);
this.ruler.text = result.distance + (result.units ? (' ' + result.units) : '');
this.ruler.text = result.distance + (result.units ? ' ' + result.units : '');
}
}
}
static getRangeLabels(distanceValue, settings) {
let result = { distance: distanceValue, units: '' }
let result = { distance: distanceValue, units: '' };
const rangeMeasurementOverride = canvas.scene.flags.daggerheart?.rangeMeasurementOverride;
if (rangeMeasurementOverride === true) {
result.distance = distanceValue;
result.units = canvas.scene?.grid?.units;
return result
return result;
}
if (distanceValue <= settings.melee) {
result.distance = game.i18n.localize('DAGGERHEART.CONFIG.Range.melee.name');

View file

@ -23,14 +23,22 @@ export class DHActionDiceData extends foundry.abstract.DataModel {
multiplier: new fields.StringField({
choices: CONFIG.DH.GENERAL.multiplierTypes,
initial: 'prof',
label: "DAGGERHEART.ACTIONS.Config.damage.multiplier"
label: 'DAGGERHEART.ACTIONS.Config.damage.multiplier'
}),
flatMultiplier: new fields.NumberField({ nullable: true, initial: 1, label: "DAGGERHEART.ACTIONS.Config.damage.flatMultiplier" }),
dice: new fields.StringField({ choices: CONFIG.DH.GENERAL.diceTypes, initial: 'd6', label: "DAGGERHEART.GENERAL.Dice.single" }),
bonus: new fields.NumberField({ nullable: true, initial: null, label: "DAGGERHEART.GENERAL.bonus" }),
flatMultiplier: new fields.NumberField({
nullable: true,
initial: 1,
label: 'DAGGERHEART.ACTIONS.Config.damage.flatMultiplier'
}),
dice: new fields.StringField({
choices: CONFIG.DH.GENERAL.diceTypes,
initial: 'd6',
label: 'DAGGERHEART.GENERAL.Dice.single'
}),
bonus: new fields.NumberField({ nullable: true, initial: null, label: 'DAGGERHEART.GENERAL.bonus' }),
custom: new fields.SchemaField({
enabled: new fields.BooleanField({ label: "DAGGERHEART.ACTIONS.Config.general.customFormula" }),
formula: new FormulaField({ label: "DAGGERHEART.ACTIONS.Config.general.formula", initial: '' })
enabled: new fields.BooleanField({ label: 'DAGGERHEART.ACTIONS.Config.general.customFormula' }),
formula: new FormulaField({ label: 'DAGGERHEART.ACTIONS.Config.general.formula', initial: '' })
})
};
}

View file

@ -199,7 +199,7 @@ export default class DHWeapon extends AttachableItem {
];
for (const { value, type } of attack.damage.parts) {
const parts = value.custom.enabled ? [game.i18n.localize("DAGGERHEART.GENERAL.custom")] : [value.dice];
const parts = value.custom.enabled ? [game.i18n.localize('DAGGERHEART.GENERAL.custom')] : [value.dice];
if (!value.custom.enabled && value.bonus) parts.push(value.bonus.signedString());
if (type.size > 0) {

View file

@ -35,7 +35,7 @@
gap: 4px;
.activity-marker {
font-size: .5rem;
font-size: 0.5rem;
flex: none;
color: light-dark(@dark-blue, @golden);
margin-right: 4px;

View file

@ -1,144 +1,144 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
@import '../../utils/spacing.less';
.theme-light {
.daggerheart.chat.domain-card {
.domain-card-move .domain-card-header {
border-bottom: 1px solid @dark-blue;
&:hover {
background: @dark-blue-10;
}
.domain-label {
.title {
color: @dark-blue;
}
.tags .tag {
background: @dark-15;
border: 1px solid @dark;
color: @dark;
}
}
.fa-chevron-down {
color: @dark-blue;
}
}
.description {
color: @dark;
}
}
}
.daggerheart.chat {
&.domain-card {
display: flex;
flex-direction: column;
align-items: center;
.card-img {
width: 100%;
height: 200px;
mask-image: linear-gradient(0deg, transparent 0%, black 10%, black 90%, transparent 100%);
object-fit: cover;
}
details[open] {
.fa-chevron-down {
transform: rotate(180deg);
transition: all 0.3s ease;
}
}
.domain-card-move {
width: 100%;
.fa-chevron-down {
transition: all 0.3s ease;
margin-left: auto;
}
.domain-card-header {
display: flex;
flex-direction: row;
align-items: center;
margin: 8px;
padding-bottom: 5px;
width: -webkit-fill-available;
gap: 5px;
border-bottom: 1px solid @golden;
&:hover {
background: @golden-10;
cursor: pointer;
transition: all 0.3s ease;
}
.domain-label {
display: flex;
flex-direction: column;
width: 100%;
padding-bottom: 5px;
width: -webkit-fill-available;
gap: 5px;
.title {
font-size: var(--font-size-20);
color: @golden;
font-weight: 700;
}
.tags {
display: flex;
gap: 10px;
flex-wrap: wrap;
.tag {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 3px 5px;
font-size: var(--font-size-12);
background: @beige-15;
border: 1px solid @beige;
color: @beige;
border-radius: 3px;
}
}
}
}
}
.description {
padding: 8px;
}
.ability-card-footer {
display: flex;
flex-wrap: wrap;
gap: 5px;
width: 100%;
padding: 0 8px;
button {
height: 40px;
flex: 1 1 calc(50% - 5px);
&:nth-last-child(1):nth-child(odd) {
flex-basis: 100%;
}
}
.ability-card-action-cost {
margin: auto;
font-size: 1.5em;
}
}
}
}
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
@import '../../utils/spacing.less';
#interface.theme-light {
.daggerheart.chat.domain-card {
.domain-card-move .domain-card-header {
border-bottom: 1px solid @dark-blue;
&:hover {
background: @dark-blue-10;
}
.domain-label {
.title {
color: @dark-blue;
}
.tags .tag {
background: @dark-15;
border: 1px solid @dark;
color: @dark;
}
}
.fa-chevron-down {
color: @dark-blue;
}
}
.description {
color: @dark;
}
}
}
.daggerheart.chat {
&.domain-card {
display: flex;
flex-direction: column;
align-items: center;
.card-img {
width: 100%;
height: 200px;
mask-image: linear-gradient(0deg, transparent 0%, black 10%, black 90%, transparent 100%);
object-fit: cover;
}
details[open] {
.fa-chevron-down {
transform: rotate(180deg);
transition: all 0.3s ease;
}
}
.domain-card-move {
width: 100%;
.fa-chevron-down {
transition: all 0.3s ease;
margin-left: auto;
}
.domain-card-header {
display: flex;
flex-direction: row;
align-items: center;
margin: 8px;
padding-bottom: 5px;
width: -webkit-fill-available;
gap: 5px;
border-bottom: 1px solid @golden;
&:hover {
background: @golden-10;
cursor: pointer;
transition: all 0.3s ease;
}
.domain-label {
display: flex;
flex-direction: column;
width: 100%;
padding-bottom: 5px;
width: -webkit-fill-available;
gap: 5px;
.title {
font-size: var(--font-size-20);
color: @golden;
font-weight: 700;
}
.tags {
display: flex;
gap: 10px;
flex-wrap: wrap;
.tag {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 3px 5px;
font-size: var(--font-size-12);
background: @beige-15;
border: 1px solid @beige;
color: @beige;
border-radius: 3px;
}
}
}
}
}
.description {
padding: 8px;
}
.ability-card-footer {
display: flex;
flex-wrap: wrap;
gap: 5px;
width: 100%;
padding: 0 8px;
button {
height: 40px;
flex: 1 1 calc(50% - 5px);
&:nth-last-child(1):nth-child(odd) {
flex-basis: 100%;
}
}
.ability-card-action-cost {
margin: auto;
font-size: 1.5em;
}
}
}
}

View file

@ -1,124 +1,125 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
@import '../../utils/spacing.less';
.theme-light {
.daggerheart.chat.action {
.action-move .action-section {
border-bottom: 1px solid @dark-blue;
&:hover {
background: @dark-blue-10;
}
.action-header {
.title {
color: @dark-blue;
}
.label {
color: @dark;
}
}
.fa-chevron-down {
color: @dark-blue;
}
}
.description {
color: @dark;
}
}
}
.daggerheart.chat {
&.action {
display: flex;
flex-direction: column;
align-items: center;
details[open] {
.fa-chevron-down {
transform: rotate(180deg);
transition: all 0.3s ease;
}
}
.action-move {
width: 100%;
.fa-chevron-down {
transition: all 0.3s ease;
margin-left: auto;
}
.action-section {
display: flex;
flex-direction: row;
align-items: center;
margin: 8px 8px 0;
padding-bottom: 5px;
width: -webkit-fill-available;
gap: 5px;
border-bottom: 1px solid @golden;
&:hover {
background: @golden-10;
cursor: pointer;
transition: all 0.3s ease;
}
.action-img {
width: 40px;
height: 40px;
border-radius: 3px;
object-fit: cover;
}
.action-header {
display: flex;
flex-direction: column;
gap: 5px;
.title {
font-size: var(--font-size-20);
color: @golden;
font-weight: 700;
}
.label {
font-size: var(--font-size-12);
color: @beige;
margin: 0;
}
}
}
}
.description {
padding: 8px;
}
.ability-card-footer {
display: flex;
flex-wrap: wrap;
gap: 5px;
width: 100%;
padding: 0 8px;
button {
height: 40px;
flex: 1 1 calc(50% - 5px);
&:nth-last-child(1):nth-child(odd) {
flex-basis: 100%;
}
}
.ability-card-action-cost {
margin: auto;
font-size: 1.5em;
}
}
}
}
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
@import '../../utils/spacing.less';
#interface.theme-light {
.daggerheart.chat.action {
.action-move .action-section {
border-bottom: 1px solid @dark-blue;
&:hover {
background: @dark-blue-10;
}
.action-header {
.title {
color: @dark-blue;
}
.label {
color: @dark;
}
}
.fa-chevron-down {
color: @dark-blue;
}
}
.description {
color: @dark;
}
}
}
.daggerheart.chat {
&.action {
display: flex;
flex-direction: column;
align-items: center;
details[open] {
.fa-chevron-down {
transform: rotate(180deg);
transition: all 0.3s ease;
}
}
.action-move {
width: 100%;
.fa-chevron-down {
transition: all 0.3s ease;
margin-left: auto;
}
.action-section {
display: flex;
flex-direction: row;
align-items: center;
margin: 8px 8px 0;
padding-bottom: 5px;
width: -webkit-fill-available;
gap: 5px;
border-bottom: 1px solid @golden;
&:hover {
background: @golden-10;
cursor: pointer;
transition: all 0.3s ease;
}
.action-img {
width: 40px;
height: 40px;
border-radius: 3px;
object-fit: cover;
}
.action-header {
display: flex;
flex-direction: column;
gap: 5px;
color: @beige;
.title {
font-size: var(--font-size-20);
color: @golden;
font-weight: 700;
}
.label {
font-size: var(--font-size-12);
color: @beige;
margin: 0;
}
}
}
}
.description {
padding: 8px;
}
.ability-card-footer {
display: flex;
flex-wrap: wrap;
gap: 5px;
width: 100%;
padding: 0 8px;
button {
height: 40px;
flex: 1 1 calc(50% - 5px);
&:nth-last-child(1):nth-child(odd) {
flex-basis: 100%;
}
}
.ability-card-action-cost {
margin: auto;
font-size: 1.5em;
}
}
}
}

View file

@ -2,52 +2,137 @@
@import '../../utils/fonts.less';
@import '../../utils/spacing.less';
.theme-light {
.daggerheart,
#chat-notifications {
#interface.theme-light {
.daggerheart.chat-sidebar .chat-log,
#chat-notifications .chat-log {
--text-color: @dark-blue;
--bg-color: @dark-blue-40;
.message-content .chat-roll {
.roll-part-header {
span,
span:before,
span:after {
color: @dark-blue;
}
&:before {
background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, @dark-blue 100%);
color: @dark-blue;
.chat-message {
.roll-formula {
background: @dark-15;
color: @dark;
}
&.duality {
background-image: url(../assets/parchments/dh-parchment-dark.png);
.message-content {
color: @beige;
}
&:after {
background: linear-gradient(90deg, @dark-blue 0%, rgba(0, 0, 0, 0) 100%);
color: @dark-blue;
.roll-formula {
background: @dark-15;
color: @dark;
}
.message-header {
.message-sub-header-container {
color: @beige;
h4 {
color: @golden;
}
}
.message-header-metadata {
.message-metadata {
color: @beige;
}
}
}
&.hope {
--text-color: @golden;
--bg-color: @golden-40;
.message-header,
.message-content {
background-color: @golden-bg;
}
.roll-formula {
background: var(--bg-color);
color: var(--text-color);
}
}
&.fear {
--text-color: @chat-blue;
--bg-color: @chat-blue-40;
.message-header,
.message-content {
background-color: @chat-blue-bg;
}
.roll-formula {
background: var(--bg-color);
color: var(--text-color);
}
}
&.critical {
--text-color: @chat-purple;
--bg-color: @chat-purple-40;
.message-header,
.message-content {
background-color: @chat-purple-bg;
}
.roll-formula {
background: var(--bg-color);
color: var(--text-color);
}
}
}
.roll-section {
.roll-part-content {
.roll-result-value {
&:not(.duality) {
.font-20 {
color: @dark;
}
.roll-die {
color: @beige;
}
fieldset {
color: @dark-blue;
border-color: @dark-blue;
legend {
color: @dark-blue;
}
}
.chat-roll {
.roll-part-header {
color: @dark-blue;
.dice-tooltip .wrapper .roll-die {
color: @beige;
span::before,
span::after {
color: @dark-blue;
}
&:before {
background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, @dark-blue 100%);
}
&:after {
background: linear-gradient(90deg, @dark-blue 0%, rgba(0, 0, 0, 0) 100%);
}
}
.roll-part-content {
&.dice-result {
color: @dark;
}
.roll-result-container {
color: @dark-blue;
}
}
}
}
}
.chat-message .roll-formula {
background: @dark-15;
color: @dark;
}
}
}
.daggerheart.chat {
&.resource-roll {
.reroll-message {
color: @beige;
text-align: center;
font-size: var(--font-size-18);
margin-bottom: 0;

View file

@ -1,110 +1,110 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
@import '../../utils/spacing.less';
.theme-light {
.daggerheart.chat.downtime {
.downtime-moves-list .downtime-move {
&:hover {
background: @dark-blue-10;
}
.downtime-label {
border-bottom: 1px solid @dark-blue;
.header-label .title {
color: @dark-blue;
}
.header-label .label {
color: @dark;
}
}
.fa-chevron-down {
color: @dark-blue;
}
}
.description {
color: @dark;
}
}
}
.daggerheart.chat {
&.downtime {
display: flex;
flex-direction: column;
align-items: center;
details[open] {
.fa-chevron-down {
transform: rotate(180deg);
transition: all 0.3s ease;
}
}
.downtime-moves-list {
display: flex;
flex-direction: column;
gap: 5px;
width: 100%;
.fa-chevron-down {
transition: all 0.3s ease;
margin-left: auto;
}
.downtime-move {
width: 100%;
.downtime-label {
display: flex;
align-items: center;
gap: 5px;
border-bottom: 1px solid @golden;
margin: 0 8px;
padding-bottom: 5px;
width: -webkit-fill-available;
&:hover {
background: light-dark(@dark-blue-10, @golden-10);
cursor: pointer;
transition: all 0.3s ease;
}
.downtime-image {
width: 40px;
height: 40px;
border-radius: 3px;
}
.header-label {
padding: 8px;
.title {
font-size: var(--font-size-16);
color: @golden;
font-weight: 700;
}
.label {
font-size: var(--font-size-12);
color: @beige;
margin: 0;
}
}
}
.description {
padding: 8px;
}
}
.action-use-button {
width: -webkit-fill-available;
margin: 0 8px;
font-weight: 600;
height: 40px;
}
}
}
}
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
@import '../../utils/spacing.less';
#interface.theme-light {
.daggerheart.chat.downtime {
.downtime-moves-list .downtime-move {
&:hover {
background: @dark-blue-10;
}
.downtime-label {
border-bottom: 1px solid @dark-blue;
.header-label .title {
color: @dark-blue;
}
.header-label .label {
color: @dark;
}
}
.fa-chevron-down {
color: @dark-blue;
}
}
.description {
color: @dark;
}
}
}
.daggerheart.chat {
&.downtime {
display: flex;
flex-direction: column;
align-items: center;
details[open] {
.fa-chevron-down {
transform: rotate(180deg);
transition: all 0.3s ease;
}
}
.downtime-moves-list {
display: flex;
flex-direction: column;
gap: 5px;
width: 100%;
.fa-chevron-down {
transition: all 0.3s ease;
margin-left: auto;
}
.downtime-move {
width: 100%;
.downtime-label {
display: flex;
align-items: center;
gap: 5px;
border-bottom: 1px solid @golden;
margin: 0 8px;
padding-bottom: 5px;
width: -webkit-fill-available;
&:hover {
background: light-dark(@dark-blue-10, @golden-10);
cursor: pointer;
transition: all 0.3s ease;
}
.downtime-image {
width: 40px;
height: 40px;
border-radius: 3px;
}
.header-label {
padding: 8px;
.title {
font-size: var(--font-size-16);
color: @golden;
font-weight: 700;
}
.label {
font-size: var(--font-size-12);
color: @beige;
margin: 0;
}
}
}
.description {
padding: 8px;
}
}
.action-use-button {
width: -webkit-fill-available;
margin: 0 8px;
font-weight: 600;
height: 40px;
}
}
}
}

View file

@ -1,8 +1,8 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.theme-light {
.chat-message .message-content {
#interface.theme-light {
.chat-message:not(.duality) .message-content {
color: @dark;
blockquote {
@ -58,6 +58,12 @@
font-family: @font-body;
font-weight: bold;
}
.dice-roll .dice-formula,
.dice-roll .dice-total {
background: @dark-blue-40;
color: @dark-blue;
}
}
}
@ -158,8 +164,8 @@
.dice-roll .dice-total {
box-shadow: none;
border: none;
background: light-dark(@dark-blue-40, @golden-40);
color: light-dark(@dark-blue, @golden);
background: @golden-10;
color: @golden;
font-weight: 600;
align-content: center;
}

View file

@ -1,3 +1,3 @@
<div class="daggerheart chat resource-roll">
<h5 class="reroll-message">{{localize "DAGGERHEART.UI.Chat.resourceRoll.playerMessage" user=user name=name }}</h5>
</div>
<ul class="daggerheart chat resource-roll">
<li class="reroll-message">{{localize "DAGGERHEART.UI.Chat.resourceRoll.playerMessage" user=user name=name }}</li>
</ul>