Skip to content

Commit 98f19cc

Browse files
committed
add playground and blog page
1 parent 8a28aba commit 98f19cc

File tree

4 files changed

+67
-1
lines changed

4 files changed

+67
-1
lines changed

app/[lang]/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ export default async function LangPage({
1919
}: {
2020
params: Promise<Params>;
2121
}) {
22-
// En Next 15 los params llegan como Promise; los esperamos para mantener tipado estricto.
2322
const { lang } = await params;
2423

2524
if (lang !== "es" && lang !== "en") {

app/blog/page.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"use client";
2+
3+
export default function Blog() {
4+
return (
5+
<main className="min-h-screen bg-page-gradient bg-grid">
6+
<section className="py-16 md:py-20">
7+
<div className="max-w-5xl mx-auto px-4 flex flex-col gap-6">
8+
<div className="grid gap-6 grid-cols-1 md:grid-cols-2 xl:grid-cols-3">
9+
Under construction...
10+
</div>
11+
</div>
12+
</section>
13+
</main>
14+
);
15+
}

app/playground/page.tsx

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
"use client";
2+
import { Button } from "@/components/ui/button";
3+
import {
4+
Card,
5+
CardContent,
6+
CardDescription,
7+
CardHeader,
8+
CardTitle,
9+
} from "@/components/ui/card";
10+
import Link from "next/link";
11+
12+
export default function Playground() {
13+
return (
14+
<main className="min-h-screen bg-page-gradient bg-grid">
15+
<section className="py-16 md:py-20">
16+
<div className="max-w-5xl mx-auto px-4 flex flex-col gap-6">
17+
<div className="grid gap-6 grid-cols-1 md:grid-cols-2 xl:grid-cols-3">
18+
<Card className="flex flex-col gap-4">
19+
<CardHeader className="flex flex-col gap-3">
20+
<div className="flex items-center gap-3">
21+
<div>
22+
<CardTitle>PDF Util</CardTitle>
23+
<CardDescription>
24+
Merge multiple PDF documents into one
25+
</CardDescription>
26+
</div>
27+
</div>
28+
</CardHeader>
29+
<CardContent className="flex flex-col gap-4">
30+
<p className="text-base text-base-muted">
31+
Have you ever had the urge to merge multiple PDF documents
32+
into one?
33+
</p>
34+
<div className="pt-2">
35+
<Link href="/pdf-util" className="inline-flex">
36+
<Button variant="ghost" size="md">
37+
Go to PDF Util
38+
</Button>
39+
</Link>
40+
</div>
41+
</CardContent>
42+
</Card>
43+
</div>
44+
</div>
45+
</section>
46+
</main>
47+
);
48+
}

lib/i18n.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ export const dictionaries: Record<Locale, Dictionary> = {
5050
links: [
5151
{ href: '#projects', label: 'Proyectos' },
5252
{ href: '#architecture', label: 'Arquitectura' },
53+
{ href: '/playground', label: 'Playground' },
54+
{ href: '/blog', label: 'Blog' },
5355
{ href: '#contact', label: 'Contacto' }
5456
]
5557
},
@@ -95,6 +97,8 @@ export const dictionaries: Record<Locale, Dictionary> = {
9597
links: [
9698
{ href: '#projects', label: 'Projects' },
9799
{ href: '#architecture', label: 'Architecture' },
100+
{ href: '/playground', label: 'Playground' },
101+
{ href: '/blog', label: 'Blog' },
98102
{ href: '#contact', label: 'Contact' }
99103
]
100104
},

0 commit comments

Comments
 (0)