feat: add account menu and redirect after Q&A logout
Deploy EG-BIM QA Gateway / deploy (push) Successful in 54s
Deploy EG-BIM QA Gateway / deploy (push) Successful in 54s
Add the top-right account icon with the signed-in name and logout link. Expire the Q&A session before redirecting to the configured inquiry homepage in both environments. Preserve login return URL checks and ignore request-controlled logout destinations. Validation: 106 tests, syntax checks, and mocked Chromium desktop/mobile regressions pass, including session-cookie removal and the destination navigation request with external networking blocked.
This commit is contained in:
1 parent
2b37bed2b8
commit
beaa2fc423
13 files changed
+135
-13
No files matched your search
@@ -501,6 +501,18 @@
|
||||
console.error('[QA] SSO session load failed:', error);
|
||||
return getAuthUser();
|
||||
}).then(function (user) { renderAuth(user); return user; });
|
||||
const accountMenu = qs('#accountMenu');
|
||||
if (accountMenu) {
|
||||
document.addEventListener('click', function (event) {
|
||||
if (!accountMenu.contains(event.target)) accountMenu.open = false;
|
||||
});
|
||||
document.addEventListener('keydown', function (event) {
|
||||
if (event.key === 'Escape' && accountMenu.open) {
|
||||
accountMenu.open = false;
|
||||
qs('#accountButton').focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
const menuButton = qs('.menu-button');
|
||||
const nav = qs('.global-nav');
|
||||
if (menuButton && nav) {
|
||||
|
||||
+11
-2
@@ -1,7 +1,16 @@
|
||||
<!doctype html>
|
||||
<html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="EG-BIM 소프트웨어 문의"><title>S/W 문의 | 바론컨설턴트</title><link rel="stylesheet" href="../assets/styles.css?v=20261102-ui-1"><link rel="stylesheet" href="../assets/inquiry/inquiry.css?v=20261102-ui-2"></head><body>
|
||||
<html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="EG-BIM 소프트웨어 문의"><title>S/W 문의 | 바론컨설턴트</title><link rel="stylesheet" href="../assets/styles.css?v=20261102-ui-1"><link rel="stylesheet" href="../assets/inquiry/inquiry.css?v=20261102-ui-3"></head><body>
|
||||
<main class="inquiry-page">
|
||||
<section class="inquiry-hero" aria-labelledby="inquiry-title">
|
||||
<details class="inquiry-account" id="accountMenu">
|
||||
<summary aria-label="내 계정" id="accountButton" aria-controls="accountPanel">
|
||||
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="8" r="4"/><path d="M4 21v-2a8 8 0 0 1 16 0v2"/></svg>
|
||||
</summary>
|
||||
<div class="inquiry-account__panel" id="accountPanel">
|
||||
<p data-auth-name>로그인 확인 중</p>
|
||||
<a href="/auth/logout" id="logoutLink"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M10 4H4v16h6M14 8l4 4-4 4m-5-4h12"/></svg>로그아웃</a>
|
||||
</div>
|
||||
</details>
|
||||
<div class="inquiry-hero__copy">
|
||||
<h1 id="inquiry-title">S/W 문의</h1>
|
||||
<p>소프트웨어 관련 문의하기</p>
|
||||
@@ -204,5 +213,5 @@
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
<div id="toast" class="toast" role="status" aria-live="polite"></div><script src="config.js?v=20260921-3"></script><script src="app.js?v=20261102-ui-1"></script>
|
||||
<div id="toast" class="toast" role="status" aria-live="polite"></div><script src="config.js?v=20260921-3"></script><script src="app.js?v=20261102-ui-3"></script>
|
||||
</body></html>
|
||||
Reference in new issue
Block a user