feat: 대시보드 경고 및 위험 알림 스타일 복구

This commit is contained in:
2026-03-16 17:41:46 +09:00
parent 5ddaad6a2e
commit 74f11d3bd4
2 changed files with 130 additions and 223 deletions

View File

@@ -120,14 +120,21 @@ function createProjectHtml(p) {
const isNoFiles = (files === 0 || files === null);
const statusClass = isNoFiles ? "status-error" : "";
// 로그 텍스트 스타일 결정 (기록 없음 이거나 폴더자동삭제인 경우)
const logStyleClass = (recentLog === '기록 없음' || isStaleLog) ? 'warning-text' : '';
// 로그 텍스트 스타일 결정
// 폴더자동삭제는 위험(error), 기록 없음은 주의(warning)
let logStyleClass = "";
if (isStaleLog) {
logStyleClass = "error-text";
} else if (recentLog === "기록 없음") {
logStyleClass = "warning-text";
}
const logBoldStyle = isStaleLog ? 'font-weight: 800;' : '';
return `
<div class="accordion-item ${statusClass}">
<div class="accordion-header" onclick="toggleAccordion(this)">
<div class="repo-title" title="${name}">${name}</div><div class="repo-dept">${dept}</div><div class="repo-admin">${admin}</div><div class="repo-files ${isNoFiles ? 'warning-text' : ''}">${files || 0}</div><div class="repo-log ${logStyleClass}" style="${logBoldStyle}" title="${recentLog}">${recentLog}</div>
<div class="repo-title" title="${name}">${name}</div><div class="repo-dept">${dept}</div><div class="repo-admin">${admin}</div><div class="repo-files ${isNoFiles ? 'error-text' : ''}">${files || 0}</div><div class="repo-log ${logStyleClass}" style="${logBoldStyle}" title="${recentLog}">${recentLog}</div>
</div>
<div class="accordion-body">
<div class="detail-grid">
@@ -170,14 +177,25 @@ function showActivityDetails(status) {
modal.style.display = 'flex';
}
function closeActivityModal() { document.getElementById('activityDetailModal').style.display = 'none'; }
function closeActivityModal() {
const modal = document.getElementById('activityDetailModal');
if (modal) modal.style.display = 'none';
}
function closeAuthModal() {
const modal = document.getElementById('authModal');
if (modal) modal.style.display = 'none';
}
function scrollToProject(name) {
closeActivityModal();
const target = Array.from(document.querySelectorAll('.repo-title')).find(t => t.innerText.trim() === name.trim())?.closest('.accordion-header');
if (target) {
let p = target.parentElement;
while (p && p !== document.body) { if (p.classList.contains('continent-group') || p.classList.contains('country-group')) p.classList.add('active'); p = p.parentElement; }
while (p && p !== document.body) {
if (p.classList.contains('continent-group') || p.classList.contains('country-group')) p.classList.add('active');
p = p.parentElement;
}
target.parentElement.classList.add('active');
const pos = target.getBoundingClientRect().top + window.pageYOffset - 220;
window.scrollTo({ top: pos, behavior: 'smooth' });