Commit Graph

4 Commits

Author SHA1 Message Date
aa60098690 test: Add comprehensive theme switching tests
Added extensive Magnitude tests for light/dark mode functionality:
- Theme toggle switches between modes
- Light mode color verification
- Dark mode color verification
- Theme persistence across page refreshes
- Theme affects all UI components uniformly
- Theme toggle icon updates correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 00:26:43 +00:00
06342d0d6c fix: Use 127.0.0.1 for OAuth per RFC 8252 and improve reliability
- Updated OAuth URLs from localhost to 127.0.0.1 (RFC 8252 requirement)
- Changed login page to use window.location.href for proper server redirects
- Added client-metadata.json for ATproto OAuth compliance
- Improved Step 2 theme test to check overall theme instead of specific details

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 21:38:59 +00:00
9d8aa87c52 feat: Step 2 - Mantine UI & grayscale theme
Integrate Mantine UI library and configure grayscale dark theme:
- Created postcss.config.mjs with Mantine preset and breakpoints
- Created app/theme.ts with custom 10-shade grayscale palette
- Configured dark mode enforcement (forceColorScheme)
- Set default component props for consistent styling:
  - Buttons: filled variant, gray color, xl radius
  - Paper: border, shadow, md radius, gray background
  - TextInput/Textarea: filled variant, rounded radius
- Updated app/globals.css to import Mantine core styles
- Updated app/layout.tsx with MantineProvider and ColorSchemeScript
- Updated app/page.tsx to use Mantine components (Center, Paper, Stack, Title, Button)

Theme achieves the "minimal, grayscale, unstyled" aesthetic with:
- 10-shade custom gray palette (ponderGray)
- Dark mode enforced via forceColorScheme
- Darkest gray background (#181a1d)
- Lightest gray text (#e9ecef)
- Consistent rounded corners and spacing

Tests: Verified Mantine theme applied correctly with rounded button corners and Paper component with border
Status: ✓ 2 tests passed (8.4s, 7.1s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 20:40:35 +00:00
e544c95f2f feat: Step 1 - Project setup & smoke test
Initialize Next.js 16 (App Router) project with all core dependencies:
- Next.js, React 19, TypeScript configuration
- Mantine UI components (@mantine/core, @mantine/hooks)
- ATproto SDK for Bluesky integration
- SurrealDB client (updated to latest non-deprecated version)
- Vercel AI SDK with Google AI provider
- Deepgram SDK for voice-to-text
- React Three Fiber for 3D visualization
- UMAP.js for dimensionality reduction
- Magnitude test framework for E2E testing
- Playwright for browser automation

Created basic app structure with homepage displaying "Ponderants" text.
Configured magnitude.config.ts for testing framework.
Added .example.env with all required environment variables.

Test: Smoke test verifies app boots and renders homepage.
Status: ✓ Test passed (8.4s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 20:38:55 +00:00