diff --git a/src/app/[locale]/blogs/Create-3D-Letters/data.ts b/src/app/[locale]/blogs/Create-3D-Letters/data.ts
new file mode 100644
index 0000000..dee000a
--- /dev/null
+++ b/src/app/[locale]/blogs/Create-3D-Letters/data.ts
@@ -0,0 +1,18 @@
+import Cover2 from "./512_288.png";
+import { BlogItem } from "../list";
+
+export const Blog: BlogItem = {
+ id: "Create-3D-Letters",
+ date: "2025-08-07",
+ cover: Cover2,
+ en: {
+ title: "How to Create Stunning 3D Letters Online for Free",
+ summary:
+ "Learn how to create stunning 3D letters online using Fast3DText — a free 3D text generator. This step-by-step guide walks you through customizing fonts, colors, background, and 3D angles, then exporting high-quality 3D text images. No design skills required.",
+ },
+ zh: {
+ title: "如何快速创建炫酷的 3D 字母图像(免安装)",
+ summary:
+ "本文教你如何使用 Fast3DText 在线生成个性化的 3D 字母 图像。通过输入文字、调整字体和颜色、操控三维视角,你可以一键导出高清立体文字图片,无需任何设计基础,适用于封面、海报和社交媒体内容。",
+ },
+};
diff --git a/src/app/[locale]/blogs/Create-3D-Letters/page.tsx b/src/app/[locale]/blogs/Create-3D-Letters/page.tsx
index 2cce69f..3659402 100644
--- a/src/app/[locale]/blogs/Create-3D-Letters/page.tsx
+++ b/src/app/[locale]/blogs/Create-3D-Letters/page.tsx
@@ -6,23 +6,8 @@ import En from "./en";
import Zh from "./zh";
import { Locales } from "@/i18n/config";
import { Metadata } from "next";
-import Cover2 from "./512_288.png";
+import { Blog } from "./data";
-export const Blog = {
- id: "Create-3D-Letters",
- date: "2025-08-07",
- cover: Cover2,
- en: {
- title: "How to Create Stunning 3D Letters Online for Free",
- summary:
- "Learn how to create stunning 3D letters online using Fast3DText — a free 3D text generator. This step-by-step guide walks you through customizing fonts, colors, background, and 3D angles, then exporting high-quality 3D text images. No design skills required.",
- },
- zh: {
- title: "如何快速创建炫酷的 3D 字母图像(免安装)",
- summary:
- "本文教你如何使用 Fast3DText 在线生成个性化的 3D 字母 图像。通过输入文字、调整字体和颜色、操控三维视角,你可以一键导出高清立体文字图片,无需任何设计基础,适用于封面、海报和社交媒体内容。",
- },
-};
export default function Page() {
const locale = useLocale() as "en" | "zh";
diff --git a/src/app/[locale]/blogs/Create-3D-Text-with-the-Barbie-Font/data.ts b/src/app/[locale]/blogs/Create-3D-Text-with-the-Barbie-Font/data.ts
new file mode 100644
index 0000000..cc11776
--- /dev/null
+++ b/src/app/[locale]/blogs/Create-3D-Text-with-the-Barbie-Font/data.ts
@@ -0,0 +1,17 @@
+import { BlogItem } from "../list";
+import Cover1 from "./512_288.png";
+export const Blog: BlogItem = {
+ id: "Create-3D-Text-with-the-Barbie-Font",
+ date: "2025-08-01",
+ cover: Cover1,
+ en: {
+ title: "How to Create 3D Text with the Barbie Font",
+ summary:
+ "Learn how to create 3D text with the Barbie font using free online tools. Step-by-step guide to download, convert, and render Barbie-style 3D text — no coding required!",
+ },
+ zh: {
+ title: "如何使用Barbie字体创建3D文本",
+ summary:
+ "学习如何使用免费在线工具,以芭比字体创建 3D 文本。下载、转换和渲染芭比风格 3D 文本的分步指南 —— 无需编码!",
+ },
+};
diff --git a/src/app/[locale]/blogs/Create-3D-Text-with-the-Barbie-Font/page.tsx b/src/app/[locale]/blogs/Create-3D-Text-with-the-Barbie-Font/page.tsx
index b7eceb1..ac5cd23 100644
--- a/src/app/[locale]/blogs/Create-3D-Text-with-the-Barbie-Font/page.tsx
+++ b/src/app/[locale]/blogs/Create-3D-Text-with-the-Barbie-Font/page.tsx
@@ -6,23 +6,7 @@ import En from "./en";
import Zh from "./zh";
import { Locales } from "@/i18n/config";
import { Metadata } from "next";
-
-import Cover1 from "./512_288.png";
-export const Blog = {
- id: "Create-3D-Text-with-the-Barbie-Font",
- date: "2025-08-01",
- cover: Cover1,
- en: {
- title: "How to Create 3D Text with the Barbie Font",
- summary:
- "Learn how to create 3D text with the Barbie font using free online tools. Step-by-step guide to download, convert, and render Barbie-style 3D text — no coding required!",
- },
- zh: {
- title: "如何使用Barbie字体创建3D文本",
- summary:
- "学习如何使用免费在线工具,以芭比字体创建 3D 文本。下载、转换和渲染芭比风格 3D 文本的分步指南 —— 无需编码!",
- },
-};
+import { Blog } from "./data";
export default function Page() {
diff --git a/src/app/[locale]/blogs/list.ts b/src/app/[locale]/blogs/list.ts
index 7dbf2c1..139fd1d 100644
--- a/src/app/[locale]/blogs/list.ts
+++ b/src/app/[locale]/blogs/list.ts
@@ -13,8 +13,8 @@ export interface BlogItem {
}
import { StaticImageData } from "next/image";
-import { Blog as Create3DTextBlog } from "./Create-3D-Text-with-the-Barbie-Font/page";
-import { Blog as Create3DLetterBlog } from "./Create-3D-Letters/page";
+import { Blog as Create3DTextBlog } from "./Create-3D-Text-with-the-Barbie-Font/data";
+import { Blog as Create3DLetterBlog } from "./Create-3D-Letters/data";
export const blogs = [
Create3DLetterBlog,
diff --git a/src/app/[locale]/editor/[data]/page.tsx b/src/app/[locale]/editor/[data]/page.tsx
index 2453097..a090266 100644
--- a/src/app/[locale]/editor/[data]/page.tsx
+++ b/src/app/[locale]/editor/[data]/page.tsx
@@ -1,5 +1,5 @@
+import { OnlyPage } from "@/components/editor/OnlyPage";
import { decodeText } from "@/lib/utils";
-import { OnlyPage } from "../page";
export default async function Page({ params }: { params: Promise<{ data: string }> }) {
diff --git a/src/app/[locale]/editor/page.tsx b/src/app/[locale]/editor/page.tsx
index 1f36a1e..5dcb936 100644
--- a/src/app/[locale]/editor/page.tsx
+++ b/src/app/[locale]/editor/page.tsx
@@ -1,51 +1,15 @@
import { BackgroundProp } from "@/components/common/BackgroundSelector";
import { TextProp } from "@/components/common/TextSetting";
-import Footer from "@/components/Footer";
-import FullEditor from "@/components/FullEditor";
-import Header from "@/components/Header";
+import { OnlyPage } from "@/components/editor/OnlyPage";
import { Locales } from "@/i18n/config";
-import { Box, Container, Flex, Heading, Text, Card } from "@radix-ui/themes";
-import { HelpCircle } from "lucide-react";
import { Metadata } from "next";
-import { useTranslations } from "next-intl";
import { getTranslations } from "next-intl/server";
const host = process.env.NEXT_PUBLIC_HOST;
export default function Page() {
-
return ()
}
-export function OnlyPage({ textProp, backgroundProp }: { textProp: TextProp | undefined, backgroundProp: BackgroundProp | undefined }) {
- const t = useTranslations('TextEditor');
-
- return
-
- {t('title')}
-
-
-
-
- {t('faqTitle')}
-
-
-
-
- {t('faqQuestion1')}
-
-
- {t('faqAnswer1')}
-
-
-
-
-
- ;
-}
-
const locales = Locales;
export function generateStaticParams() {
diff --git a/src/components/editor/OnlyPage.tsx b/src/components/editor/OnlyPage.tsx
new file mode 100644
index 0000000..9dac1b8
--- /dev/null
+++ b/src/components/editor/OnlyPage.tsx
@@ -0,0 +1,41 @@
+import { BackgroundProp } from "@/components/common/BackgroundSelector";
+import { TextProp } from "@/components/common/TextSetting";
+import Footer from "@/components/Footer";
+import FullEditor from "@/components/FullEditor";
+import Header from "@/components/Header";
+import { Box, Container, Flex, Heading, Text, Card } from "@radix-ui/themes";
+import { HelpCircle } from "lucide-react";
+import { useTranslations } from "next-intl";
+
+export function OnlyPage({ textProp, backgroundProp }: {
+ textProp: TextProp | undefined;
+ backgroundProp: BackgroundProp | undefined
+}) {
+ const t = useTranslations('TextEditor');
+
+ return
+
+ {t('title')}
+
+
+
+
+ {t('faqTitle')}
+
+
+
+
+ {t('faqQuestion1')}
+
+
+ {t('faqAnswer1')}
+
+
+
+
+
+ ;
+}
\ No newline at end of file