|
1 | 1 | import type { Metadata } from "next"; |
2 | 2 | import Link from "next/link"; |
3 | | -import { getTimelineIds, getTimelineData } from "@/lib/data"; |
| 3 | +import { getTimelineIds, getTimelineData, getOpenGikaiLinks } from "@/lib/data"; |
4 | 4 | import { Timeline } from "@/components/timeline"; |
5 | 5 | import { Icon } from "@/components/icon"; |
| 6 | +import { OpenGikaiLinks } from "@/components/opengikai-link"; |
6 | 7 | import { getThemesForLaw } from "@/lib/life-themes"; |
7 | 8 | import { BreadcrumbJsonLd } from "@/components/breadcrumb-jsonld"; |
8 | 9 |
|
@@ -36,6 +37,7 @@ export default async function LawPage({ |
36 | 37 | const { lawId } = await params; |
37 | 38 | const data = getTimelineData(lawId); |
38 | 39 | const themes = getThemesForLaw(lawId); |
| 40 | + const gikaiLinks = getOpenGikaiLinks(lawId); |
39 | 41 |
|
40 | 42 | return ( |
41 | 43 | <div className="flex flex-col gap-6"> |
@@ -158,9 +160,11 @@ export default async function LawPage({ |
158 | 160 | </div> |
159 | 161 | </div> |
160 | 162 |
|
161 | | - {/* Sidebar — Contributors */} |
162 | | - {data.contributors && data.contributors.length > 0 && ( |
163 | | - <div className="lg:w-[260px] shrink-0"> |
| 163 | + {/* Sidebar */} |
| 164 | + {(data.contributors?.length || gikaiLinks) && ( |
| 165 | + <div className="lg:w-[260px] shrink-0 space-y-4"> |
| 166 | + {gikaiLinks && <OpenGikaiLinks mapping={gikaiLinks} />} |
| 167 | + {data.contributors && data.contributors.length > 0 && ( |
164 | 168 | <div className="border border-[var(--border)] rounded-lg overflow-hidden"> |
165 | 169 | <div className="px-4 py-3 bg-[var(--muted)] border-b border-[var(--border)] text-[14px] font-medium"> |
166 | 170 | Contributors |
@@ -189,6 +193,7 @@ export default async function LawPage({ |
189 | 193 | </p> |
190 | 194 | </div> |
191 | 195 | </div> |
| 196 | + )} |
192 | 197 | </div> |
193 | 198 | )} |
194 | 199 | </div> |
|
0 commit comments