feat(ui): /orderlist 미인증 시 dbx-main 로그인으로 위임, 프로필 헤더 개선
- read_root() 가 세션 미인증 시 dbx-main /login?next=/orderlist/ 로 302. OMS 는 더 이상 자체 로그인 UI 를 가지지 않는다. - index.html: #login-screen 블록 제거, dashboard 만 렌더. - 우측 상단 프로필 영역을 메인 페이지 스타일로 개편: 이름 + 이메일 + 아바타(Google picture URL, 폴백 아이콘) + 로그아웃 텍스트 버튼. - main.py 가 세션의 user_name/user_email/user_picture 를 HTML placeholder 로 치환. - app.js checkAuth() 단순화: 화면 토글 제거, 401 시 dbx-main 로그인으로 자동 이동. - style.css 에 새 프로필 영역 CSS 추가. Google 아바타가 보이려면 dbx-main 도 같이 user_picture 를 세션 top-level 에 저장하도록 수정됨 (dbx-main 별도 커밋).
This commit is contained in:
@@ -1769,4 +1769,82 @@ input[type="checkbox"] {
|
||||
}
|
||||
}
|
||||
|
||||
/* ── 우측 상단 프로필 영역 (메인 페이지 스타일) ───────────── */
|
||||
.nav-profile-area .profile-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-profile-area .profile-name-block {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
line-height: 1.2;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.nav-profile-area .profile-name {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: inherit;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.nav-profile-area .profile-email {
|
||||
font-size: 11px;
|
||||
color: rgba(120, 120, 130, 0.75);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.nav-profile-area .profile-avatar {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: rgba(0, 0, 0, 0.08);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.nav-profile-area .profile-avatar-img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.nav-profile-area .profile-avatar-icon {
|
||||
color: rgba(80, 80, 90, 0.7);
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.nav-profile-area .btn-logout-text {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 12px;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
border-radius: 8px;
|
||||
color: inherit;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s, border-color 0.15s;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.nav-profile-area .btn-logout-text:hover {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
border-color: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
/* 모바일에서 이메일은 숨겨 공간 절약 */
|
||||
@media (max-width: 720px) {
|
||||
.nav-profile-area .profile-email { display: none; }
|
||||
.nav-profile-area .btn-logout-text span { display: none; }
|
||||
}
|
||||
|
||||
/* Force UI Update */
|
||||
|
||||
Reference in New Issue
Block a user