feat: upgrade to React 19, add keyboard shortcuts, implement Zustand global state, fix environment variables, and improve UI components

- Upgrade React to v19.1.1 and update all related packages
- Add comprehensive keyboard shortcuts (Space, R, S, Ctrl+D) with visual indicators
- Implement Zustand global state management for shortcuts and app state
- Fix .env file loading with dotenv package and proper Vite configuration
- Add text wrapping to all card components to prevent overflow
- Improve theme toggle visibility and styling in sidebar
- Update button layouts to use flex-direction: row
- Add hover effects and consistent styling across components
- Fix infinite loop issues in keyboard shortcuts hook
- Update Vite config to properly handle .env files and source directories
- Add proper TypeScript configuration for React 19 JSX transform
This commit is contained in:
Carlos Gutierrez
2025-09-01 12:36:27 -04:00
parent 80595e7002
commit 3b577288da
30 changed files with 3324 additions and 2510 deletions

View File

@@ -1,20 +1,13 @@
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import path from "path";
import runtimeErrorOverlay from "@replit/vite-plugin-runtime-error-modal";
export default defineConfig({
plugins: [
react(),
runtimeErrorOverlay(),
...(process.env.NODE_ENV !== "production" &&
process.env.REPL_ID !== undefined
? [
await import("@replit/vite-plugin-cartographer").then((m) =>
m.cartographer(),
),
]
: []),
react({
jsxImportSource: "react",
jsxRuntime: "automatic",
}),
],
resolve: {
alias: {
@@ -23,7 +16,8 @@ export default defineConfig({
"@assets": path.resolve(import.meta.dirname, "attached_assets"),
},
},
root: path.resolve(import.meta.dirname, "client"),
root: path.resolve(import.meta.dirname, "client"), // Keep client as root for source files
envDir: path.resolve(import.meta.dirname, "."), // Look for .env in root directory
build: {
outDir: path.resolve(import.meta.dirname, "dist/public"),
emptyOutDir: true,