feat(footer): internationalize footer layout and remove directions section

- Remove #directions section and DirectionsBlock component from home page
- Translate Footer masthead brand titles to ANL and AI Agent Networking Lab
- Update Footer affiliated institution links to KNU, CSE, and College of IT Engineering
- Add advisor information (Prof. Seok-Joo Koh) and translate address to English
- Translate Footer quick navigation links and colophon/copyright text
- Update E2E test assertions for the updated footer layout and address
This commit is contained in:
2026-08-21 13:20:15 +09:00
parent 184ff8263c
commit b8f1a000fd
5 changed files with 49 additions and 202 deletions
@@ -1,87 +0,0 @@
import React from "react";
export function DirectionsBlock() {
return (
<section className="mt-20 pt-16 border-t border-line" id="directions">
<div className="flex items-center gap-3 mb-6">
<span className="h-px w-8 bg-cobalt-dark"></span>
<span className="font-mono text-xs tracking-widest uppercase text-cobalt-dark font-bold">
Location & Contact
</span>
</div>
<div className="grid grid-cols-1 lg:grid-cols-12 gap-8">
{/* Left info column */}
<div className="lg:col-span-7 space-y-6">
<h2 className="font-serif text-3xl font-normal text-ink">
&
</h2>
<p className="text-ink-mute text-base leading-relaxed">
AI (ANL) IT대학 5 , .
</p>
<address className="not-italic space-y-4 pt-2 text-sm font-sans text-ink">
<div className="flex items-start gap-3">
<span className="font-mono text-xs uppercase tracking-wider text-ink-mute w-20 pt-0.5">
</span>
<div>
<p className="font-medium">
IT대학 5(415) 527
</p>
<p className="text-xs text-ink-mute mt-0.5">
School of Computer Science and Engineering, Kyungpook National University
</p>
</div>
</div>
<div className="flex items-center gap-3">
<span className="font-mono text-xs uppercase tracking-wider text-ink-mute w-20">
</span>
<span>
(<a href="mailto:sjkoh@knu.ac.kr" className="text-vermillion hover:underline">sjkoh@knu.ac.kr</a>)
</span>
</div>
<div className="flex items-start gap-3">
<span className="font-mono text-xs uppercase tracking-wider text-ink-mute w-20 pt-0.5">
</span>
<div className="flex flex-wrap gap-x-4 gap-y-1 text-xs font-mono text-cobalt-dark">
<a href="http://www.knu.ac.kr/" target="_blank" rel="noreferrer" className="hover:underline">
(KNU)
</a>
<a href="http://cse.knu.ac.kr/" target="_blank" rel="noreferrer" className="hover:underline">
</a>
<a href="http://it.knu.ac.kr/" target="_blank" rel="noreferrer" className="hover:underline">
IT대학
</a>
</div>
</div>
</address>
</div>
{/* Right card column */}
<div className="lg:col-span-5 bg-paper p-6 rounded-lg border border-line flex flex-col justify-between">
<div className="space-y-4">
<div className="font-mono text-xs text-ink-mute uppercase tracking-wider">
Research Environment
</div>
<h3 className="font-serif text-xl font-normal text-ink">
AI Agent Networking Lab
</h3>
<p className="text-xs text-ink-mute leading-relaxed">
QUIC/gRPC .
</p>
</div>
<div className="mt-6 pt-4 border-t border-line flex justify-between items-center text-xs font-mono text-ink-mute">
<span>IT-5 Building #527</span>
<span className="text-vermillion font-bold">ANL Laboratory</span>
</div>
</div>
</div>
</section>
);
}
-4
View File
@@ -1,7 +1,6 @@
import React from "react";
import Link from "next/link";
import HeroComposition from "./_components/HeroComposition";
import { DirectionsBlock } from "./_components/DirectionsBlock";
import { ProjectPageView } from "./_components/ProjectPageView";
import { publications, patents } from "../content/publications";
import { standardsBodies } from "../content/standards";
@@ -193,9 +192,6 @@ export default function HomePage() {
</div>
</div>
</section>
{/* Directions Block */}
<DirectionsBlock />
</div>
);
}
+40 -18
View File
@@ -3,11 +3,11 @@ import Marquee from "@/components/Marquee";
// CUSTOMIZATION HOOK: replace address / email placeholders & colophon below.
const links = [
{ href: "/", ko: "홈", en: "Home" },
{ href: "/members", ko: "구성원", en: "Members" },
{ href: "/publications", ko: "논문", en: "Publications" },
{ href: "/lectures", ko: "강의", en: "Lectures" },
{ href: "/standardization", ko: "표준화", en: "Standardization" },
{ href: "/", en: "Home" },
{ href: "/members", en: "Members" },
{ href: "/publications", en: "Publications" },
{ href: "/lectures", en: "Lectures" },
{ href: "/standardization", en: "Standardization" },
];
export default function Footer() {
@@ -29,25 +29,48 @@ export default function Footer() {
{/* Masthead title */}
<div className="lg:col-span-5">
<p className="kicker text-ink-mute">Colophon</p>
<h3 className="headline-ko mt-3 text-2xl leading-snug text-ink">
AI
<h3 className="font-display mt-3 text-2xl leading-snug text-ink">
ANL
</h3>
<p className="font-display mt-1 text-xl italic text-ink-soft">
AI Agent Networking Lab (ANL)
</p>
<p className="mt-5 max-w-sm text-sm leading-relaxed text-ink-mute">
<br />
Kyungpook National University,<br />
School of Computer Science and Engineering
AI Agent Networking Lab
</p>
<div className="mt-5 flex flex-wrap gap-x-4 gap-y-1 text-xs font-mono text-cobalt-dark">
<a
href="https://www.knu.ac.kr/"
target="_blank"
rel="noopener noreferrer"
className="hover:underline"
>
KNU
</a>
<a
href="https://cse.knu.ac.kr/"
target="_blank"
rel="noopener noreferrer"
className="hover:underline"
>
CSE
</a>
<a
href="https://it.knu.ac.kr/"
target="_blank"
rel="noopener noreferrer"
className="hover:underline"
>
College of IT Engineering
</a>
</div>
</div>
{/* Contact */}
<div className="lg:col-span-4">
<p className="kicker text-ink-mute">Contact</p>
<address className="mt-3 not-italic text-sm leading-relaxed text-ink-soft">
(41566) 80<br />
IT대학 5(415) 527<br />
Prof. Seok-Joo Koh<br />
Room 527, Bldg. 415 (IT-5), College of IT Engineering<br />
Kyungpook National University<br />
80 Daehak-ro, Buk-gu, Daegu 41566, Republic of Korea<br />
<a
href="mailto:sjkoh@knu.ac.kr"
className="draw-underline mt-2 inline-block text-ink hover:text-vermillion-dark font-medium"
@@ -70,8 +93,7 @@ export default function Footer() {
href={l.href}
className="text-sm text-ink-soft transition hover:text-vermillion-dark"
>
{l.ko}{" "}
<span className="text-xs text-ink-mute">{l.en}</span>
{l.en}
</Link>
</li>
))}
@@ -82,7 +104,7 @@ export default function Footer() {
<div className="border-t border-line">
<div className="container-content flex flex-col gap-2 py-5 sm:flex-row sm:items-center sm:justify-between">
<p className="text-xs text-ink-mute">
© {new Date().getFullYear()} AI (ANL) · . All rights reserved.
© {new Date().getFullYear()} AI Agent Networking Lab (ANL) · School of Computer Science and Engineering, KNU. All rights reserved.
</p>
<p className="kicker text-ink-mute">Set in Fraunces · Noto Serif KR · Pretendard</p>
</div>
+3 -1
View File
@@ -44,7 +44,9 @@ class TestANLHomepageE2E(unittest.TestCase):
# 3. Location / Address section
self.assertIn("address", html.lower())
self.assertIn("경북대학교 IT대학 5호관", html)
self.assertIn("Kyungpook National University", html)
self.assertIn("College of IT Engineering", html)
self.assertIn("Prof. Seok-Joo Koh", html)
self.assertIn("sjkoh@knu.ac.kr", html)
def test_02_members_page_content(self):