DataModels + Appv2 migration : OK

This commit is contained in:
2026-03-01 01:12:00 +01:00
parent 1ffb8b08fc
commit 6c70dc147c
130 changed files with 2998 additions and 741 deletions

View File

@@ -111,6 +111,28 @@
&:hover { color: #4b4a44; }
}
.horde-stat-label {
font-weight: bold;
font-family: "Wolfsbane2Expanded", cursive;
font-size: 1rem;
font-variant: small-caps;
color: #4b4a44;
display: flex;
align-items: center;
}
.horde-stat-row {
align-items: center;
margin-bottom: 4px;
}
.horde-stat-sep {
color: #4b4a44;
font-weight: bold;
padding: 0 4px;
flex: 0;
}
.bol-footer {
height: 62px;
max-height: 62px;
@@ -346,12 +368,166 @@
}
.character-summary-container {
opacity: 0.95;
background: #f5f0e8;
padding: 4px;
// Table layout
.cs-table {
width: 100%;
margin: 0;
}
// Section headers (PJs / PNJs)
.cs-section-header {
background: linear-gradient(135deg, #7a0000, darkred);
padding: 4px 6px;
min-height: 28px;
align-items: center;
margin-top: 2px;
.item-name,
.cs-name-col {
font-family: "Wolfsbane2Expanded", cursive !important;
font-size: 1.1em !important;
color: #fff !important;
text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.cs-group-header {
font-family: 'Signika', sans-serif !important;
font-size: 0.75em !important;
color: #ffdddd !important;
text-align: center;
justify-content: center;
text-transform: uppercase;
letter-spacing: 0.06em;
border-left: 1px solid rgba(255,255,255,0.25);
}
}
// Column sub-header row (abbrevs)
.cs-col-row {
background: #ede0cc;
min-height: 20px;
padding: 1px 6px;
align-items: center;
border-bottom: 1px solid #c8b89a;
.cs-col-header {
font-family: 'Signika', sans-serif !important;
font-size: 0.75em !important;
color: #7a0000 !important;
text-align: center;
justify-content: center;
font-weight: bold;
}
}
// Actor portrait
.cs-portrait-col {
flex: 0 0 34px;
width: 34px;
min-width: 34px;
display: flex;
align-items: center;
justify-content: center;
}
.cs-portrait {
width: 30px;
height: 30px;
border-radius: 3px;
border: 1px solid #c0a080;
object-fit: cover;
}
// Name column
.cs-name-col {
min-width: 9rem;
width: 9rem;
}
// Actor rows
.cs-actor-row {
min-height: 36px;
padding: 3px 4px;
border-bottom: 1px solid #d0c8b8;
align-items: center;
background: #faf6ee;
transition: background 0.15s;
&:hover {
background: #ede8dc;
}
}
// Actor name link
.cs-actor-name {
font-family: 'Signika', sans-serif;
font-size: 0.9em;
color: #7a0000;
font-weight: bold;
cursor: pointer;
text-decoration: none;
&:hover { text-decoration: underline; }
}
// Stat cells (clickable rolls)
.cs-stat {
justify-content: center;
text-align: center;
}
// Visual separator at start of a column group
.cs-group-sep {
border-left: 1px solid #c0a878;
}
.cs-col-row .cs-group-sep {
border-left: 1px solid #c0a878;
}
.cs-rollable {
display: inline-block;
min-width: 1.8em;
text-align: center;
color: #333;
font-size: 0.88em;
font-weight: bold;
font-family: 'Orbitron', sans-serif;
border-radius: 3px;
padding: 1px 3px;
cursor: pointer;
text-decoration: none;
&:hover {
background: darkred;
color: #fff;
}
}
// Resource cells (val/max)
.cs-resource {
justify-content: center;
font-size: 0.82em;
color: #555;
gap: 1px;
}
.cs-res-val { color: #191813; font-weight: bold; font-family: 'Orbitron', sans-serif; }
.cs-res-sep { color: #999; }
.cs-res-max { color: #888; font-family: 'Orbitron', sans-serif; }
// Horoscope inputs
.cs-input {
width: 3rem;
text-align: center;
border: 1px solid #c0a080;
border-radius: 3px;
padding: 2px 4px;
background: #fff;
font-size: 0.85em;
}
// Delete button
.actor-delete { color: #c0392b; }
.actor-delete:hover { color: #e74c3c; }
}
.character-summary-rollable {
text-decoration: underline;
}
.activated-green {
color: darkgreen;

View File

@@ -10,6 +10,156 @@ body.system-bol img#logo {
/* Reserved for future use */
}
.bol.dialog {
& > section.window-content {
background: white;
border: 10px solid transparent;
border-image: url("/systems/bol/ui/box-border-large.webp") 36 repeat;
border-image-outset: 1;
padding: 10px;
}
.window-title {
font-family: "Wolfsbane2Expanded", cursive;
color: #4b4a44;
}
.sheet-header {
text-align: center;
margin-bottom: 6px;
padding: 4px 0;
border-bottom: 2px solid darkred;
h3 {
font-family: "Wolfsbane2Expanded", cursive;
font-size: 1.3rem;
color: #191813;
margin: 0;
}
}
.roll-box, .box-roll,
div.flexrow:has(.bg-darkred) {
border-radius: 6px;
overflow: hidden;
margin-bottom: 1px;
background: #f5f0e8;
gap: 2px;
.bg-darkred {
padding: 4px 10px;
font-family: "Wolfsbane2Expanded", cursive;
font-size: 0.78rem;
letter-spacing: 0.6px;
border-radius: 5px;
margin: 2px 0 2px 2px;
background: linear-gradient(135deg, #7a0000, darkred);
text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
.cell {
background: transparent;
padding: 2px 6px;
display: flex;
align-items: center;
justify-content: center;
color: #191813;
flex-wrap: wrap;
label.checkbox {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
}
}
}
select, input[type="text"], input[type="number"] {
background: transparent !important;
color: #191813 !important;
border: none !important;
box-shadow: none !important;
font-size: 0.88rem;
width: 100%;
option {
background: #f5f0e8;
color: #191813;
}
option:checked, option:hover {
background: darkred;
color: white;
}
}
input:disabled {
color: #8b0000 !important;
font-weight: bold;
font-size: 0.95rem;
}
.dice-options-cell {
display: flex !important;
flex-wrap: wrap;
gap: 4px;
padding: 4px 6px;
justify-content: center;
.dice-option {
display: flex;
align-items: center;
gap: 3px;
padding: 2px 7px;
border-radius: 4px;
font-size: 0.82rem;
cursor: pointer;
white-space: nowrap;
input[type="radio"] { margin: 0; }
}
.bdice-label { background: #e8f5e8; color: #1a5c1a; border: 1px solid #4caf50; }
.neutral-label { background: #f0ede5; color: #4b4a44; border: 1px solid #9e9e7a; }
.mdice-label { background: #fce8e8; color: #7a0000; border: 1px solid #e57373; }
}
}
.bol.sheet, .bol.dialog {
footer.form-footer {
display: flex;
gap: 8px;
margin-top: 8px;
padding-top: 6px;
border-top: 2px solid darkred;
button {
flex: 1;
background: linear-gradient(135deg, #7a0000, darkred);
color: white;
border: 1px solid #6b0000;
border-radius: 5px;
padding: 5px 10px;
font-family: "Wolfsbane2Expanded", cursive;
font-size: 0.95rem;
letter-spacing: 0.6px;
text-shadow: 0 1px 2px rgba(0,0,0,0.4);
cursor: pointer;
transition: background 0.15s;
i { margin-right: 4px; }
&:hover { background: linear-gradient(135deg, #9b0000, #c00000); }
&[type="button"] {
background: linear-gradient(135deg, #2a2a2a, #4b4a44);
border-color: #2a2a2a;
&:hover { background: linear-gradient(135deg, #3a3a3a, #5b5a54); }
}
}
}
}
.bol.sheet {
.window-header {
border: none;
@@ -88,6 +238,13 @@ body.system-bol img#logo {
border: 1px solid #4b4a44 !important;
border-radius: 0.5rem;
text-align: center;
&[type="select"],
&:is(select) {
border: 1px solid #4b4a44 !important;
border-radius: 0.5rem;
background-color: #2a2a2a30;
}
}
}
}
@@ -170,6 +327,18 @@ body.system-bol img#logo {
margin-top: 6px;
margin-bottom: 6px;
}
.editor,
.editor-content,
prose-mirror {
color: #191813;
}
prose-mirror .editor-content,
prose-mirror p,
prose-mirror div,
prose-mirror span {
color: #191813 !important;
}
}
&.description {
@@ -195,6 +364,12 @@ body.system-bol img#logo {
font-size: 0.95rem;
margin-left: 6px;
}
select.header-field-value {
background-color: #2a2a2a30;
border: 1px solid #4b4a44 !important;
border-radius: 0.5rem;
color: #4b4a44;
}
}
}
}

View File

@@ -176,13 +176,14 @@
.form-group {
display: flex;
flex-direction: row;
align-items: center;
align-items: flex-start;
margin: 3px 0;
label {
> label:not(.checkbox) {
flex: 0 0 40%;
color: #191813;
font-weight: bold;
padding-top: 2px;
}
input[type="checkbox"] {
@@ -201,6 +202,12 @@
.form-fields {
flex: 1;
}
.form-fields {
display: flex;
flex-direction: column;
gap: 4px;
}
}
label.checkbox {
@@ -218,6 +225,13 @@
}
}
.vehicle-checkboxes {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px 16px;
padding: 4px 0;
}
input[type="text"],
input[type="number"],
input[type="text"]:hover,