-### /api/upload
-Uploads file that needs to be trained, response is JSON with task ID, which can be used to check on task's progress
+### 4. /api/upload
+**Description:**
+
+This endpoint is used to upload a file that needs to be trained, response is JSON with task ID, which can be used to check on task's progress.
+
+**Request:**
+
+Method: POST
+Request Body: A multipart/form-data form with file upload and additional fields, including "user" and "name."
+
HTML example:
```html
@@ -79,20 +123,24 @@ HTML example:
```
-Response:
-```json
-{
- "status": "ok",
- "task_id": "b2684988-9047-428b-bd47-08518679103c"
-}
+**Response:**
-```
+JSON response with a status and a task ID that can be used to check the task's progress.
-### /api/task_status
-Gets task status (`task_id`) from `/api/upload`:
+
+### 5. /api/task_status
+**Description:**
+
+This endpoint is used to get the status of a task (`task_id`) from `/api/upload`
+
+**Request:**
+Method: GET
+Query Parameter: task_id (task ID to check)
+
+**Sample JavaScript Fetch Request:**
```js
// Task status (Get http://127.0.0.1:5000/api/task_status)
-fetch("http://localhost:5001/api/task_status?task_id=b2d2a0f4-387c-44fd-a443-e4fe2e7454d1", {
+fetch("http://localhost:5001/api/task_status?task_id=YOUR_TASK_ID", {
"method": "GET",
"headers": {
"Content-Type": "application/json; charset=utf-8"
@@ -102,7 +150,8 @@ fetch("http://localhost:5001/api/task_status?task_id=b2d2a0f4-387c-44fd-a443-e4f
.then(console.log.bind(console))
```
-Responses:
+**Response:**
+
There are two types of responses:
1. While the task is still running, the 'current' value will show progress from 0 to 100.
@@ -134,9 +183,14 @@ There are two types of responses:
}
```
-### /api/delete_old
-Deletes old Vector Stores:
+### 6. /api/delete_old
+**Description:**
+This endpoint is used to delete old Vector Stores.
+
+**Request:**
+
+Method: GET
```js
// Task status (GET http://127.0.0.1:5000/api/docs_check)
fetch("http://localhost:5001/api/task_status?task_id=b2d2a0f4-387c-44fd-a443-e4fe2e7454d1", {
@@ -148,8 +202,10 @@ fetch("http://localhost:5001/api/task_status?task_id=b2d2a0f4-387c-44fd-a443-e4f
.then((res) => res.text())
.then(console.log.bind(console))
-Response:
+```
+**Response:**
+JSON response indicating the status of the operation.
```json
{ "status": "ok" }
```
diff --git a/frontend/src/Navigation.tsx b/frontend/src/Navigation.tsx
index be308eab..ede4ced4 100644
--- a/frontend/src/Navigation.tsx
+++ b/frontend/src/Navigation.tsx
@@ -255,7 +255,7 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) {
src={Arrow2}
alt="arrow"
className={`${
- isDocsListOpen ? 'rotate-0' : 'rotate-180'
+ !isDocsListOpen ? 'rotate-0' : 'rotate-180'
} ml-auto mr-3 w-3 transition-all`}
/>
diff --git a/frontend/src/conversation/ConversationBubble.module.css b/frontend/src/conversation/ConversationBubble.module.css
new file mode 100644
index 00000000..4a8d3a12
--- /dev/null
+++ b/frontend/src/conversation/ConversationBubble.module.css
@@ -0,0 +1,11 @@
+.list p {
+ display: inline;
+}
+
+.list li:not(:first-child) {
+ margin-top: 1em;
+}
+
+.list li > .list {
+ margin-top: 1em;
+}
diff --git a/frontend/src/conversation/ConversationBubble.tsx b/frontend/src/conversation/ConversationBubble.tsx
index ad7db7a7..37b93f2e 100644
--- a/frontend/src/conversation/ConversationBubble.tsx
+++ b/frontend/src/conversation/ConversationBubble.tsx
@@ -1,6 +1,7 @@
import { forwardRef, useState } from 'react';
import Avatar from '../Avatar';
import { FEEDBACK, MESSAGE_TYPE } from './conversationModels';
+import classes from './ConversationBubble.module.css';
import Alert from './../assets/alert.svg';
import { ReactComponent as Like } from './../assets/like.svg';
import { ReactComponent as Dislike } from './../assets/dislike.svg';
@@ -27,7 +28,6 @@ const ConversationBubble = forwardRef<
{ message, type, className, feedback, handleFeedback, sources },
ref,
) {
- const [showFeedback, setShowFeedback] = useState(false);
const [openSource, setOpenSource] = useState