fix(task-024): make demo browser flow reachable

This commit is contained in:
2026-05-22 20:31:17 +03:00
parent 5f3e543ea2
commit b8937d2864
18 changed files with 175 additions and 27 deletions
+9
View File
@@ -7,6 +7,15 @@ const repoRoot = resolve(dirname(fileURLToPath(import.meta.url)), "../..");
const nextConfig = {
reactStrictMode: true,
outputFileTracingRoot: repoRoot,
async rewrites() {
const backendUrl = process.env.BACKEND_URL ?? "http://localhost:8000";
return [
{
source: "/api/:path*",
destination: `${backendUrl}/api/:path*`,
},
];
},
turbopack: {
root: repoRoot,
},
+5 -1
View File
@@ -1,3 +1,7 @@
import AdminJobsPage from "@/pages/admin-jobs";
export default AdminJobsPage;
export const dynamic = "force-dynamic";
export default function Page() {
return <AdminJobsPage />;
}
+5 -1
View File
@@ -1,3 +1,7 @@
import AdminScriptsPage from "@/pages/admin-scripts";
export { AdminScriptsPage as default };
export const dynamic = "force-dynamic";
export default function Page() {
return <AdminScriptsPage />;
}
+5 -1
View File
@@ -1,3 +1,7 @@
import AdminSitesPage from "@/pages/admin-sites";
export default AdminSitesPage;
export const dynamic = "force-dynamic";
export default function Page() {
return <AdminSitesPage />;
}
@@ -1,3 +1,7 @@
import AdminWorkflowsPage from "@/pages/admin-workflows";
export { AdminWorkflowsPage as default };
export const dynamic = "force-dynamic";
export default function Page() {
return <AdminWorkflowsPage />;
}
@@ -1,14 +1,16 @@
import ArticleBoundaryQuestionsPage from "@/pages/article-boundary-questions";
export const dynamic = "force-dynamic";
type DynamicArticleBoundaryQuestionsPageProps = {
params: {
params: Promise<{
articleId: string;
};
}>;
};
export default async function DynamicArticleBoundaryQuestionsPage({
params,
}: DynamicArticleBoundaryQuestionsPageProps) {
const { articleId } = params;
const { articleId } = await params;
return <ArticleBoundaryQuestionsPage articleId={articleId} />;
}
@@ -1,14 +1,16 @@
import ArticleEvidencePage from "@/pages/article-evidence";
export const dynamic = "force-dynamic";
type DynamicArticleEvidencePageProps = {
params: {
params: Promise<{
articleId: string;
};
}>;
};
export default async function DynamicArticleEvidencePage({
params,
}: DynamicArticleEvidencePageProps) {
const { articleId } = params;
const { articleId } = await params;
return <ArticleEvidencePage articleId={articleId} />;
}
@@ -1,19 +1,22 @@
import ArticleDetailPage from "@/pages/article-detail";
export const dynamic = "force-dynamic";
type DynamicArticleDetailPageProps = {
params: {
params: Promise<{
articleId: string;
};
searchParams?: {
}>;
searchParams?: Promise<{
role?: string;
};
}>;
};
export default async function DynamicArticleDetailPage({
params,
searchParams,
}: DynamicArticleDetailPageProps) {
const { articleId } = params;
const viewerRoleHint = searchParams?.role === "admin" ? "admin" : "editor";
const { articleId } = await params;
const resolvedSearchParams = searchParams ? await searchParams : undefined;
const viewerRoleHint = resolvedSearchParams?.role === "admin" ? "admin" : "editor";
return <ArticleDetailPage articleId={articleId} viewerRoleHint={viewerRoleHint} />;
}
@@ -1,14 +1,16 @@
import ArticlePlansPage from "@/pages/article-plans";
export const dynamic = "force-dynamic";
type DynamicArticlePlansPageProps = {
params: {
params: Promise<{
articleId: string;
};
}>;
};
export default async function DynamicArticlePlansPage({
params,
}: DynamicArticlePlansPageProps) {
const { articleId } = params;
const { articleId } = await params;
return <ArticlePlansPage articleId={articleId} />;
}
@@ -1,14 +1,16 @@
import ArticleResearchPage from "@/pages/article-research";
export const dynamic = "force-dynamic";
type DynamicArticleResearchPageProps = {
params: {
params: Promise<{
articleId: string;
};
}>;
};
export default async function DynamicArticleResearchPage({
params,
}: DynamicArticleResearchPageProps) {
const { articleId } = params;
const { articleId } = await params;
return <ArticleResearchPage articleId={articleId} />;
}
+5 -1
View File
@@ -1,3 +1,7 @@
import NewArticlePage from "@/pages/article-new";
export { NewArticlePage as default };
export const dynamic = "force-dynamic";
export default function Page() {
return <NewArticlePage />;
}
+2
View File
@@ -6,6 +6,8 @@ export const metadata = {
description: "Internal editorial workflow foundation",
};
export const dynamic = "force-dynamic";
export default function RootLayout({
children,
}: Readonly<{
+5 -1
View File
@@ -1,3 +1,7 @@
import DashboardPage from "@/pages/dashboard";
export { DashboardPage as default };
export const dynamic = "force-dynamic";
export default function Page() {
return <DashboardPage />;
}