'use client';

import { createContext, useContext, useState, ReactNode } from 'react';

type ChatContextType = {
  selectedChat: string | null; // UUID au lieu de number
  setSelectedChat: (id: string | null) => void;
  showMobileChat: boolean;
  setShowMobileChat: (show: boolean) => void;
};

const ChatContext = createContext<ChatContextType | undefined>(undefined);

export const useChatContext = () => {
  const context = useContext(ChatContext);
  if (!context) {
    throw new Error('useChatContext must be used within ChatProvider');
  }
  return context;
};

type ChatProviderProps = {
  children: ReactNode;
};

export const ChatProvider = ({ children }: ChatProviderProps) => {
  const [selectedChat, setSelectedChat] = useState<string | null>(null);
  const [showMobileChat, setShowMobileChat] = useState(false);

  const value: ChatContextType = {
    selectedChat,
    setSelectedChat,
    showMobileChat,
    setShowMobileChat,
  };

  return <ChatContext.Provider value={value}>{children}</ChatContext.Provider>;
};

