diff --git a/apps/openscene/lib/docs/content.en.ts b/apps/openscene/lib/docs/content.en.ts index f29843c..a9cde74 100644 --- a/apps/openscene/lib/docs/content.en.ts +++ b/apps/openscene/lib/docs/content.en.ts @@ -345,6 +345,8 @@ const dataAndPrivacy: DocPage = { "**No telemetry.** No analytics, crash reporting, or usage tracking", "**No background network calls.** The app talks to a provider only when you ask it to, using a provider you connected", ] }, + { kind: "heading", text: "Advertising disclosure" }, + { kind: "paragraph", text: "A banner ad may appear above the tab bar on project screens (the timeline, generation and library tabs), and an interstitial ad may appear only after a video export completes successfully." }, { kind: "heading", text: "Where your data lives" }, { kind: "paragraph", text: "Projects are folders you choose. Assets, chat history, and generated results are written inside them. App-managed projects and window recordings live under Electron user data, and recordings can be redirected with `VIDEO_TOOL_RECORDINGS_DIR`." }, { kind: "heading", text: "The process boundary" }, diff --git a/apps/openscene/test/docs.test.tsx b/apps/openscene/test/docs.test.tsx index e2d505b..6eef3e7 100644 --- a/apps/openscene/test/docs.test.tsx +++ b/apps/openscene/test/docs.test.tsx @@ -25,6 +25,13 @@ describe("OpenScene documentation routes", () => { expect(main.getByRole("link", { name: "Install and run" }).getAttribute("href")).toBe("/docs/install"); }); + it("renders the English data and privacy ad disclosure", async () => { + await renderRoute(["data-and-privacy"]); + const main = screen.getByRole("main"); + expect(main.textContent).toContain("A banner ad may appear above the tab bar on project screens (the timeline, generation and library tabs), and an interstitial ad may appear only after a video export completes successfully."); + expect(main.textContent).not.toContain("in Settings"); + }); + it("renders a Korean page from its own path", async () => { await renderRoute(["ko", "install"]); expect(screen.getByRole("heading", { level: 1, name: "설치와 실행" })).toBeDefined();