Update frontend/src/App.js
Browse files- frontend/src/App.js +16 -16
frontend/src/App.js
CHANGED
@@ -5,7 +5,6 @@ import Panel from './components/Panel';
|
|
5 |
import Login from './components/Login';
|
6 |
import Signin from './components/Signin';
|
7 |
import AdminPanel from './components/AdminPanel';
|
8 |
-
|
9 |
function App() {
|
10 |
const [isCollapsed, setIsCollapsed] = useState(false);
|
11 |
const [messages, setMessages] = useState([]);
|
@@ -30,14 +29,14 @@ useEffect(() => {
|
|
30 |
|
31 |
fetchConversations();
|
32 |
|
33 |
-
console.log("Role localStorage:", storedUserRole);
|
34 |
}
|
35 |
}, []);
|
36 |
|
37 |
const fetchConversations = async () => {
|
38 |
try {
|
39 |
const response = await fetch('/api/conversations', {
|
40 |
-
credentials: 'include',
|
41 |
});
|
42 |
|
43 |
if (response.ok) {
|
@@ -57,11 +56,9 @@ useEffect(() => {
|
|
57 |
console.error('Erreur:', error);
|
58 |
}
|
59 |
};
|
60 |
-
|
61 |
const refreshConversationList = async () => {
|
62 |
-
await fetchConversations();
|
63 |
};
|
64 |
-
|
65 |
const loadConversationMessages = async (conversationId) => {
|
66 |
try {
|
67 |
const response = await fetch(`/api/conversations/${conversationId}/messages`, {
|
@@ -144,9 +141,10 @@ useEffect(() => {
|
|
144 |
}
|
145 |
} catch (error) {
|
146 |
console.error('Erreur lors de la création de la conversation:', error);
|
147 |
-
return;
|
148 |
}
|
149 |
} else {
|
|
|
150 |
try {
|
151 |
await fetch(`/api/conversations/${conversationId}/messages`, {
|
152 |
method: 'POST',
|
@@ -162,7 +160,7 @@ useEffect(() => {
|
|
162 |
}
|
163 |
}
|
164 |
|
165 |
-
return conversationId;
|
166 |
};
|
167 |
|
168 |
const saveBotResponse = async (conversationId, botResponse, shouldSave = false) => {
|
@@ -198,7 +196,8 @@ useEffect(() => {
|
|
198 |
|
199 |
fetchConversations();
|
200 |
};
|
201 |
-
|
|
|
202 |
try {
|
203 |
await fetch('/api/logout', {
|
204 |
method: 'POST',
|
@@ -224,6 +223,8 @@ useEffect(() => {
|
|
224 |
|
225 |
return (
|
226 |
<div className={`App ${isCollapsed ? 'panel-collapsed' : ''}`}>
|
|
|
|
|
227 |
{page === "chat" && (
|
228 |
<Panel
|
229 |
conversations={conversations}
|
@@ -237,17 +238,16 @@ useEffect(() => {
|
|
237 |
onLogout={handleLogout}
|
238 |
setPage={setPage}
|
239 |
userRole={userRole}
|
240 |
-
|
241 |
/>
|
242 |
)}
|
243 |
-
|
244 |
-
{page === "Administrateur" && (
|
245 |
<AdminPanel
|
246 |
isCollapsed={isCollapsed}
|
247 |
onToggleCollapse={toggleCollapse}
|
248 |
userName={userName}
|
249 |
onLogout={handleLogout}
|
250 |
-
setPage={setPage}
|
251 |
/>
|
252 |
)}
|
253 |
|
@@ -281,17 +281,17 @@ useEffect(() => {
|
|
281 |
|
282 |
{page === "chat" &&
|
283 |
<ChatInterface
|
|
|
284 |
messages={messages}
|
285 |
setMessages={setMessages}
|
286 |
onMessageSent={handleMessageSent}
|
287 |
activeConversationId={activeConversationId}
|
288 |
saveBotResponse={saveBotResponse}
|
289 |
userName={userName}
|
290 |
-
toLogin={handleLogout}
|
291 |
onNewChat={handleNewChat}
|
292 |
refreshConversationList={refreshConversationList}
|
293 |
|
294 |
-
|
295 |
/>
|
296 |
}
|
297 |
{page === "login" && <Login toSignin={() => setPage("signin")} onLoginSuccess={handleLoginSuccess}/>}
|
@@ -301,4 +301,4 @@ useEffect(() => {
|
|
301 |
);
|
302 |
}
|
303 |
|
304 |
-
export default App;
|
|
|
5 |
import Login from './components/Login';
|
6 |
import Signin from './components/Signin';
|
7 |
import AdminPanel from './components/AdminPanel';
|
|
|
8 |
function App() {
|
9 |
const [isCollapsed, setIsCollapsed] = useState(false);
|
10 |
const [messages, setMessages] = useState([]);
|
|
|
29 |
|
30 |
fetchConversations();
|
31 |
|
32 |
+
console.log("Role chargé depuis localStorage:", storedUserRole);
|
33 |
}
|
34 |
}, []);
|
35 |
|
36 |
const fetchConversations = async () => {
|
37 |
try {
|
38 |
const response = await fetch('/api/conversations', {
|
39 |
+
credentials: 'include',
|
40 |
});
|
41 |
|
42 |
if (response.ok) {
|
|
|
56 |
console.error('Erreur:', error);
|
57 |
}
|
58 |
};
|
|
|
59 |
const refreshConversationList = async () => {
|
60 |
+
await fetchConversations();
|
61 |
};
|
|
|
62 |
const loadConversationMessages = async (conversationId) => {
|
63 |
try {
|
64 |
const response = await fetch(`/api/conversations/${conversationId}/messages`, {
|
|
|
141 |
}
|
142 |
} catch (error) {
|
143 |
console.error('Erreur lors de la création de la conversation:', error);
|
144 |
+
return;
|
145 |
}
|
146 |
} else {
|
147 |
+
|
148 |
try {
|
149 |
await fetch(`/api/conversations/${conversationId}/messages`, {
|
150 |
method: 'POST',
|
|
|
160 |
}
|
161 |
}
|
162 |
|
163 |
+
return conversationId;
|
164 |
};
|
165 |
|
166 |
const saveBotResponse = async (conversationId, botResponse, shouldSave = false) => {
|
|
|
196 |
|
197 |
fetchConversations();
|
198 |
};
|
199 |
+
|
200 |
+
const handleLogout = async () => {
|
201 |
try {
|
202 |
await fetch('/api/logout', {
|
203 |
method: 'POST',
|
|
|
223 |
|
224 |
return (
|
225 |
<div className={`App ${isCollapsed ? 'panel-collapsed' : ''}`}>
|
226 |
+
|
227 |
+
|
228 |
{page === "chat" && (
|
229 |
<Panel
|
230 |
conversations={conversations}
|
|
|
238 |
onLogout={handleLogout}
|
239 |
setPage={setPage}
|
240 |
userRole={userRole}
|
241 |
+
|
242 |
/>
|
243 |
)}
|
244 |
+
{page === "Administrateur" && (
|
|
|
245 |
<AdminPanel
|
246 |
isCollapsed={isCollapsed}
|
247 |
onToggleCollapse={toggleCollapse}
|
248 |
userName={userName}
|
249 |
onLogout={handleLogout}
|
250 |
+
setPage={setPage}
|
251 |
/>
|
252 |
)}
|
253 |
|
|
|
281 |
|
282 |
{page === "chat" &&
|
283 |
<ChatInterface
|
284 |
+
|
285 |
messages={messages}
|
286 |
setMessages={setMessages}
|
287 |
onMessageSent={handleMessageSent}
|
288 |
activeConversationId={activeConversationId}
|
289 |
saveBotResponse={saveBotResponse}
|
290 |
userName={userName}
|
291 |
+
toLogin={handleLogout}
|
292 |
onNewChat={handleNewChat}
|
293 |
refreshConversationList={refreshConversationList}
|
294 |
|
|
|
295 |
/>
|
296 |
}
|
297 |
{page === "login" && <Login toSignin={() => setPage("signin")} onLoginSuccess={handleLoginSuccess}/>}
|
|
|
301 |
);
|
302 |
}
|
303 |
|
304 |
+
export default App;
|