Add character selection using campaign visibility and player characters in campaign

This commit is contained in:
Clément Pons
2025-11-17 17:54:28 +01:00
parent d8480e7366
commit 3de2b0fe19
7 changed files with 98 additions and 72 deletions

25
app/types/campaign.d.ts vendored Normal file
View File

@@ -0,0 +1,25 @@
import type { User } from "./auth";
import type { Character, ItemState } from "./character";
import type { Serialize } from 'nitropack';
export type CampaignVariables = {
money: number;
inventory: ItemState[];
};
export type Campaign = {
id: number;
name: string;
link: string;
owner: { id: number, username: string };
members: Array<{ member: { id: number, username: string } }>;
characters: Array<Partial<{ character: { id: number, name: string, owner: number } }>>;
public_notes: string;
dm_notes: string;
logs: CampaignLog[];
} & CampaignVariables;
export type CampaignLog = {
from: number;
timestamp: Serialize<Date>;
type: 'ITEM' | 'CHARACTER' | 'PLACE' | 'EVENT' | 'FIGHT' | 'TEXT';
details: string;
};