feat: add landing page with product info#78
Conversation
|
✅ All checks have passed successfully!
Coverage reports have been uploaded as artifacts. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting
src/scripts/landing-counters.ts
Outdated
| * Animates numbers from 0 to target value with smooth transitions | ||
| */ | ||
|
|
||
| import { ANIMATION_DURATIONS, OBSERVER_THRESHOLDS, ROOT_MARGINS } from '../data/landingContent'; |
There was a problem hiding this comment.
Import animation constants from correct module
The counters script pulls ANIMATION_DURATIONS, OBSERVER_THRESHOLDS, and ROOT_MARGINS from landingContent, but that module only exports route/link metadata. These constants actually live in landingAnimations.ts, so the current import will fail TypeScript compilation with “has no exported member” and prevent the landing page from building.
Useful? React with 👍 / 👎.
| <script src="../../scripts/landing-animations.ts"></script> | ||
| <!-- Number counter animations --> | ||
| <script src="../../scripts/landing-counters.ts"></script> | ||
| <!-- Micro-interactions and hover effects --> | ||
| <script src="../../scripts/landing-micro-interactions.ts"></script> |
There was a problem hiding this comment.
Bundle landing scripts instead of referencing raw .ts files
The landing component inserts three <script> tags that point directly at .ts sources using relative strings. Astro does not emit these files automatically, so the built page will request /scripts/landing-animations.ts (etc.) which either 404s or returns untranspiled TypeScript. As a result none of the animations, counters, or micro‑interactions execute in production. Use Astro.resolve or move compiled JS into public so the assets are bundled.
Useful? React with 👍 / 👎.
|
✅ All checks have passed successfully!
Coverage reports have been uploaded as artifacts. |
This PR introduces a comprehensive landing page for the AI Rules Builder product,
replacing the previous direct-to-app experience with a professional marketing page
that explains the product's value proposition and guides users to get started.
Key Features:
features, how-it-works, problem/solution, tech stack showcase, community, and CTAs
users to either the Rule Builder or Prompt Library
support
scroll-triggered effects with Safari-specific optimizations and reduced-motion support
prefers-reduced-motionsettings and providesfallback experiences
Technical Highlights:
src/components/landing/landingData.tsandlandingContent.tsBrowser Compatibility: