Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions frontend/src/components/AdminDashboard/AdminDashboard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,24 @@ const PIE_COLORS = ['#2563eb', '#16a34a', '#d97706', '#7c3aed', '#475569', '#dc2
const ACTIVITY_FETCH_SIZE = 100;
const MAX_ACTIVITY_LOGS = 300;

const DASHBOARD_ROLE_LABELS = {
SYSTEM_ADMIN: '관리자',
'시스템 관리자': '관리자',
PRESIDENT: '회장',
VICE_PRESIDENT: '부회장',
TEAM_LEADER: '팀장',
TEAM_MEMBER: '일반',
PENDING_MEMBER: '대기회원',
};

const toNumber = (value) => Number(value || 0);

const formatDashboardRoleLabel = (value) => {
const normalizedValue = String(value || '').trim();
if (!normalizedValue) return 'UNKNOWN';
return DASHBOARD_ROLE_LABELS[normalizedValue] || normalizedValue;
};

const formatDateLabel = (value) => {
if (!value) return '-';
const date = new Date(value);
Expand Down Expand Up @@ -112,7 +128,7 @@ const AdminDashboard = () => {
const pieChartData = useMemo(
() =>
usersDistribution.map((item, index) => ({
name: item?.roleName || 'UNKNOWN',
name: formatDashboardRoleLabel(item?.roleName),
value: toNumber(item?.count),
color: PIE_COLORS[index % PIE_COLORS.length],
})),
Expand Down Expand Up @@ -443,7 +459,7 @@ const AdminDashboard = () => {
<li key={activity.id} className={styles.logItem}>
<span className={styles.logTime}>{formatDateTime(activity.createdAt)}</span>
<span className={styles.logMessage}>
<strong>{activity.username}</strong> {activity.message}
<strong>{activity.username}님이</strong> {activity.message}
{activity.boardName ? ` (${activity.boardName})` : ''}
</span>
</li>
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/components/AdminHome/MemberList.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const ROLE_LABELS = {
SYSTEM_ADMIN: '시스템 관리자',
SYSTEM_ADMIN: '관리자',
PRESIDENT: '회장',
VICE_PRESIDENT: '부회장',
TEAM_LEADER: '팀장',
Expand All @@ -16,7 +16,7 @@ const STATUS_LABELS = {

const getRoleClassName = (roleLabel, styles) => {
if (roleLabel === '회장') return styles.rolePresident;
if (roleLabel === '부회장') return styles.roleManager;
if (roleLabel === '관리자' || roleLabel === '부회장') return styles.roleManager;
if (roleLabel === '팀장' || roleLabel === '대기회원') return styles.roleLeader;
return styles.roleNormal;
};
Expand Down
Loading