Add Astro marketing website with React integration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-03-07 10:03:33 -05:00
parent 131b71aea9
commit 31ebd12c17
8 changed files with 658 additions and 1 deletions

3
apps/marketing/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
dist/
.astro/
node_modules/

View file

@ -0,0 +1,6 @@
import { defineConfig } from "astro/config";
import react from "@astrojs/react";
export default defineConfig({
integrations: [react()],
});

View file

@ -0,0 +1,21 @@
{
"name": "marketing",
"private": true,
"type": "module",
"scripts": {
"dev": "astro dev",
"build": "astro build",
"preview": "astro preview"
},
"dependencies": {
"astro": "^5.9.3",
"@astrojs/react": "^4.2.1",
"react": "^19.2.4",
"react-dom": "^19.2.4"
},
"devDependencies": {
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"typescript": "^5.9.2"
}
}

1
apps/marketing/src/env.d.ts vendored Normal file
View file

@ -0,0 +1 @@
/// <reference types="astro/client" />

View file

@ -0,0 +1,20 @@
---
interface Props {
title: string;
}
const { title } = Astro.props;
---
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<title>{title}</title>
</head>
<body>
<slot />
</body>
</html>

View file

@ -0,0 +1,9 @@
---
import Layout from "../layouts/Layout.astro";
---
<Layout title="Arc">
<main>
<h1>Arc</h1>
</main>
</Layout>

View file

@ -0,0 +1,3 @@
{
"extends": "astro/tsconfigs/strict"
}

596
bun.lock

File diff suppressed because it is too large Load diff