diff --git a/src/roles/admin/manage_exercises/hooks/useUpdateExercises.jsx b/src/roles/admin/manage_exercises/hooks/useUpdateExercises.jsx
index a4034e3..3f21422 100644
--- a/src/roles/admin/manage_exercises/hooks/useUpdateExercises.jsx
+++ b/src/roles/admin/manage_exercises/hooks/useUpdateExercises.jsx
@@ -1,6 +1,6 @@
import { useState, useEffect, useRef } from 'react';
import exerciseService from '../services/serviceExercises';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
function videoUrlChecker(url) {
const youtubeRegex = /(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/;
@@ -23,7 +23,7 @@ const useUpdateExercises = (levelId) => {
const [topicName, setTopicName] = useState('topic');
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
- const mediaPath = `${API_URL}/uploads/exercise`;
+ const mediaPath = `${MEDIA_URL}/uploads/exercise`;
const [formData, setFormData] = useState({
ID_ADMIN_EXERCISE: "",
diff --git a/src/roles/admin/manage_materials/hooks/useEditorMaterial.jsx b/src/roles/admin/manage_materials/hooks/useEditorMaterial.jsx
index 6dd63aa..9099ea3 100644
--- a/src/roles/admin/manage_materials/hooks/useEditorMaterial.jsx
+++ b/src/roles/admin/manage_materials/hooks/useEditorMaterial.jsx
@@ -1,7 +1,7 @@
import { useState, useEffect, useRef } from 'react';
import materialService from '../services/serviceMaterials';
import { ButtonView } from 'ckeditor5';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
const useTest = (materialId) => {
const [editorData, setEditorData] = useState('');
@@ -13,7 +13,7 @@ const useTest = (materialId) => {
const editorContainerRef = useRef(null);
const editorRef = useRef(null);
const [isLayoutReady, setIsLayoutReady] = useState(false);
- const mediaPath = `${API_URL}/uploads/level/`;
+ const mediaPath = `${MEDIA_URL}/uploads/level/`;
const [show, setShow] = useState(false);
diff --git a/src/roles/admin/manage_materials/hooks/useUpdateMaterials.jsx b/src/roles/admin/manage_materials/hooks/useUpdateMaterials.jsx
index ee0104b..7cb6cf9 100644
--- a/src/roles/admin/manage_materials/hooks/useUpdateMaterials.jsx
+++ b/src/roles/admin/manage_materials/hooks/useUpdateMaterials.jsx
@@ -1,6 +1,6 @@
import { useState, useEffect } from 'react';
import materialService from '../services/serviceMaterials';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
const useUpdateMaterials = (materialId) => {
const [materialData, setMaterialData] = useState([]);
@@ -9,7 +9,7 @@ const useUpdateMaterials = (materialId) => {
const [topicName, setTopicName] = useState('topic');
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
- const mediaPath = `${API_URL}/uploads/level`;
+ const mediaPath = `${MEDIA_URL}/uploads/level`;
const [formData, setFormData] = useState({
content: '',
diff --git a/src/roles/admin/manage_section/hooks/useSections.jsx b/src/roles/admin/manage_section/hooks/useSections.jsx
index 967abd8..6222e0f 100644
--- a/src/roles/admin/manage_section/hooks/useSections.jsx
+++ b/src/roles/admin/manage_section/hooks/useSections.jsx
@@ -1,9 +1,9 @@
import { useState, useEffect } from 'react';
import sectionService from '../services/serviceSections';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
const useSections = () => {
- const thumbPath = `${API_URL}/uploads/section/`;
+ const thumbPath = `${MEDIA_URL}/uploads/section/`;
const [sections, setSections] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
diff --git a/src/roles/admin/manage_section/views/ManageSections.jsx b/src/roles/admin/manage_section/views/ManageSections.jsx
index 577aa51..7f0de3c 100644
--- a/src/roles/admin/manage_section/views/ManageSections.jsx
+++ b/src/roles/admin/manage_section/views/ManageSections.jsx
@@ -102,12 +102,14 @@ const ManageSections = () => {
{section.NAME_SECTION} |
{section.DESCRIPTION_SECTION} |
-
-
+
+
+
+
|
))
diff --git a/src/roles/admin/manage_topics/views/ManageTopics.jsx b/src/roles/admin/manage_topics/views/ManageTopics.jsx
index a17c4a2..4459879 100644
--- a/src/roles/admin/manage_topics/views/ManageTopics.jsx
+++ b/src/roles/admin/manage_topics/views/ManageTopics.jsx
@@ -108,12 +108,14 @@ const ManageTopics = () => {
{topic.NAME_TOPIC} |
{topic.DESCRIPTION_TOPIC} |
-
-
+
+
+
+
|
))
diff --git a/src/roles/admin/setting/hooks/useSettings.jsx b/src/roles/admin/setting/hooks/useSettings.jsx
index 748b80e..17aeb70 100644
--- a/src/roles/admin/setting/hooks/useSettings.jsx
+++ b/src/roles/admin/setting/hooks/useSettings.jsx
@@ -1,6 +1,6 @@
import { useState, useEffect } from 'react';
import settingService from '../services/SettingService';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
const useSettings = () => {
const [profile, setProfile] = useState(null);
@@ -10,7 +10,7 @@ const useSettings = () => {
const [loadingUpdate, setLoadingUpdate] = useState(false);
const [error, setError] = useState(null);
const [success, setSuccess] = useState(false);
- const thumbPath = `${API_URL}/uploads/avatar/`;
+ const thumbPath = `${MEDIA_URL}/uploads/avatar/`;
useEffect(() => {
const fetchData = async () => {
diff --git a/src/roles/guest/auth/services/authService.jsx b/src/roles/guest/auth/services/authService.jsx
index 4f0d1ea..c20c69c 100644
--- a/src/roles/guest/auth/services/authService.jsx
+++ b/src/roles/guest/auth/services/authService.jsx
@@ -5,7 +5,7 @@ import { API_URL } from '../../../../utils/Constant';
// const login = async (EMAIL, PASSWORD) => {
// try {
-// const response = await axios.post(`${API_URL}/api/login`, { EMAIL, PASSWORD });
+// const response = await axios.post(`${API_URL}/login`, { EMAIL, PASSWORD });
// return response.data.payload;
// } catch (error) {
// throw new Error(error.response?.data?.message || 'Login failed');
@@ -14,7 +14,7 @@ import { API_URL } from '../../../../utils/Constant';
const login = async (EMAIL, PASSWORD) => {
try {
- const response = await axios.post(`${API_URL}/api/login`, { EMAIL, PASSWORD }, {
+ const response = await axios.post(`${API_URL}/login`, { EMAIL, PASSWORD }, {
withCredentials: true
});
const { TOKEN, refreshToken } = response.data.payload;
@@ -25,7 +25,7 @@ const login = async (EMAIL, PASSWORD) => {
Authorization: TOKEN
}
};
- const data = await axios.get(`${API_URL}/api/getMe`, config);
+ const data = await axios.get(`${API_URL}/getMe`, config);
const profile = data.data.payload;
localStorage.setItem('userData', JSON.stringify({username: profile.NAME_USERS, picture: profile.PICTURE}));
@@ -37,7 +37,7 @@ const login = async (EMAIL, PASSWORD) => {
const register = async (endpoint, data) => {
try {
- const response = await axios.post(`${API_URL}/api/register/${endpoint}`, data);
+ const response = await axios.post(`${API_URL}/register/${endpoint}`, data);
return response.data;
} catch (error) {
throw new Error(error.response?.data?.message || 'Registration failed');
@@ -46,7 +46,7 @@ const register = async (endpoint, data) => {
const forgotPassword = async (email) => {
try {
- const response = await axios.post(`${API_URL}/api/forgot-password`, { email });
+ const response = await axios.post(`${API_URL}/forgot-password`, { email });
return response.data;
} catch (error) {
throw new Error(error.response?.data?.message || 'Password reset failed');
@@ -60,7 +60,7 @@ const logout = () => {
const validateEmail = async (TOKEN) => {
try {
- const response = await axios.post(`${API_URL}/api/validateEmail`, { TOKEN });
+ const response = await axios.post(`${API_URL}/validateEmail`, { TOKEN });
return response.data;
} catch (error) {
throw new Error(error.response?.data?.message || 'Failed Validate');
diff --git a/src/roles/teacher/setting/hooks/useSettings.jsx b/src/roles/teacher/setting/hooks/useSettings.jsx
index c9235f4..2caa0ac 100644
--- a/src/roles/teacher/setting/hooks/useSettings.jsx
+++ b/src/roles/teacher/setting/hooks/useSettings.jsx
@@ -1,6 +1,6 @@
import { useState, useEffect } from 'react';
import settingService from '../services/SettingService';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
const useSettings = () => {
const [profile, setProfile] = useState(null);
@@ -10,7 +10,7 @@ const useSettings = () => {
const [loadingUpdate, setLoadingUpdate] = useState(false);
const [error, setError] = useState(null);
const [success, setSuccess] = useState(false);
- const thumbPath = `${API_URL}/uploads/avatar/`;
+ const thumbPath = `${MEDIA_URL}/uploads/avatar/`;
useEffect(() => {
const fetchData = async () => {
diff --git a/src/roles/user/dashboard/hooks/useDashboards.jsx b/src/roles/user/dashboard/hooks/useDashboards.jsx
index 34dee5e..fe5fb91 100644
--- a/src/roles/user/dashboard/hooks/useDashboards.jsx
+++ b/src/roles/user/dashboard/hooks/useDashboards.jsx
@@ -1,12 +1,12 @@
import { useState, useEffect } from 'react';
import homeService from '../services/dashboardService';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
const useDashboards = () => {
const [journey, setJourney] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
- const thumbPath = `${API_URL}/uploads/section/`;
+ const thumbPath = `${MEDIA_URL}/uploads/section/`;
useEffect(() => {
const fetchData = async () => {
diff --git a/src/roles/user/learning/hooks/useSections.jsx b/src/roles/user/learning/hooks/useSections.jsx
index 4871ad7..a49037d 100644
--- a/src/roles/user/learning/hooks/useSections.jsx
+++ b/src/roles/user/learning/hooks/useSections.jsx
@@ -1,12 +1,12 @@
import { useState, useEffect } from 'react';
import learningService from '../services/learningService';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
const useSections = () => {
const [sections, setSections] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
- const thumbPath = `${API_URL}/uploads/section/`;
+ const thumbPath = `${MEDIA_URL}/uploads/section/`;
useEffect(() => {
const fetchData = async () => {
diff --git a/src/roles/user/setting/hooks/useSettings.jsx b/src/roles/user/setting/hooks/useSettings.jsx
index c9235f4..2caa0ac 100644
--- a/src/roles/user/setting/hooks/useSettings.jsx
+++ b/src/roles/user/setting/hooks/useSettings.jsx
@@ -1,6 +1,6 @@
import { useState, useEffect } from 'react';
import settingService from '../services/SettingService';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
const useSettings = () => {
const [profile, setProfile] = useState(null);
@@ -10,7 +10,7 @@ const useSettings = () => {
const [loadingUpdate, setLoadingUpdate] = useState(false);
const [error, setError] = useState(null);
const [success, setSuccess] = useState(false);
- const thumbPath = `${API_URL}/uploads/avatar/`;
+ const thumbPath = `${MEDIA_URL}/uploads/avatar/`;
useEffect(() => {
const fetchData = async () => {
diff --git a/src/roles/user/topic/hooks/useTopics.jsx b/src/roles/user/topic/hooks/useTopics.jsx
index 1fea719..d514bee 100644
--- a/src/roles/user/topic/hooks/useTopics.jsx
+++ b/src/roles/user/topic/hooks/useTopics.jsx
@@ -1,6 +1,6 @@
import { useState, useEffect } from 'react';
import topicService from '../services/topicService';
-import { API_URL } from '../../../../utils/Constant';
+import { MEDIA_URL } from '../../../../utils/Constant';
import { useSlugContext } from '../../../../utils/SlugContext';
const useTopics = (sectionId) => {
@@ -8,7 +8,7 @@ const useTopics = (sectionId) => {
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
const [sections, setSection] = useState(null);
- const thumbPath = `${API_URL}/uploads/section/`;
+ const thumbPath = `${MEDIA_URL}/uploads/section/`;
const { sectionSlugMap } = useSlugContext();
useEffect(() => {
diff --git a/src/utils/axiosInstance.jsx b/src/utils/axiosInstance.jsx
index 8c9aa05..9141315 100644
--- a/src/utils/axiosInstance.jsx
+++ b/src/utils/axiosInstance.jsx
@@ -1,10 +1,8 @@
import axios from 'axios';
import { API_URL } from './Constant';
-const URL_API = `${API_URL}/api`
-
const axiosInstance = axios.create({
- baseURL: URL_API,
+ baseURL: API_URL,
});
axiosInstance.interceptors.request.use(
@@ -22,7 +20,7 @@ axiosInstance.interceptors.request.use(
const refreshAccessToken = async () => {
try {
- const response = await axios.post(`${URL_API}/refreshToken`, {}, { withCredentials: true });
+ const response = await axios.post(`${API_URL}/refreshToken`, {}, { withCredentials: true });
const token = response.data.payload.TOKEN;
localStorage.setItem('token', token);