♻️ feat: implement session management for PTY sessions in the server
- Add SessionManager class to handle PTY sessions with WebSocket connections. - Implement methods for creating, retrieving, and destroying sessions. - Handle PTY output and WebSocket messages for terminal interaction. - Ensure graceful session destruction and cleanup. feat: initialize web application with Next.js and Tailwind CSS - Create initial Next.js application structure with TypeScript support. - Set up Tailwind CSS for styling with custom theme configurations. - Add ESLint configuration for code quality and consistency. feat: implement chat API and UI components - Create chat API route to handle chat requests and responses. - Develop chat layout with sidebar, header, chat window, and input components. - Integrate Zustand for state management of conversations and messages. - Add utility functions for formatting dates and managing class names. chore: add environment variables and configuration files - Create .env.example for environment variable setup. - Add configuration files for PostCSS, Tailwind CSS, and TypeScript. - Set up package.json with necessary dependencies and scripts for development.
This commit is contained in:
15
web/hooks/useConversation.ts
Normal file
15
web/hooks/useConversation.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { useChatStore } from "@/lib/store";
|
||||
|
||||
export function useConversation(id: string) {
|
||||
const { conversations, addMessage, updateMessage, deleteConversation } = useChatStore();
|
||||
const conversation = conversations.find((c) => c.id === id) ?? null;
|
||||
|
||||
return {
|
||||
conversation,
|
||||
messages: conversation?.messages ?? [],
|
||||
addMessage: (msg: Parameters<typeof addMessage>[1]) => addMessage(id, msg),
|
||||
updateMessage: (msgId: string, updates: Parameters<typeof updateMessage>[2]) =>
|
||||
updateMessage(id, msgId, updates),
|
||||
deleteConversation: () => deleteConversation(id),
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user