docs: declutter the docs home hero and fix the enterprise door CTA (#483)

The repositioning in #469 pushed the full marketing pitch into the docs home hero: eyebrow badge, marketing h1, a bolded two-sentence value prop, and a second paragraph, all before the install command. The hero now states what the page is and gets out of the way: "SnapOtter Documentation" plus one line that keeps the self-hosted file-processing positioning, then the one-command install and quick links.

The Enterprise door CTA said "Evaluate for your org" but linked to /guide/architecture, already the first link in that same card. It now says "See enterprise features" and points at https://snapotter.com/enterprise, where the evaluation journey (features, pricing, demo booking) actually lives.

Also repairs the docs homepage e2e spec, which still asserted pre-2.0 copy and has been failing nightly since the hero changed, and adds coverage for both door CTAs.
This commit is contained in:
SnapOtter
2026-07-11 11:43:08 +08:00
committed by GitHub
parent b369b4fb41
commit 4426c733e7
2 changed files with 18 additions and 14 deletions
+13 -3
View File
@@ -9,11 +9,10 @@ test.describe("docs homepage (Two Doors)", () => {
await expect(page).toHaveTitle(/SnapOtter/);
});
test("hero renders eyebrow, name, and value prop", async ({ page }) => {
test("hero renders name and value prop", async ({ page }) => {
await expect(page.getByRole("heading", { name: "SnapOtter Documentation" })).toBeVisible();
await expect(page.getByText("Self-hosted", { exact: false }).first()).toBeVisible();
await expect(
page.getByText("running entirely on your hardware", { exact: false }),
page.getByText("self-hosted file-processing infrastructure", { exact: false }),
).toBeVisible();
});
@@ -28,6 +27,17 @@ test.describe("docs homepage (Two Doors)", () => {
await expect(page.getByRole("link", { name: "SCIM provisioning" })).toBeVisible();
});
test("door CTAs lead to getting started and the enterprise page", async ({ page }) => {
await expect(page.getByRole("link", { name: "Start self-hosting" })).toHaveAttribute(
"href",
"/guide/getting-started",
);
await expect(page.getByRole("link", { name: "See enterprise features" })).toHaveAttribute(
"href",
"https://snapotter.com/enterprise",
);
});
test("renders the modality strip with counts", async ({ page }) => {
await expect(page.getByText("200+ tools across 5 modalities")).toBeVisible();
await expect(page.getByRole("link", { name: /Image/ })).toBeVisible();