Ajout de tableaux dans la partie templates / pages de lore : possibilité d'ajouter un tableau multiligne (par exemple pour faire des tableaux d'objets dans les boutiques) ; tableau type liste clé / valeur (pour des statistiques et ce genre de chose).
All checks were successful
Build & Push Images / build (brain) (push) Successful in 1m36s
Build & Push Images / build (core) (push) Successful in 1m53s
Build & Push Images / build-switcher (push) Successful in 25s
Build & Push Images / build (web) (push) Successful in 1m59s

Ajout de la possibilité de lié un PNJ à une page de lore
Ajout d'un graphe de liaison entre lore / PNJs
Passage en v.0.12.3-beta
This commit is contained in:
2026-06-12 13:23:46 +02:00
parent 7f519588b6
commit 14fc1c28fe
51 changed files with 1647 additions and 88 deletions

View File

@@ -126,6 +126,127 @@
}
}
// Grille de saisie d'un champ Tableau (KEY_VALUE_LIST) — même esthétique
// que la grille des fiches de personnage (dynamic-fields-form).
.kv-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
gap: 8px;
.kv-cell {
display: flex;
flex-direction: column;
align-items: center;
gap: 3px;
padding: 8px 6px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 4px;
.kv-label {
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #9ca3af;
}
input {
width: 100%;
text-align: center;
padding: 4px 6px;
background: rgba(0, 0, 0, 0.25);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 3px;
color: white;
font-family: 'Cinzel', 'EB Garamond', Georgia, serif;
font-weight: 700;
font-size: 1.05rem;
&:focus { outline: none; border-color: #6c63ff; }
}
}
.kv-empty {
padding: 8px;
font-size: 0.8rem;
color: #6b7280;
font-style: italic;
margin: 0;
}
}
// Éditeur d'un champ Tableau (TABLE) : colonnes du template, lignes libres.
.table-edit-wrap {
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-start;
}
.table-edit {
width: 100%;
border-collapse: collapse;
th {
text-align: left;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #99f6e4;
padding: 6px 8px;
border-bottom: 1px solid rgba(20, 184, 166, 0.35);
}
td {
padding: 4px 4px;
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
input {
width: 100%;
padding: 6px 8px;
background: rgba(0, 0, 0, 0.25);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 3px;
color: white;
font-size: 0.88rem;
&:focus { outline: none; border-color: #14b8a6; }
}
}
.table-edit-actions-col {
width: 34px;
text-align: center;
}
.btn-row-delete {
background: transparent;
border: none;
color: #6b7280;
cursor: pointer;
display: inline-flex;
align-items: center;
padding: 4px;
&:hover { color: #f87171; }
}
}
.btn-row-add {
display: inline-flex;
align-items: center;
gap: 0.3rem;
background: transparent;
border: 1px dashed rgba(20, 184, 166, 0.5);
border-radius: 5px;
color: #5eead4;
font-size: 0.8rem;
padding: 0.35rem 0.7rem;
cursor: pointer;
&:hover { background: rgba(20, 184, 166, 0.08); }
}
.ai-error-banner {
display: flex;
align-items: center;