알림 테스트 도구 추가:
eapim-portal CI / build (push) Has been cancelled
eapim-portal Test / test (push) Has been cancelled

- SCSS 스타일 및 HTML 템플릿 구현
- 알림 발송/상태 처리 자바 로직 추가
- 클라이언트 JS: 동적 데이터 바인딩, 발송/이력 관리
This commit is contained in:
Rinjae
2026-08-26 12:57:03 +09:00
parent 758b3ebd7d
commit 033faa6714
13 changed files with 1311 additions and 10 deletions
+185
View File
@@ -27728,6 +27728,191 @@ input[type=checkbox]:checked + .custom-checkbox {
}
}
.nt-page,
.nt-page h1,
.nt-page h2,
.nt-page h3 {
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.nt-page {
margin: 44px 0 60px;
}
.nt-page .nt-header {
margin-bottom: 24px;
}
.nt-page .nt-header h1 {
margin: 0 0 8px;
font-size: 32px;
font-weight: 700;
color: #1A1A2E;
}
.nt-page .nt-desc {
margin: 0;
font-size: 14px;
color: #64748B;
line-height: 1.5;
}
.nt-page .nt-hint {
margin: 8px 0 0;
font-size: 12px;
color: #64748B;
}
.nt-columns {
display: grid;
grid-template-columns: minmax(0, 1fr) 320px;
gap: 24px;
align-items: start;
}
@media (max-width: 900px) {
.nt-columns {
grid-template-columns: 1fr;
}
}
.nt-catalog {
display: flex;
flex-direction: column;
gap: 16px;
}
.nt-category-card {
padding: 24px;
}
.nt-category-card .nt-category-title {
margin: 0 0 12px;
font-size: 18px;
font-weight: 600;
color: #1A1A2E;
}
.nt-target {
position: relative;
padding: 10px 0;
border-bottom: 1px solid #E2E8F0;
}
.nt-target:last-child {
border-bottom: none;
}
.nt-target .nt-risk-badge {
margin-left: 8px;
}
.nt-params {
margin: 12px 0 4px 26px;
padding: 12px 16px;
background: #F8FAFC;
border-radius: 8px;
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.nt-params .nt-param-field {
margin: 0;
min-width: 180px;
flex: 1 1 200px;
}
.nt-params .nt-param-field label {
display: block;
margin-bottom: 4px;
font-size: 12px;
color: #64748B;
}
.nt-side {
position: sticky;
top: 96px;
}
.nt-recipient-card {
padding: 24px;
}
.nt-recipient-card h2 {
margin: 0 0 8px;
font-size: 18px;
font-weight: 600;
color: #1A1A2E;
}
.nt-recipient-card .btn-block {
width: 100%;
margin-top: 8px;
}
.nt-history-card {
margin-top: 24px;
padding: 24px;
}
.nt-history-card h2 {
margin: 0 0 4px;
font-size: 18px;
font-weight: 600;
color: #1A1A2E;
}
.nt-table-wrap {
margin-top: 12px;
overflow-x: auto;
}
.nt-table-wrap table {
width: 100%;
border-collapse: collapse;
border: 1px solid #E2E8F0;
}
.nt-table-wrap th, .nt-table-wrap td {
padding: 10px 14px;
border: 1px solid #E2E8F0;
text-align: left;
font-size: 14px;
vertical-align: top;
white-space: nowrap;
}
.nt-table-wrap thead th {
background: #EFF6FF;
font-weight: 600;
color: #1A1A2E;
}
.nt-table-wrap tbody td {
color: #64748B;
}
.nt-message-cell {
min-width: 280px;
white-space: normal;
}
.nt-message-textarea {
width: 100%;
min-height: 64px;
padding: 8px 10px;
border: 1px solid #E2E8F0;
border-radius: 6px;
background: #F8FAFC;
color: #1A1A2E;
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 12px;
line-height: 1.5;
resize: vertical;
}
.nt-message-textarea:focus {
outline: none;
border-color: #0049b4;
}
.nt-row-note {
margin-top: 4px;
font-size: 12px;
}
.nt-row-warning {
color: #FF6B6B;
}
.nt-row-error {
color: #FF6B6B;
font-weight: 500;
}
.d-none {
display: none !important;
}