feat(web): import oh-my-openagent-web Next.js + Cloudflare Workers site
Imports the public marketing site previously living in ../oh-my-opencode-web. Independent of the npm plugin: own package.json, bun.lock, tsconfig.json. Not included in the published package — root files: array still only ships dist/, bin/, postinstall.mjs. Stack: - Next.js 15.5 App Router + RSC, deployed to Cloudflare Workers via @opennextjs/cloudflare (build target .open-next/worker.js). - Tailwind v4 + shadcn/ui primitives. - next-intl with 4 locales (en/ja/ko/zh) under app/[locale]/. - Playwright e2e tests under web/e2e/. - Custom domains ohmyopenagent.com (primary) and ohmyopencode.org (legacy alias) declared in web/wrangler.toml. Source files were re-formatted via `bun run format` to bring them in line with the existing .prettierrc (singleQuote: false). Functional code unchanged.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import { test, expect } from "@playwright/test"
|
||||
|
||||
test.describe("Hero Stats", () => {
|
||||
test("displays GitHub star count", async ({ page }) => {
|
||||
// given
|
||||
await page.goto("/")
|
||||
|
||||
// when
|
||||
const starStat = page.locator("text=/[\\d.]+k GitHub Stars/")
|
||||
|
||||
// then
|
||||
await expect(starStat).toBeVisible()
|
||||
})
|
||||
|
||||
test("displays total download count", async ({ page }) => {
|
||||
// given
|
||||
await page.goto("/")
|
||||
|
||||
// when
|
||||
const totalDownloads = page.locator("text=/[\\d.]+[kM]\\+? Total Downloads/")
|
||||
|
||||
// then
|
||||
await expect(totalDownloads).toBeVisible()
|
||||
})
|
||||
|
||||
test("displays monthly download count", async ({ page }) => {
|
||||
// given
|
||||
await page.goto("/")
|
||||
|
||||
// when
|
||||
const monthlyDownloads = page.locator("text=/[\\d.]+[kM]\\+? Monthly Downloads/")
|
||||
|
||||
// then
|
||||
await expect(monthlyDownloads).toBeVisible()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user