feat: fiche de Communauté (socle)

- acteur community (identité, géographie, histoire, objectifs, taille/effectif)
- 4 Domaines x 2 jauges avec états (Crise/Bas/Stable/Opulent), moral, réserves
- onglets Identité / Domaines / Ressources, édition ProseMirror (formInput)
- header avec fond, totem, niveau, effectif ; icône par défaut
- libellé du type via typeLabels (sans écraser TYPES.* du core)
This commit is contained in:
2026-08-04 17:20:29 +02:00
parent 8d8428cad3
commit 6247f65590
17 changed files with 1080 additions and 7 deletions
+152
View File
@@ -0,0 +1,152 @@
@import "../variables";
@import "../utilities";
.system-vermine2047 .vermine2047.actor.community {
.char-header {
.background-image(url("@{ui-path}/barre_haut.webp"), no-repeat, 100% 100%, right top);
max-height: 130px;
.community-portrait {
display: flex;
align-items: center;
justify-content: center;
}
.char-name,
.char-vermine2047 {
border-bottom: none;
line-height: 2rem;
}
.char-vermine2047 {
font-size: 1.1rem;
}
.profile,
.origin,
.level,
.population {
width: 100%;
}
input[type="text"] {
flex: 1;
min-width: 0;
}
.level input,
.population input {
width: 60px;
text-align: center;
}
}
.community-section {
padding: 8px;
border: 1px solid @color-border-dark-4;
background: fade(@color-chitin-dark, 20%);
h3 {
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-13;
color: @theme-color-dark;
margin: 0 0 8px;
text-align: left;
border-bottom: none;
}
}
.community-linked-group {
display: flex;
gap: 6px;
margin-bottom: 8px;
padding: 6px 8px;
border: 1px dashed @color-hemolymph;
background: fade(@color-hemolymph, 8%);
.label {
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-11;
color: @color-amber;
}
}
.community-size-info {
margin: 6px 0 0;
font-size: @font-size-11;
color: @color-text-light-0;
opacity: 0.85;
}
.community-warning {
margin: 6px 0 0;
padding: 4px 8px;
font-size: @font-size-11;
font-weight: 700;
color: @color-hemolymph;
background: fade(@color-hemolymph, 12%);
border: 1px solid @color-hemolymph;
}
.community-hint {
margin: 0;
font-size: @font-size-11;
font-style: italic;
color: @color-text-light-0;
opacity: 0.7;
}
// Jauges de Domaines
.gauge {
display: flex;
flex-direction: column;
gap: 2px;
padding: 6px;
border: 1px solid @color-border-dark-4;
border-left: 4px solid @color-border-dark-4;
label {
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-11;
color: @color-amber;
}
input[type="number"] {
width: 48px;
text-align: center;
padding: 2px;
}
.gauge-value {
font-family: "DistressBlack", sans-serif;
font-size: @font-size-16;
color: @color-text-light-0;
}
.gauge-state {
font-family: "Roboto", sans-serif;
font-size: @font-size-11;
font-weight: 700;
text-transform: uppercase;
}
&.crisis { border-left-color: @color-hemolymph; .gauge-state { color: @color-hemolymph; } }
&.low { border-left-color: @color-amber; .gauge-state { color: @color-amber; } }
&.stable { border-left-color: @color-acid-green; .gauge-state { color: @color-acid-green; } }
&.opulent { border-left-color: @theme-color-accent; .gauge-state { color: @theme-color-accent; } }
}
.morale-level {
font-family: "Roboto", sans-serif;
font-size: @font-size-12;
font-weight: 700;
&.high { color: @color-acid-green; }
&.normal { color: @color-text-light-0; }
&.low { color: @color-amber; }
&.crisis { color: @color-hemolymph; }
}
}
+6 -4
View File
@@ -126,7 +126,8 @@ ul.unstyled {
// La fiche de groupe contient beaucoup de zones (membres, objectifs, totem…) :
// dès que le contenu dépasse la hauteur de la fenêtre, on autorise le défilement
// pour ne pas perdre l'accès aux zones du bas.
.application.sheet.vermine2047.group .window-content {
.application.sheet.vermine2047.group .window-content,
.application.sheet.vermine2047.community .window-content {
overflow-y: auto;
}
@@ -1027,11 +1028,12 @@ ol.chat-log {
}
}
// Padding supplémentaire pour les fiches groupe, npc et créature
// Padding supplémentaire pour les fiches groupe, npc, créature et communauté
.system-vermine2047 {
.group-content,
.npc-content,
.creature-content {
.creature-content,
.community-content {
padding: 15px;
}
}
@@ -1119,7 +1121,7 @@ ol.chat-log {
label {
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-10;
font-size: @font-size-11;
color: @color-amber;
}
}
+1
View File
@@ -22,6 +22,7 @@
@import "actor/npc";
@import "actor/group";
@import "actor/creature";
@import "actor/community";
// 6. Styles des items
@import "items";