Files
ttrpg-tools/src/components/journal/index.ts
T
hypercross 421af125bb feat(journal): delete sessions from the ui
Add a confirmation dialog that spells out the removal is irreversible, and expose delete from the GM session dropdown and the lobby session list.
2026-09-13 13:36:42 +08:00

70 lines
2.6 KiB
TypeScript

/**
* Journal module — barrel export
*/
// Trigger message type registration
import "./types";
export {
registerMessageType,
getMessageType,
registeredTypes,
validatePayload,
canEmit,
} from "./registry";
export type { MessageTypeDef, StreamMessage } from "./registry";
export {
connectBroker,
joinSession,
switchSession,
leaveSession,
disconnectStream,
resolveBrokerUrl,
sendMessage,
revertLatest,
canRevert,
visibleMessages,
useJournalStream,
journalStreamState,
createSession,
deleteSession,
sessions,
setMyName,
} from "../stores/journalStream";
export type {
JournalStreamState,
SessionMeta,
SessionManifest,
} from "../stores/journalStream";
// UI components
export { JournalPanel } from "./JournalPanel";
export type { JournalPanelProps } from "./JournalPanel";
export { JournalHeader } from "./JournalHeader";
export { ConnectDialog } from "./ConnectDialog";
export { InviteDialog } from "./InviteDialog";
export { SessionDropdown } from "./SessionDropdown";
export { CreateSessionDialog } from "./CreateSessionDialog";
export { DeleteSessionDialog } from "./DeleteSessionDialog";
export { StreamView } from "./StreamView";
export { StreamMessageCard } from "./StreamMessage";
export { ComposePanel } from "./ComposePanel";
export { JournalInput } from "./JournalInput";
export { DynamicForm } from "./DynamicForm";
export { useJournalCompletions, ensureReactivity } from "./completions";
export { dispatchCommand } from "./command-dispatcher";
export type { DispatchContext, DispatchResult } from "./command-dispatcher";
export { parseInput } from "./command-parser";
export type { ParsedInput, CompletionItem } from "./command-parser";
export { buildCompletions } from "./command-completions";
export type { CompletionsContext } from "./command-completions";
export { VariableView } from "./VariableView";
export { parseDeclare, declareSchema } from "./declare-parser";
export type { VarDeclaration, TagModifier } from "./declare-parser";
export { evaluateExpression, expressionIsTag, exprValueToString } from "./variable-expression";
export type { EvalContext, EvalResult, ExprValue } from "./variable-expression";
export { initReactivity, computeCascade, getCombined, getMods, getDeclExpr, setBase, extractDependencies, computeInitialValues, getReactivityDiagnostics, clearReactivityDiagnostics, onReactivityDiagnostics, resolveVariable } from "./var-reactivity";
export type { VarReactivityState, VariableStore, ReactivityDiagnostic } from "./var-reactivity";
export { JournalContext, useJournalContext } from "./JournalContext";
export type { JournalContextValue } from "./JournalContext";