Files
eapim-portal/src/main/resources/static/sass/components/_session-timer.scss
T
Rinjae 99f765507b 세션 유지 기능 추가 및 FAQ 관리 개선:
- 비운영 환경 + DB 설정 활성 시 세션 유지(타임아웃 무시) 지원
- FAQ 단건 조회 API 추가 (`FaqFacade`, `FaqFacadeImpl`)
- 헤더 세션 타이머 UI 개선 및 유지 옵션 체크박스 추가
2026-07-10 16:36:11 +09:00

83 lines
2.1 KiB
SCSS

@use '../abstracts/variables' as *;
// -----------------------------------------------------------------------------
// Session Timer Component
// 인증 사용자 헤더에 남은 세션 시간을 표시. 만료 임박(<=60s) 시 경고색.
// -----------------------------------------------------------------------------
.session-timer {
display: inline-flex;
align-items: center;
gap: $spacing-xs;
white-space: nowrap;
font-size: $font-size-sm;
font-weight: $font-weight-semibold;
color: $text-gray;
.session-timer-icon {
font-size: $font-size-xs;
color: $text-gray;
}
.session-timer-text {
// 카운트다운 중 폭 흔들림 방지
font-variant-numeric: tabular-nums;
min-width: 40px;
text-align: center;
&.session-timer-warning {
color: #e03131;
font-weight: $font-weight-bold;
}
}
}
// -----------------------------------------------------------------------------
// 우측 상단 Float 세션 타이머 위젯
// 데스크톱: 헤더 우측(유저 메뉴 우측)에 상단 정렬로 고정(fixed).
// 모바일: 헤더 우측 햄버거(메뉴 버튼) 바로 왼쪽에 배치.
// -----------------------------------------------------------------------------
.session-float {
position: fixed;
top: 16px;
right: 20px;
z-index: 1000;
display: flex;
align-items: center;
gap: $spacing-sm;
padding: 6px 14px;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 20px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
// 세션 유지 체크박스 (비운영 전용, 조건부 렌더)
.session-keepalive {
display: inline-flex;
align-items: center;
gap: 4px;
margin: 0;
padding-left: 8px;
border-left: 1px solid #e0e0e0;
font-size: $font-size-xs;
color: $text-gray;
cursor: pointer;
white-space: nowrap;
input {
margin: 0;
cursor: pointer;
}
}
}
// 모바일: 헤더 우측 햄버거(메뉴 버튼) 바로 왼쪽에 나란히 배치.
// right = 헤더 padding(20px) + 햄버거 폭(~32px) + 간격(~20px) ≈ 72px
@media (max-width: $breakpoint-sm) {
.session-float {
top: 12px;
right: 72px;
padding: 4px 10px;
}
}