feat: implement 4 future backlog tasks (side margins, max-width, 1240px header breakpoint, remove intl-conf category)

This commit is contained in:
2026-07-30 20:23:30 +09:00
parent 36a4cd851e
commit 51aae14133
8 changed files with 30 additions and 15 deletions
+23
View File
@@ -0,0 +1,23 @@
# 📌 ANL Homepage Backlog & Improvement Tasks
본 문서는 ANL 연구실 홈페이지의 추가 개선 요청 및 반영 완료된 작업 내역을 관리합니다.
---
### ✅ 완료된 추후 작업 (Completed Tasks)
#### 1. 전 모드 좌우 여유 공백(Side Margins/Padding) 추가
- **적용 위치**: `refer_landing_page/app/globals.css` (`.container-content`)
- **내용**: 모바일, 태블릿, 데스크톱 전 모드에서 시각적 답답함을 해소하고 여유로운 에디토리얼 여백을 제공하도록 `px-6 sm:px-10 md:px-12 lg:px-16` 패딩 시스템 반영
#### 2. Desktop 모드 `max_width` 비율 고정
- **적용 위치**: `refer_landing_page/tailwind.config.ts` (`maxWidth.content: "78rem"`) & `.container-content`
- **내용**: 초고해상도(Ultrawide / 4K) 모니터에서 페이지 가로 폭이 지나치게 넓어져 레이아웃 비율이 깨지는 현상을 방지하기 위해 최대 폭(1248px) 고정 및 중앙 정렬
#### 3. 헤더 1240px 반응형 햄버거 메뉴 전환
- **적용 위치**: `refer_landing_page/components/Header.tsx`
- **내용**: 윈도우 폭이 1240px 미만일 때 "AI 에이전트 네트워크 연구실" 및 "AI Agent Networking Lab (ANL)" 타이틀 카피가 2줄로 줄바꿈되어 깨지는 현상을 방지하도록 `min-[1240px]` 브레이크포인트 적용. 1240px 미만에서는 햄버거 토글 메뉴로 자동 전환
#### 4. Publications 페이지 "International Conference" 카테고리 정리
- **적용 위치**: `refer_landing_page/content/categories.ts`, `content/types.ts`, `app/publications/`
- **내용**: 실측 데이터상 중복 분류 가능성이 있던 `International Conference` 단독 카테고리를 제거하고, `International Journal & Conference`, `Domestic Journal & Conference`, `Patent` 3대 카테고리로 슬림화 (논문 223건 전량 보존)
+1 -1
View File
@@ -72,7 +72,7 @@ npm run dev
| `/intro` | Home (`/`)으로 308 permanent redirect | | `/intro` | Home (`/`)으로 308 permanent redirect |
| `/members` | 구성원 — 지도교수 및 재학 연구원 16명, 졸업생 60명 이력 인벤토리 | | `/members` | 구성원 — 지도교수 및 재학 연구원 16명, 졸업생 60명 이력 인벤토리 |
| `/publications` | 연구 실적 개요 — 223건 카테고리 분류 및 Top 10 최신 성과 | | `/publications` | 연구 실적 개요 — 223건 카테고리 분류 및 Top 10 최신 성과 |
| `/publications/[category]` | 카테고리별 실적 (intl-conf, intl-journal-conf, domestic-journal-conf, patent) — ● SSG 정적 프리렌더 | | `/publications/[category]` | 카테고리별 실적 (intl-journal-conf, domestic-journal-conf, patent) — ● SSG 정적 프리렌더 |
| `/lectures` | 강의 — 45개 학기 학부·대학원 개설 교과목 이력 | | `/lectures` | 강의 — 45개 학기 학부·대학원 개설 교과목 이력 |
| `/standardization` | 표준화 활동 — IEC TC100, ISO/IEC JTC1, ITU-T, TTA 등 6개 기구 / 44개 규격 문서 | | `/standardization` | 표준화 활동 — IEC TC100, ISO/IEC JTC1, ITU-T, TTA 등 6개 기구 / 44개 규격 문서 |
+1 -1
View File
@@ -110,7 +110,7 @@ body {
================================================================== */ ================================================================== */
@layer components { @layer components {
.container-content { .container-content {
@apply mx-auto w-full max-w-content px-5 sm:px-8 lg:px-12; @apply mx-auto w-full max-w-content px-6 sm:px-10 md:px-12 lg:px-16;
} }
/* Massive magazine display title (English serif). */ /* Massive magazine display title (English serif). */
+5 -5
View File
@@ -54,8 +54,8 @@ export default function Header() {
</span> </span>
</Link> </Link>
{/* Desktop nav — small caps, wide tracking */} {/* Desktop nav — small caps, wide tracking (visible at >= 1240px) */}
<div className="hidden items-center gap-7 lg:flex"> <div className="hidden items-center gap-7 min-[1240px]:flex">
<nav className="flex items-center gap-7" aria-label="주 메뉴"> <nav className="flex items-center gap-7" aria-label="주 메뉴">
{navItems.map((item) => ( {navItems.map((item) => (
<Link <Link
@@ -84,8 +84,8 @@ export default function Header() {
<ThemeToggle /> <ThemeToggle />
</div> </div>
{/* Mobile controls */} {/* Mobile controls (visible under 1240px) */}
<div className="flex items-center gap-2 lg:hidden"> <div className="flex items-center gap-2 min-[1240px]:hidden">
<ThemeToggle /> <ThemeToggle />
<button <button
type="button" type="button"
@@ -110,7 +110,7 @@ export default function Header() {
{open && ( {open && (
<nav <nav
id="mobile-menu" id="mobile-menu"
className="border-t border-ink bg-ivory lg:hidden" className="border-t border-ink bg-ivory min-[1240px]:hidden"
aria-label="모바일 메뉴" aria-label="모바일 메뉴"
> >
<ul className="container-content flex flex-col divide-y divide-line py-2"> <ul className="container-content flex flex-col divide-y divide-line py-2">
-5
View File
@@ -8,11 +8,6 @@ export interface CategoryInfo {
// Single source of truth for Publications categories (P-02 / D-01) // Single source of truth for Publications categories (P-02 / D-01)
export const PUB_CATEGORIES: CategoryInfo[] = [ export const PUB_CATEGORIES: CategoryInfo[] = [
{
slug: "intl-conf",
label: "International Conference",
desc: "국제 학술대회 발표 및 프로시딩 논문",
},
{ {
slug: "intl-journal-conf", slug: "intl-journal-conf",
label: "International Journal & Conference", label: "International Journal & Conference",
-1
View File
@@ -18,7 +18,6 @@ export interface Alumnus {
} }
export type PubCategory = export type PubCategory =
| "intl-conf"
| "intl-journal-conf" | "intl-journal-conf"
| "domestic-journal-conf" | "domestic-journal-conf"
| "patent"; | "patent";
@@ -25,7 +25,6 @@ EXPECTED_SSG_ROUTES = [
os.path.join(".next", "server", "app", "index.html"), os.path.join(".next", "server", "app", "index.html"),
os.path.join(".next", "server", "app", "members.html"), os.path.join(".next", "server", "app", "members.html"),
os.path.join(".next", "server", "app", "publications.html"), os.path.join(".next", "server", "app", "publications.html"),
os.path.join(".next", "server", "app", "publications", "intl-conf.html"),
os.path.join(".next", "server", "app", "publications", "intl-journal-conf.html"), os.path.join(".next", "server", "app", "publications", "intl-journal-conf.html"),
os.path.join(".next", "server", "app", "publications", "domestic-journal-conf.html"), os.path.join(".next", "server", "app", "publications", "domestic-journal-conf.html"),
os.path.join(".next", "server", "app", "publications", "patent.html"), os.path.join(".next", "server", "app", "publications", "patent.html"),
@@ -62,7 +62,6 @@ class TestANLHomepageE2E(unittest.TestCase):
def test_03_publications_category_routes(self): def test_03_publications_category_routes(self):
"""TC-T1-F5: Verify Publications categories SSG static pages.""" """TC-T1-F5: Verify Publications categories SSG static pages."""
cats = [ cats = [
("intl-conf.html", "International Conference"),
("intl-journal-conf.html", "International Journal"), ("intl-journal-conf.html", "International Journal"),
("domestic-journal-conf.html", "Domestic Journal"), ("domestic-journal-conf.html", "Domestic Journal"),
("patent.html", "Patent"), ("patent.html", "Patent"),