diff --git a/src/api/client.js b/src/api/client.js
index b8fbe92..d0fb179 100644
--- a/src/api/client.js
+++ b/src/api/client.js
@@ -1,8 +1,53 @@
+// import axios from 'axios';
+
+// // axios 인스턴스 생성
+// const api = axios.create({
+// baseURL: '/api',
+// headers: {
+// 'Content-Type': 'application/json',
+// 'Accept': 'application/json',
+// },
+// withCredentials: false, // CORS 설정
+// });
+
+// // 요청 인터셉터
+// api.interceptors.request.use(
+// (config) => {
+// // 토큰
+// const token = localStorage.getItem('token');
+// if (token) {
+// config.headers.Authorization = `Bearer ${token}`;
+// }
+// return config;
+// },
+// (error) => {
+// return Promise.reject(error);
+// }
+// );
+
+// // 응답 인터셉터
+// api.interceptors.response.use(
+// (response) => {
+// return response;
+// },
+// (error) => {
+// console.error('API Error:', error);
+// return Promise.reject(error);
+// }
+// );
+
+// export default api;
+
+
import axios from 'axios';
+const BASE_URL = window.location.hostname === "localhost"
+ ? "http://localhost:8081/api" // 로컬 백엔드 URL
+ : "https://api.sysonetaskmanager.store/api"; // 프로덕션 백엔드 URL
+
// axios 인스턴스 생성
const api = axios.create({
- baseURL: '/api',
+ baseURL: BASE_URL,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
diff --git a/src/pages/Dashboard.jsx b/src/pages/Dashboard.jsx
index b103ad5..5921d6b 100644
--- a/src/pages/Dashboard.jsx
+++ b/src/pages/Dashboard.jsx
@@ -16,7 +16,7 @@ function Dashboard() {
const navigate = useNavigate();
const { selectedProjectId } = useProjectStore();
- // fetchDashboardProjects API에서 데이터 가져오기
+ // fetchDashboardProjects API에서 전체 데이터 가져오기
const { data: dashboardData } = useQuery({
queryKey: ['dashboardProjects'],
queryFn: fetchDashboardProjects,
@@ -33,10 +33,12 @@ function Dashboard() {
const projectCount = dashboardData?.data?.projectCount || 0;
const issueCount = dashboardData?.data?.issueCount || 0;
- // 사용자 역할 확인
+ // 사용자 역할 확인 - 대소문자 구분 없이 체크
const userRole = projectDashboardData?.data?.role || 'User';
- const isPM = userRole === 'PM';
- const isUser = userRole === 'User';
+ const isPM = userRole?.toUpperCase() === 'PM';
+ const isMaster = userRole?.toUpperCase() === 'MASTER';
+ const isUser = userRole?.toUpperCase() === 'USER';
+ const isAdmin = isPM || isMaster; // PM 또는 MASTER 권한
// 디버깅용 로그
useEffect(() => {
@@ -44,26 +46,29 @@ function Dashboard() {
console.log('프로젝트 대시보드 데이터:', projectDashboardData);
console.log('사용자 역할:', userRole);
console.log('PM 여부:', isPM);
+ console.log('MASTER 여부:', isMaster);
+ console.log('Admin 권한 여부:', isAdmin);
console.log('User 여부:', isUser);
}
- }, [projectDashboardData, userRole, isPM, isUser]);
+ }, [projectDashboardData, userRole, isPM, isMaster, isAdmin, isUser]);
const kpiData = [
{
title: "진행 중인 프로젝트",
value: projectCount.toString(),
- icon: