Files
zopu-code/apps/web/src/hooks/use-global-timeline.ts
2026-08-03 18:13:24 +05:30

32 lines
701 B
TypeScript

import { useCallback, useState } from "react";
export interface LocalTimelineEvent {
readonly createdAt: number;
readonly id: string;
readonly text: string;
readonly type: "client.prompt";
}
export const useGlobalTimeline = () => {
const [events, setEvents] = useState<readonly LocalTimelineEvent[]>([]);
const addPrompt = useCallback((text: string) => {
const normalizedText = text.trim();
if (!normalizedText) {
return;
}
setEvents((current) => [
...current,
{
createdAt: Date.now(),
id: crypto.randomUUID(),
text: normalizedText,
type: "client.prompt",
},
]);
}, []);
return { addPrompt, events };
};