mirror of
https://github.com/jamiepine/voicebox.git
synced 2026-09-16 13:20:39 -07:00
ListPane is a compound component (Header / TitleRow / Title / Actions /
Search / Scroll) that owns the relative wrapper, faded right divider
(50px top fade), top scroll mask, and absolute-positioned header used by
every list-detail tab. Wires up CapturesTab, StoryList, and EffectsList.
EffectsTab gets -mx-8 / pr-8 to match the edge-to-edge layout used
elsewhere.
Other changes:
- MCPPage: native <select> → shadcn <Select> for default voice and
per-binding voice pickers
- Button outline variant: add hover:border-accent
- Drop hover:text-destructive from trailing delete buttons
(HistoryTable, GpuAcceleration, GpuPage, EffectsChainEditor,
EffectsDetail)
- HistoryTable empty state moved behind t('history.empty')
- StoryContent scroll padding pt-14 → pt-16
- backend health reports the captures dir
- landing CapturesMockup: "Send to" → "Export" with Download icon
- CHANGELOG: drop [Unreleased] personality section
Voicebox Landing Page
Landing page for voicebox.sh - a modern Next.js 16 application.
Tech Stack
- Next.js 16 with App Router
- Bun for package management
- Tailwind CSS with shadcn/ui components
- TypeScript with strict mode
- Railway deployment ready
Getting Started
Prerequisites
- Bun installed (bun.sh)
Installation
cd landing
bun install
Development
bun run dev
Open http://localhost:3000 to view the landing page.
Build
bun run build
Production
bun run start
Configuration
Update Download Links
Edit src/lib/constants.ts to update:
LATEST_VERSION- Current release versionDOWNLOAD_LINKS- GitHub release download URLsGITHUB_REPO- Repository URL
Update GitHub Username
Replace USERNAME in src/lib/constants.ts with your actual GitHub username.
Deployment to Railway
- Connect your GitHub repository to Railway
- Railway will auto-detect
nixpacks.toml - Set root directory to
landing/ - Railway will automatically:
- Install dependencies with
bun install - Build with
bun run build - Start with
bun run start
- Install dependencies with
- Configure custom domain
voicebox.shin Railway settings
Project Structure
landing/
├── src/
│ ├── app/
│ │ ├── layout.tsx # Root layout with metadata
│ │ ├── page.tsx # Landing page
│ │ └── globals.css # Global styles
│ ├── components/
│ │ ├── Header.tsx # Top navigation
│ │ ├── Footer.tsx # Footer
│ │ ├── DownloadSection.tsx # Download buttons
│ │ └── ui/ # shadcn/ui components
│ └── lib/
│ ├── utils.ts # Utility functions
│ └── constants.ts # App constants
├── public/
│ └── voicebox-logo.png # Logo asset
└── nixpacks.toml # Railway deployment config
Features
- Responsive design (mobile-first)
- Dark mode by default
- SEO optimized metadata
- Download links for Mac, Windows, Linux
- Feature showcase
- Platform highlights
- GitHub integration