|
|
@@ -53,6 +53,11 @@ export const useChat = ({ chatType }: UseChatProps) => {
|
|
|
setIsLimitReached(parsed.isLimitReached || false);
|
|
|
setReportGenerated(parsed.reportGenerated || false);
|
|
|
setCurrentSuggestions(parsed.currentSuggestions || []);
|
|
|
+ // Cargar sessionRecordId si existe
|
|
|
+ if (parsed.sessionRecordId) {
|
|
|
+ setSessionRecordId(parsed.sessionRecordId);
|
|
|
+ console.log("📂 [useChat] SessionRecordId cargado desde localStorage:", parsed.sessionRecordId);
|
|
|
+ }
|
|
|
// Si hay mensajes guardados, ocultar sugerencias iniciales
|
|
|
if (messagesWithDates && messagesWithDates.length > 0) {
|
|
|
setShowSuggestions(false);
|
|
|
@@ -83,9 +88,11 @@ export const useChat = ({ chatType }: UseChatProps) => {
|
|
|
isLimitReached,
|
|
|
reportGenerated,
|
|
|
currentSuggestions,
|
|
|
+ sessionRecordId,
|
|
|
};
|
|
|
+ console.log("💾 [useChat] Guardando estado en localStorage, sessionRecordId:", sessionRecordId);
|
|
|
localStorage.setItem(storageKey, JSON.stringify(stateToSave));
|
|
|
- }, [messages, messageCount, isLimitReached, reportGenerated, currentSuggestions, chatType]);
|
|
|
+ }, [messages, messageCount, isLimitReached, reportGenerated, currentSuggestions, chatType, sessionRecordId]);
|
|
|
|
|
|
// Función para generar reporte usando useCallback para evitar re-renderizados
|
|
|
const generateMedicalReport = useCallback(async () => {
|
|
|
@@ -539,6 +546,8 @@ export const useChat = ({ chatType }: UseChatProps) => {
|
|
|
|
|
|
const handleScheduleFromAlert = async (onSuccess: (recordId: string) => void) => {
|
|
|
console.log("🚀 [useChat] handleScheduleFromAlert iniciado");
|
|
|
+ console.log("🔍 [useChat] sessionRecordId actual:", sessionRecordId);
|
|
|
+ console.log("🔍 [useChat] Tipo de sessionRecordId:", typeof sessionRecordId);
|
|
|
|
|
|
// Si ya existe un recordId de esta sesión, reutilizarlo
|
|
|
if (sessionRecordId) {
|
|
|
@@ -550,6 +559,8 @@ export const useChat = ({ chatType }: UseChatProps) => {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ console.log("➡️ [useChat] No hay sessionRecordId, creando nuevo reporte...");
|
|
|
+
|
|
|
setIsSchedulingFromAlert(true);
|
|
|
|
|
|
try {
|
|
|
@@ -573,10 +584,13 @@ export const useChat = ({ chatType }: UseChatProps) => {
|
|
|
const data = await response.json();
|
|
|
const recordId = data.id; // ID del Record creado
|
|
|
console.log("✅ [useChat] Record creado exitosamente, ID:", recordId);
|
|
|
+ console.log("💾 [useChat] Guardando recordId en sessionRecordId...");
|
|
|
|
|
|
// Guardar el recordId en el estado de la sesión
|
|
|
setSessionRecordId(recordId);
|
|
|
|
|
|
+ console.log("✅ [useChat] sessionRecordId actualizado a:", recordId);
|
|
|
+
|
|
|
// Callback con el recordId para abrir el modal de cita
|
|
|
onSuccess(recordId);
|
|
|
|