1- import { CompanyLogo } from ' @/components/company-logo' ;
2- import { Badge } from ' @/components/ui/badge' ;
3- import { Card , CardContent , CardHeader , CardTitle } from ' @/components/ui/card' ;
4- import { Tabs } from ' @/components/ui/tabs' ;
5- import { caseStudies } from ' @/lib/data/case-studies' ;
6- import type { Locale } from ' @/lib/i18n' ;
7- import { notFound } from ' next/navigation' ;
1+ import { CompanyLogo } from " @/components/company-logo" ;
2+ import { Badge } from " @/components/ui/badge" ;
3+ import { Card , CardContent , CardHeader , CardTitle } from " @/components/ui/card" ;
4+ import { Tabs } from " @/components/ui/tabs" ;
5+ import { caseStudies } from " @/lib/data/case-studies" ;
6+ import type { Locale } from " @/lib/i18n" ;
7+ import { notFound } from " next/navigation" ;
88
99type Params = { lang : Locale ; slug : string } ;
1010
11- export function generateStaticParams ( ) {
12- const locales : Locale [ ] = [ 'es' , 'en' ] ;
13- return caseStudies . flatMap ( ( item ) => locales . map ( ( lang ) => ( { lang, slug : item . slug } ) ) ) ;
11+ export async function generateStaticParams ( ) {
12+ const locales : Locale [ ] = [ "es" , "en" ] ;
13+ return caseStudies . flatMap ( ( item ) =>
14+ locales . map ( ( lang ) => ( { lang, slug : item . slug } ) )
15+ ) ;
1416}
1517
16- export default function CaseStudyLangPage ( { params } : { params : Params } ) {
17- if ( params . lang !== 'es' && params . lang !== 'en' ) return notFound ( ) ;
18+ export default async function CaseStudyLangPage ( {
19+ params,
20+ } : {
21+ params : Promise < Params > ;
22+ } ) {
23+ const { lang, slug } = await params ;
24+
25+ if ( lang !== "es" && lang !== "en" ) return notFound ( ) ;
1826
19- const study = caseStudies . find ( ( item ) => item . slug === params . slug ) ;
27+ const study = caseStudies . find ( ( item ) => item . slug === slug ) ;
2028 if ( ! study ) return notFound ( ) ;
2129
22- const isEn = params . lang === 'en' ;
30+ const isEn = lang === "en" ;
2331 const title = isEn ? study . title . en : study . title . es ;
2432 const problem = isEn ? study . problem . en : study . problem . es ;
2533 const solution = isEn ? study . solution . en : study . solution . es ;
2634 const impact = isEn ? study . impact . en : study . impact . es ;
2735
2836 const tabs = [
29- { id : 'context' , label : isEn ? 'Context' : 'Contexto' , content : problem } ,
30- { id : 'solution' , label : isEn ? 'Solution' : 'Solución' , content : solution } ,
37+ { id : "context" , label : isEn ? "Context" : "Contexto" , content : problem } ,
38+ {
39+ id : "solution" ,
40+ label : isEn ? "Solution" : "Solución" ,
41+ content : solution ,
42+ } ,
3143 {
32- id : ' impact' ,
33- label : isEn ? ' Impact' : ' Impacto' ,
44+ id : " impact" ,
45+ label : isEn ? " Impact" : " Impacto" ,
3446 content : (
3547 < ul className = "list-disc pl-4 space-y-1" >
3648 { impact . map ( ( item ) => (
3749 < li key = { item } > { item } </ li >
3850 ) ) }
3951 </ ul >
40- )
41- }
52+ ) ,
53+ } ,
4254 ] ;
4355
4456 return (
@@ -47,8 +59,12 @@ export default function CaseStudyLangPage({ params }: { params: Params }) {
4759 < div className = "flex items-center gap-3" >
4860 < CompanyLogo companyId = { study . companyId } size = { 40 } />
4961 < div >
50- < p className = "text-sm text-base-muted uppercase tracking-[0.2em]" > { study . company } </ p >
51- < h1 className = "text-3xl font-semibold font-display text-base-text" > { title } </ h1 >
62+ < p className = "text-sm text-base-muted uppercase tracking-[0.2em]" >
63+ { study . company }
64+ </ p >
65+ < h1 className = "text-3xl font-semibold font-display text-base-text" >
66+ { title }
67+ </ h1 >
5268 </ div >
5369 </ div >
5470 < div className = "flex flex-wrap gap-2" >
@@ -71,7 +87,7 @@ export default function CaseStudyLangPage({ params }: { params: Params }) {
7187 </ div >
7288 < Card >
7389 < CardHeader >
74- < CardTitle > { isEn ? ' Details' : ' Detalles' } </ CardTitle >
90+ < CardTitle > { isEn ? " Details" : " Detalles" } </ CardTitle >
7591 </ CardHeader >
7692 < CardContent >
7793 < Tabs tabs = { tabs } />
0 commit comments