feat(ui): unified motion language and interaction states

- Shared transition constants (view/modal/toast/tile) with standard ease-out
- MotionConfig reducedMotion=user plus CSS reduced-motion neutralizer
- Consistent hover/press/focus-visible states across all interactive classes
This commit is contained in:
nh9961
2026-07-19 20:45:47 +00:00
parent 3706021326
commit bb5750e928
13 changed files with 138 additions and 14 deletions
+4
View File
@@ -204,6 +204,10 @@ The repository does not currently feature automated test files. Testing is execu
can be integrated by adding definitions to the `APP_THEMES` array in `src/data/themes.ts`.
- **Proxy Endpoint Rerouting**: The Ollama upstream proxy route in `vite.config.ts` and
`api/ollama-chat.js` can be adjusted to point to alternative LLM hosts or local server instances.
- **Motion Language**: Shared animation durations and the standard ease-out curve live in
`src/lib/motion.ts` (`VIEW_TRANSITION`, `MODAL_TRANSITION`, `TOAST_TRANSITION`, `TILE_TRANSITION`).
The root tree is wrapped in `MotionConfig reducedMotion="user"` (`src/main.tsx`), and `src/index.css`
carries the global `prefers-reduced-motion` neutralizer plus the shared hover/press interaction rules.
- **Configurable Environment Parameters**:
- `VITE_APPWRITE_ENDPOINT` Base URL for the Appwrite API server.
- `VITE_APPWRITE_PROJECT_ID` The Appwrite project instance identifier.