Files
LoreMind/web/src/app/services/session-entry.model.ts
IETM_FIXE\ietm6 e3fc96a1bc
Some checks failed
Build & Push Images / build (brain) (push) Has been cancelled
Build & Push Images / build (core) (push) Has been cancelled
Build & Push Images / build (web) (push) Has been cancelled
Build & Push Images / build-switcher (push) Has been cancelled
Ajout d'un mode "jeu" (possibilité de lancer des sessions dans une campagne). Cela permet de faire de prendre des notes en live au cours d'une partie et d'avoir plusieurs outils sous la main pour aider le mj :
- Possibilité de parler à une IA pour règle de jeu ou élément de lore / campagne au cours d'une partie comme aide mémoire
- Onglet dédié aux personnages de la campagne
- Onglet dédié aux scènes
- Onglet avec dès pour ceux qui souhaitent ;

Possibilité de rajouté une note en tant qu'évènement, jet de dès ou encore action du joueur par exemple. D'autres ajouts seront fait dans le futur (notamment des tables aléatoires pour PNJ en live).
2026-05-20 14:59:26 +02:00

36 lines
1.2 KiB
TypeScript

/** Type d'une entrée de journal de session — miroir de l'enum Java EntryType. */
export type EntryType = 'NOTE' | 'EVENT' | 'DICE_ROLL' | 'PLAYER_ACTION';
/** Entrée du journal d'une Session (note, évènement, jet, action joueur). */
export interface SessionEntry {
id: string;
sessionId: string;
type: EntryType;
content: string;
occurredAt: string;
createdAt: string;
updatedAt: string;
}
/** Payload de création/édition d'une entrée. */
export interface SessionEntryInput {
type: EntryType;
content: string;
/** Optionnel : si absent, le backend utilisera "maintenant". */
occurredAt?: string;
}
/** Métadonnées d'affichage par type — utilisées par la timeline. */
export interface EntryTypeMeta {
label: string;
icon: 'StickyNote' | 'Sparkles' | 'Dices' | 'UserCheck';
color: string;
}
export const ENTRY_TYPE_META: Record<EntryType, EntryTypeMeta> = {
NOTE: { label: 'Note', icon: 'StickyNote', color: '#9ca3af' },
EVENT: { label: 'Évènement', icon: 'Sparkles', color: '#f59e0b' },
DICE_ROLL: { label: 'Jet de dés', icon: 'Dices', color: '#6c63ff' },
PLAYER_ACTION: { label: 'Action joueur', icon: 'UserCheck', color: '#10b981' },
};