95 lines
3.5 KiB
TypeScript
95 lines
3.5 KiB
TypeScript
import Link from "next/link";
|
|
import Marquee from "@/components/Marquee";
|
|
|
|
// CUSTOMIZATION HOOK: replace address / email placeholders & colophon below.
|
|
const links = [
|
|
{ href: "/intro", ko: "연구실 소개", en: "Intro" },
|
|
{ href: "/members", ko: "구성원", en: "Members" },
|
|
{ href: "/publications", ko: "논문", en: "Publications" },
|
|
{ href: "/lectures", ko: "강의", en: "Lectures" },
|
|
{ href: "/standardization", ko: "표준화", en: "Standardization" },
|
|
];
|
|
|
|
export default function Footer() {
|
|
return (
|
|
<footer className="mt-0 border-t border-ink bg-ink text-ivory lg:mt-8">
|
|
{/* Marquee band — colophon ticker */}
|
|
<Marquee
|
|
items={[
|
|
"IoT STANDARDS LAB",
|
|
"METAVERSE INTEROPERABILITY",
|
|
"QUIC MULTI-AGENT ORCHESTRATION",
|
|
"ISSUE 01 — 2026",
|
|
"KYUNGPOOK NATIONAL UNIVERSITY",
|
|
]}
|
|
reverse
|
|
className="border-b border-ivory/20 py-4 font-display text-lg tracking-wide text-ivory/90"
|
|
/>
|
|
|
|
<div className="container-content grid gap-12 py-16 lg:grid-cols-12">
|
|
{/* Masthead title */}
|
|
<div className="lg:col-span-5">
|
|
<p className="kicker text-ivory/50">Colophon</p>
|
|
<h3 className="headline-ko mt-3 text-2xl leading-snug">
|
|
사물인터넷 표준 연구실
|
|
</h3>
|
|
<p className="font-display mt-1 text-xl italic text-ivory/70">
|
|
IoT Standards Lab
|
|
</p>
|
|
<p className="mt-5 max-w-sm text-sm leading-relaxed text-ivory/60">
|
|
경북대학교 컴퓨터학부<br />
|
|
Kyungpook National University,<br />
|
|
School of Computer Science and Engineering
|
|
</p>
|
|
</div>
|
|
|
|
{/* Contact */}
|
|
<div className="lg:col-span-4">
|
|
<p className="kicker text-ivory/50">Contact</p>
|
|
<address className="mt-3 not-italic text-sm leading-relaxed text-ivory/70">
|
|
{/* 주소 placeholder */}
|
|
(41566) 대구광역시 북구 대학로 80<br />
|
|
IT대학 OO호 (placeholder)<br />
|
|
<a
|
|
href="mailto:iot-lab@example.knu.ac.kr"
|
|
className="draw-underline mt-2 inline-block text-ivory hover:text-vermillion"
|
|
>
|
|
iot-lab@example.knu.ac.kr
|
|
</a>
|
|
</address>
|
|
</div>
|
|
|
|
{/* Index */}
|
|
<div className="lg:col-span-3">
|
|
<p className="kicker text-ivory/50">Index</p>
|
|
<ul className="mt-3 space-y-2">
|
|
{links.map((l, i) => (
|
|
<li key={l.href} className="flex items-baseline gap-3">
|
|
<span className="font-display text-xs text-ivory/40">
|
|
{String(i + 1).padStart(2, "0")}
|
|
</span>
|
|
<Link
|
|
href={l.href}
|
|
className="text-sm text-ivory/70 transition hover:text-vermillion"
|
|
>
|
|
{l.ko}{" "}
|
|
<span className="text-xs text-ivory/40">{l.en}</span>
|
|
</Link>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div className="border-t border-ivory/20">
|
|
<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-ivory/50">
|
|
© {new Date().getFullYear()} 사물인터넷 표준 연구실 · 경북대학교 컴퓨터학부. All rights reserved.
|
|
</p>
|
|
<p className="kicker text-ivory/40">Set in Fraunces · Noto Serif KR · Pretendard</p>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
);
|
|
}
|