전역 토스트 알림 추가 및 UI/로직 개선:
- 전역 토스트 알림용 JS 및 SCSS 추가 (djbToast) - 신규 토스트 연동 레이아웃(js 포함) 및 스타일 확장 대응 - 클라이언트 신청/수정 화면 개선, IP 등록 검증 로직 추가
This commit is contained in:
@@ -6950,6 +6950,79 @@ select.form-control {
|
||||
color: #c3dfea;
|
||||
}
|
||||
|
||||
.djb-toast-container {
|
||||
position: fixed;
|
||||
top: 24px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 12000;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
pointer-events: none;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.djb-toast-container {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
right: 12px;
|
||||
transform: none;
|
||||
align-items: stretch;
|
||||
}
|
||||
}
|
||||
|
||||
.djb-toast {
|
||||
pointer-events: auto;
|
||||
min-width: 260px;
|
||||
max-width: 380px;
|
||||
padding: 14px 18px;
|
||||
border-radius: 10px;
|
||||
background: #f4f7fc;
|
||||
color: #1f2328;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
border: 1px solid #e3e8f0;
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
transform: translateY(-12px);
|
||||
transition: opacity 0.22s ease, transform 0.22s ease;
|
||||
}
|
||||
.djb-toast.is-show {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
.djb-toast {
|
||||
border-left: 4px solid #0049B4;
|
||||
}
|
||||
.djb-toast--info {
|
||||
border-left-color: #0049B4;
|
||||
}
|
||||
.djb-toast--success {
|
||||
border-left-color: #1f883d;
|
||||
}
|
||||
.djb-toast--warn {
|
||||
border-left-color: #bf8700;
|
||||
}
|
||||
.djb-toast--error {
|
||||
border-left-color: #cf222e;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.djb-toast {
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
@media (min-width: 769px) {
|
||||
.djb-toast {
|
||||
min-width: 338px;
|
||||
max-width: 494px;
|
||||
padding: 18px 24px;
|
||||
font-size: 18px;
|
||||
border-radius: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
.pagination {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -11297,9 +11370,9 @@ body.index-page-body {
|
||||
margin: 8px 0 0;
|
||||
padding: 24px;
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #E2E8F0;
|
||||
border: none;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: none;
|
||||
}
|
||||
.testbed-app-panel .testbed-app-panel__head {
|
||||
display: flex;
|
||||
@@ -11404,6 +11477,22 @@ body.index-page-body {
|
||||
}
|
||||
}
|
||||
|
||||
/* "기본 정보" 헤더: 좌측 제목 + 우측 "API 사용 신청" 버튼 */
|
||||
.api-basic-info-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 16px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* 하단 중앙 "API 사용 신청" 버튼 */
|
||||
.api-apply-footer {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 32px;
|
||||
}
|
||||
|
||||
.api-overview-card {
|
||||
background: transparent;
|
||||
border-radius: 0;
|
||||
@@ -16412,6 +16501,38 @@ input[type=checkbox]:checked + .custom-checkbox {
|
||||
border-color: #2a69de;
|
||||
background: #f0f7ff;
|
||||
}
|
||||
.step1-wrap .s1-upload-box--compact,
|
||||
.step2-wrap .s1-upload-box--compact,
|
||||
.step3-wrap .s1-upload-box--compact {
|
||||
min-height: 96px;
|
||||
}
|
||||
.step1-wrap .s1-upload-box--compact .s1-upload-inner,
|
||||
.step2-wrap .s1-upload-box--compact .s1-upload-inner,
|
||||
.step3-wrap .s1-upload-box--compact .s1-upload-inner {
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
gap: 6px 14px;
|
||||
padding: 12px 16px;
|
||||
}
|
||||
.step1-wrap .s1-upload-box--compact .s1-upload-inner > img,
|
||||
.step2-wrap .s1-upload-box--compact .s1-upload-inner > img,
|
||||
.step3-wrap .s1-upload-box--compact .s1-upload-inner > img {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
.step1-wrap .s1-upload-box--compact .s1-upload-title,
|
||||
.step2-wrap .s1-upload-box--compact .s1-upload-title,
|
||||
.step3-wrap .s1-upload-box--compact .s1-upload-title {
|
||||
font-size: 13px;
|
||||
}
|
||||
.step1-wrap .s1-upload-box--compact .s1-btn-upload,
|
||||
.step2-wrap .s1-upload-box--compact .s1-btn-upload,
|
||||
.step3-wrap .s1-upload-box--compact .s1-btn-upload {
|
||||
height: 34px;
|
||||
padding: 0 16px;
|
||||
font-size: 13px;
|
||||
}
|
||||
.step1-wrap .s1-upload-inner,
|
||||
.step2-wrap .s1-upload-inner,
|
||||
.step3-wrap .s1-upload-inner {
|
||||
@@ -23924,6 +24045,42 @@ input[type=checkbox]:checked + .custom-checkbox {
|
||||
justify-content: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.signup-guide-v2 .signup-roles-tbd {
|
||||
margin-top: 40px;
|
||||
}
|
||||
.signup-guide-v2 .signup-roles-tbd__title {
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: #140064;
|
||||
margin: 0 0 16px;
|
||||
}
|
||||
.signup-guide-v2 .signup-roles-tbd__placeholder {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 12px;
|
||||
padding: 48px 24px;
|
||||
background: #f8f9fa;
|
||||
border: 1px dashed #e3e8f0;
|
||||
border-radius: 12px;
|
||||
text-align: center;
|
||||
}
|
||||
.signup-guide-v2 .signup-roles-tbd__badge {
|
||||
display: inline-block;
|
||||
padding: 4px 12px;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.04em;
|
||||
color: #0049B4;
|
||||
background: #eff9fe;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.signup-guide-v2 .signup-roles-tbd__desc {
|
||||
margin: 0;
|
||||
font-size: 15px;
|
||||
color: #6e7781;
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
.service-hero {
|
||||
@@ -24765,6 +24922,12 @@ input[type=checkbox]:checked + .custom-checkbox {
|
||||
color: #4a5568;
|
||||
}
|
||||
|
||||
.statistics-notice-example {
|
||||
flex-basis: 100%; /* flex-wrap 컨테이너에서 두 번째 줄로 강제 */
|
||||
color: #6b7280;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.statistics-notice-latest {
|
||||
color: #0049B4;
|
||||
font-weight: 600;
|
||||
|
||||
Reference in New Issue
Block a user