Commit Graph

9 Commits

Author SHA1 Message Date
belviskhoremk
8c88f2a891 fix: isolate Hero3D reduced-motion test from framer-motion's module-level cache
framer-motion's useReducedMotion() hook caches its result at the module level
and never re-reads window.matchMedia on subsequent calls. This caused the second
test to fail because the cache was locked to the first test's matchMedia mock.

Fixed by using vi.doMock() with vi.resetModules() to mock useReducedMotion
directly with the desired value for each test, ensuring each test runs with a
fresh module context where the hook returns the expected value.

Claude-Session: https://claude.ai/code/session_01NhxA4npAXAxmCDEJt6kxSH
2026-08-03 17:22:54 +00:00
belviskhoremk
e3cdb743ab feat: add Hero3D scroll-driven rotating motif component
- Implements Hero3D component with CSS 3D transforms
- Uses framer-motion's useScroll/useTransform for scroll-linked rotation
- Respects prefers-reduced-motion preference for static rendering
- Component structure: wrapper with perspective, inner motif with 3D rotation
- Test setup: added window.matchMedia mock for framer-motion compatibility

Claude-Session: https://claude.ai/code/session_01NhxA4npAXAxmCDEJt6kxSH
2026-08-03 17:18:42 +00:00
belviskhoremk
ede4387ab3 feat: add shared Layout wrapping Nav and Footer around all routes
- Create Layout component that renders Nav > Outlet > Footer
- Wire Layout as parent route in App.tsx to wrap all page routes
- Update App.test.tsx to verify Nav/Footer render on every route

Claude-Session: https://claude.ai/code
2026-08-03 17:07:35 +00:00
belviskhoremk
df3bff9ed3 feat: add Nav and Footer components 2026-08-03 17:04:33 +00:00
belviskhoremk
619d5a506e feat: add ScrollReveal motion wrapper component
Implement ScrollReveal component that fades and rises sections into view
on scroll with framer-motion. Respects prefers-reduced-motion by
rendering children unanimated when that setting is enabled.

- Add ScrollReveal component with fade+rise animation on scroll
- Add test coverage for both animated and reduced-motion paths
- Add IntersectionObserver mock to test setup

Claude-Session: https://claude.ai/code/session_01NhxA4npAXAxmCDEJt6kxSH
2026-08-03 16:59:56 +00:00
belviskhoremk
d920651a09 feat: add mock data for products, services, availability, and rules 2026-08-03 16:56:49 +00:00
belviskhoremk
4771d3ead7 chore: set up Vitest, routing, and design tokens
Includes the base Vite+React+TS scaffold files (package.json, index.html,
tsconfigs, etc.) which had never been committed to git.
2026-08-03 16:53:05 +00:00
belviskhoremk
0ae6ceab62 Add Phase 1 implementation plan for Braids by Mira public site 2026-08-03 16:20:18 +00:00
belviskhoremk
95d3845cf3 Add Phase 1 design spec for Braids by Mira public site 2026-08-03 16:14:48 +00:00