Skip to content

Commit a6a8480

Browse files
author
Mauricio Siu
committed
chore: remove unused translation files and dependencies to simplify codebase
1 parent 8adf935 commit a6a8480

File tree

20 files changed

+331
-678
lines changed

20 files changed

+331
-678
lines changed

apps/website/app/[locale]/_changelog/page.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
// import { ScrollArea } from "@/components/ui/scroll-area";
2+
import type { Metadata } from "next";
3+
4+
export const metadata: Metadata = {
5+
title: "Changelog",
6+
description: "Stay updated with the latest changes, improvements, and features in Dokploy",
7+
};
28

39
// Datos de ejemplo del changelog
410
const changelogEntries = [
@@ -57,7 +63,7 @@ const changelogEntries = [
5763
},
5864
];
5965

60-
const Comp = () => {
66+
export default function ChangelogPage() {
6167
return (
6268
<div className="border-t border-border/30 bg-black py-20 sm:py-32">
6369
<div className="absolute inset-0">
@@ -115,7 +121,12 @@ const Comp = () => {
115121
</div>
116122
</div>
117123
);
118-
};
124+
}
125+
126+
// Unused/old version below
127+
// const Comp = () => {
128+
// ...
129+
// };
119130

120131
// export default function Changelog() {
121132
// return (

apps/website/app/[locale]/privacy/page.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
import type { Metadata } from "next";
2+
3+
export const metadata: Metadata = {
4+
title: "Privacy Policy",
5+
description:
6+
"Learn about how Dokploy collects, uses, and safeguards your personal information when you use our website and services.",
7+
};
8+
19
export default function Home() {
210
return (
311
<div className="flex flex-col gap-4 w-full max-w-4xl mx-auto">

apps/website/app/[locale]/terms/page.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
import type { Metadata } from "next";
2+
3+
export const metadata: Metadata = {
4+
title: "Terms and Conditions",
5+
description:
6+
"Read the terms and conditions for using Dokploy's website and services.",
7+
};
8+
19
export default function Home() {
210
return (
311
<div className="flex flex-col gap-4 w-full max-w-4xl mx-auto">

apps/website/app/blog/[slug]/page.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import { CodeBlock } from "./components/CodeBlock";
1717
import { H1, H2, H3 } from "./components/Headings";
1818
import { TableOfContents } from "./components/TableOfContents";
1919
import { ZoomableImage } from "./components/ZoomableImage";
20-
import { useTranslations } from "@/lib/intl";
2120

2221
type Props = {
2322
params: { slug: string };
@@ -72,7 +71,6 @@ export async function generateMetadata(
7271

7372
export default async function BlogPostPage({ params }: Props) {
7473
const { slug } = await params;
75-
const t = useTranslations("blog");
7674
const post = await getPost(slug);
7775
const allPosts = await getPosts();
7876

@@ -233,7 +231,7 @@ export default async function BlogPostPage({ params }: Props) {
233231
clipRule="evenodd"
234232
/>
235233
</svg>
236-
{t("backToBlog")}
234+
Back to Blog
237235
</Link>
238236

239237
<div className="grid grid-cols-1 lg:grid-cols-[1fr_250px] gap-8">
@@ -313,7 +311,7 @@ export default async function BlogPostPage({ params }: Props) {
313311

314312
{post.tags && post.tags.length > 0 && (
315313
<div className="mt-12 pt-6 border-t border-border">
316-
<h2 className="text-xl font-semibold mb-4">{t("tags")}</h2>
314+
<h2 className="text-xl font-semibold mb-4">Tags</h2>
317315
<div className="flex flex-wrap gap-2">
318316
{post.tags.map((tag) => (
319317
<Link
@@ -338,7 +336,7 @@ export default async function BlogPostPage({ params }: Props) {
338336

339337
{relatedPosts.length > 0 && (
340338
<div className="mt-12">
341-
<h2 className="text-2xl font-bold mb-6">{t("relatedPosts")}</h2>
339+
<h2 className="text-2xl font-bold mb-6">Related Posts</h2>
342340
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
343341
{relatedPosts.map((relatedPost) => {
344342
const relatedPostDate = new Date(

apps/website/app/blog/page.tsx

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import type { Metadata } from "next";
55
import Link from "next/link";
66
import { BlogPostCard } from "./components/BlogPostCard";
77
import { SearchAndFilter } from "./components/SearchAndFilter";
8-
import { useTranslations } from "@/lib/intl";
98

109
interface Tag {
1110
id: string;
@@ -14,7 +13,7 @@ interface Tag {
1413
}
1514

1615
export const metadata: Metadata = {
17-
title: "Blog | Dokploy",
16+
title: "Blog",
1817
description: "Latest news, updates, and articles from Dokploy",
1918
};
2019

@@ -24,7 +23,6 @@ export default async function BlogPage({
2423
searchParams: { [key: string]: string | string[] | undefined };
2524
}) {
2625
const searchParams2 = await searchParams;
27-
const t = useTranslations("blog");
2826
const posts = await getPosts();
2927
const tags = (await getTags()) as Tag[];
3028
const search =
@@ -61,21 +59,21 @@ export default async function BlogPage({
6159
</Link>
6260
</div>
6361

64-
<SearchAndFilter
65-
tags={tags}
66-
initialSearch={search}
67-
initialTag={selectedTag}
68-
searchPlaceholder={t("searchPlaceholder")}
69-
allTagsText={t("allTags")}
70-
/>
62+
<SearchAndFilter
63+
tags={tags}
64+
initialSearch={search}
65+
initialTag={selectedTag}
66+
searchPlaceholder="Search posts..."
67+
allTagsText="All Tags"
68+
/>
7169

72-
{filteredPosts.length === 0 ? (
73-
<div className="text-center py-12 min-h-[20vh] flex items-center justify-center">
74-
<p className="text-xl text-muted-foreground">
75-
{search || selectedTag ? t("noResults") : t("noPosts")}
76-
</p>
77-
</div>
78-
) : (
70+
{filteredPosts.length === 0 ? (
71+
<div className="text-center py-12 min-h-[20vh] flex items-center justify-center">
72+
<p className="text-xl text-muted-foreground">
73+
{search || selectedTag ? "No posts found matching your criteria" : "No posts available"}
74+
</p>
75+
</div>
76+
) : (
7977
<div className="space-y-8">
8078
{filteredPosts.map((post: Post) => (
8179
<BlogPostCard key={post.id} post={post} />

apps/website/app/blog/tag/[tag]/page.tsx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,28 @@ import type { Metadata } from "next";
44
import Image from "next/image";
55
import Link from "next/link";
66
import { notFound } from "next/navigation";
7-
import { useTranslations } from "@/lib/intl";
87

98
type Props = {
109
params: { tag: string };
1110
};
1211

1312
export async function generateMetadata({ params }: Props): Promise<Metadata> {
1413
const { tag } = await params;
15-
const t = useTranslations("blog");
14+
const posts = await getPostsByTag(tag);
15+
16+
if (!posts || posts.length === 0) {
17+
return {
18+
title: "Tag Not Found",
19+
description: "The requested tag could not be found",
20+
};
21+
}
22+
23+
const tagName =
24+
posts[0].tags?.find((t: { slug: string }) => t.slug === tag)?.name || tag;
1625

1726
return {
18-
title: `${t("tagTitle", { tag })}`,
19-
description: t("tagDescription", { tag }),
27+
title: `${tagName} Posts`,
28+
description: `Browse all posts tagged with ${tagName}`,
2029
};
2130
}
2231

@@ -27,7 +36,6 @@ export async function generateStaticParams() {
2736

2837
export default async function TagPage({ params }: Props) {
2938
const { tag } = await params;
30-
const t = useTranslations("blog");
3139
const posts = await getPostsByTag(tag);
3240

3341
if (!posts || posts.length === 0) {
@@ -55,16 +63,16 @@ export default async function TagPage({ params }: Props) {
5563
clipRule="evenodd"
5664
/>
5765
</svg>
58-
{t("backToBlog")}
66+
Back to Blog
5967
</Link>
6068

6169
<div className="mb-8">
6270
<h1 className="text-3xl font-bold mb-2">
63-
{t("postsTaggedWith")}{" "}
71+
Posts tagged with{" "}
6472
<span className="text-primary-600">"{tagName}"</span>
6573
</h1>
6674
<p className="text-gray-600 dark:text-gray-400">
67-
{t("foundPosts", { count: posts.length })}
75+
{posts.length} {posts.length === 1 ? 'post' : 'posts'} found
6876
</p>
6977
</div>
7078

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import type { Metadata } from "next";
2+
import type { ReactNode } from "react";
3+
4+
export const metadata: Metadata = {
5+
title: "Contact Us",
6+
description:
7+
"Get in touch with our team. We're here to help with any questions about Dokploy.",
8+
};
9+
10+
export default function ContactLayout({ children }: { children: ReactNode }) {
11+
return <>{children}</>;
12+
}
13+

apps/website/app/layout.tsx

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,30 @@ type Props = {
1212
children: ReactNode;
1313
};
1414

15-
// export const metadata: Metadata = {
16-
// metadataBase: new URL("https://dokploy.com"),
17-
// title: "Dokploy - Deploy your applications with ease",
18-
// description: "Deploy your applications with ease using Dokploy",
19-
// icons: {
20-
// icon: "icon.svg",
21-
// apple: "apple-touch-icon.png",
22-
// },
23-
// openGraph: {
24-
// title: "Dokploy - Deploy your applications with ease",
25-
// description: "Deploy your applications with ease using Dokploy",
26-
// images: "favicon.ico",
27-
// type: "website",
28-
// },
29-
// twitter: {
30-
// card: "summary_large_image",
31-
// title: "Dokploy - Deploy your applications with ease",
32-
// description: "Deploy your applications with ease using Dokploy",
33-
// images: ["/og.png"],
34-
// },
35-
// };
15+
export const metadata: Metadata = {
16+
metadataBase: new URL("https://dokploy.com"),
17+
title: {
18+
default: "Dokploy - Deploy your applications with ease",
19+
template: "%s | Dokploy",
20+
},
21+
description: "Deploy your applications with ease using Dokploy",
22+
icons: {
23+
icon: "icon.svg",
24+
apple: "apple-touch-icon.png",
25+
},
26+
openGraph: {
27+
title: "Dokploy - Deploy your applications with ease",
28+
description: "Deploy your applications with ease using Dokploy",
29+
images: "/og.png",
30+
type: "website",
31+
},
32+
twitter: {
33+
card: "summary_large_image",
34+
title: "Dokploy - Deploy your applications with ease",
35+
description: "Deploy your applications with ease using Dokploy",
36+
images: ["/og.png"],
37+
},
38+
};
3639
const inter = Inter({
3740
subsets: ["latin"],
3841
display: "swap",

apps/website/app/page.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ import { Pricing } from "@/components/pricing";
77
import { SecondaryFeaturesSections } from "@/components/secondary-features";
88
import { Sponsors } from "@/components/sponsors";
99
import { StatsSection } from "@/components/stats";
10+
import type { Metadata } from "next";
11+
12+
export const metadata: Metadata = {
13+
title: "Dokploy | Deploy your applications with ease",
14+
description: "Open-source self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases",
15+
};
1016

1117
export default function Home() {
1218
return (

apps/website/components/CallToAction.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import { Container } from "@/components/Container";
2-
import { useTranslations } from "@/lib/intl";
32
import Link from "next/link";
43
import { Button } from "./ui/button";
54

65
export function CallToAction() {
7-
const t = useTranslations("HomePage");
86
return (
97
<section
108
id="get-started-today"
@@ -32,10 +30,10 @@ export function CallToAction() {
3230
<Container className="relative z-30">
3331
<div className="mx-auto max-w-lg text-center">
3432
<h2 className="font-display text-3xl tracking-tight text-white sm:text-4xl">
35-
{t("callToAction.title")}
33+
Unlock Your Deployment Potential with Dokploy Cloud
3634
</h2>
3735
<p className="mt-4 text-lg tracking-tight text-muted-foreground">
38-
{t("callToAction.des")}
36+
Say goodbye to infrastructure hassles—Dokploy Cloud handles it all. Effortlessly deploy, manage Docker containers, and secure your traffic with Traefik. Focus on building, we'll handle the rest.
3937
</p>
4038

4139
<Button className="mt-10 rounded-full" asChild>
@@ -45,7 +43,7 @@ export function CallToAction() {
4543
target="_blank"
4644
className="flex flex-row items-center gap-2"
4745
>
48-
{t("callToAction.button")}
46+
Get Started Now
4947
</Link>
5048
</Button>
5149
</div>

0 commit comments

Comments
 (0)