diff --git a/.env.example b/.env.example index 4ea967c..8e8bf24 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,6 @@ # ========== 与 payjsapi/digital/nomadvip 同源 ========== +APP_ENV=development +NEXT_PUBLIC_APP_ENV=development NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase.hackrobot.cn POCKETBASE_JOIN_COLLECTION=solan POCKETBASE_EMAIL=xiaoshuang.eric@gmail.com diff --git a/.env.local b/.env.local index cb49f82..cbe1acb 100644 --- a/.env.local +++ b/.env.local @@ -1,4 +1,6 @@ # Linux 生产环境 - nomadro.cn +APP_ENV=production +NEXT_PUBLIC_APP_ENV=production ROOT_DOMAIN=nomadro.cn NEXT_PUBLIC_ROOT_DOMAIN=nomadro.cn NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase.nomadro.cn diff --git a/app/[locale]/ebooks/[slug]/page.tsx b/app/[locale]/ebooks/[slug]/page.tsx index dd85113..035517c 100644 --- a/app/[locale]/ebooks/[slug]/page.tsx +++ b/app/[locale]/ebooks/[slug]/page.tsx @@ -4,6 +4,7 @@ import { use, useEffect, useState } from "react"; import { Link, useLocale } from "@/i18n/navigation"; import { apiFetch } from "@/app/lib/api-client"; import Footer from "@/app/components/Footer"; +import ContentSubmissionModal from "@/app/components/ContentSubmissionModal"; interface ContentItem { slug: string; @@ -33,6 +34,7 @@ export default function EbookPage({ params }: { params: Promise<{ slug: string } const locale = useLocale(); const [item, setItem] = useState(null); const [cities, setCities] = useState([]); + const [submissionOpen, setSubmissionOpen] = useState(false); useEffect(() => { apiFetch<{ item: ContentItem; cities: CityLite[] }>(`/api/content/${slug}`) @@ -89,6 +91,13 @@ export default function EbookPage({ params }: { params: Promise<{ slug: string } 用城市数据规划路线 + 返回首页 @@ -109,6 +118,12 @@ export default function EbookPage({ params }: { params: Promise<{ slug: string } + setSubmissionOpen(false)} + />