11import LangSwitch from '../components/LangSwitch' ;
22import Link from 'next/link' ;
3+ import SideToc from '../components/SideToc' ;
34import { getDict } from '../lib/i18n' ;
45
56export default function HomePageJA ( ) {
@@ -11,21 +12,17 @@ export default function HomePageJA() {
1112 < div className = "brand" > < Link href = "/" > { t . brand } </ Link > </ div >
1213 < div style = { { display : 'flex' , gap : '16px' , alignItems : 'center' } } >
1314 < nav className = "nav" >
14- < a href = "#about " > { t . nav . about } </ a >
15- < a href = "#courses " > { t . nav . courses } </ a >
15+ < a href = "#home " > { t . nav . home } </ a >
16+ < Link href = "/ja/publication " > { t . nav . publications } </ Link >
1617 < a href = "#research" > { t . nav . research } </ a >
17- < a href = "#expectations" > { t . nav . expectations } </ a >
18- < a href = "#insights" > { t . nav . insights } </ a >
19- < a href = "#students" > { t . nav . students } </ a >
20- < a href = "#alumni" > { t . nav . alumni } </ a >
21- < a href = "#contact" > { t . nav . contact } </ a >
18+ < a href = "#courses" > { t . nav . courses } </ a >
2219 </ nav >
2320 < LangSwitch />
2421 </ div >
2522 </ div >
2623 </ header >
2724
28- < section className = "hero" >
25+ < section id = "home" className = "hero" >
2926 < div className = "container" >
3027 < h1 className = "title" > { t . hero . title } </ h1 >
3128 < p className = "subtitle" > { t . hero . subtitle } </ p >
@@ -36,8 +33,28 @@ export default function HomePageJA() {
3633 </ div >
3734 </ section >
3835
36+ { /* Publications moved to /ja/publication */ }
37+
3938 < section id = "about" className = "section" >
4039 < div className = "container" >
40+
41+ < div className = "about-grid " >
42+ < div className = "about-photo" >
43+ < img src = "/wang_hao.jpeg" alt = "Hao WANG" />
44+ </ div >
45+ < div >
46+ { t . profile && t . profile . name && Array . isArray ( t . profile . lines ) && (
47+ < div className = "profile-card" >
48+ < div className = "lines" >
49+ { t . profile . lines . map ( ( line : string , idx : number ) => ( < div key = { idx } > { line } </ div > ) ) }
50+ </ div >
51+ < div className = "contact-email" >
52+ < a href = { `mailto:${ t . contact . email } ` } > { t . contact . email } </ a >
53+ </ div >
54+ </ div >
55+ ) }
56+ </ div >
57+ </ div >
4158 < h2 className = "section-title" > { t . about . title } </ h2 >
4259 < p > { t . about . p1 } </ p >
4360 < p > { t . about . p2 } </ p >
@@ -130,7 +147,15 @@ export default function HomePageJA() {
130147 < tbody >
131148 { t . alumni . rows . map ( ( r , idx ) => (
132149 < tr key = { idx } >
133- { r . map ( ( cell , cidx ) => ( < td key = { cidx } > { cell } </ td > ) ) }
150+ { r . map ( ( cell : any , cidx : number ) => (
151+ < td key = { cidx } >
152+ { cell && typeof cell === 'object' && 'href' in cell ? (
153+ < a href = { cell . href } target = "_blank" rel = "noopener noreferrer" > { cell . text } </ a >
154+ ) : (
155+ cell
156+ ) }
157+ </ td >
158+ ) ) }
134159 </ tr >
135160 ) ) }
136161 </ tbody >
@@ -153,6 +178,17 @@ export default function HomePageJA() {
153178 < p > { t . footer . replace ( '{year}' , String ( new Date ( ) . getFullYear ( ) ) ) } </ p >
154179 </ div >
155180 </ footer >
181+
182+ < SideToc items = { [
183+ { id : 'home' , label : t . nav . home } ,
184+ { id : 'courses' , label : t . nav . courses } ,
185+ { id : 'research' , label : t . nav . research } ,
186+ { id : 'expectations' , label : t . nav . expectations } ,
187+ { id : 'insights' , label : t . nav . insights } ,
188+ { id : 'students' , label : t . nav . students } ,
189+ { id : 'alumni' , label : t . nav . alumni } ,
190+ { id : 'contact' , label : t . nav . contact }
191+ ] } />
156192 </ main >
157193 ) ;
158194}
0 commit comments