# Components Documentation of key React components in the Lakra system. ## Component Organization ``` src/components/ ├── auth/ # Authentication components ├── layout/ # Layout components ├── modals/ # Modal dialogs ├── pages/ # Page components ├── ui/ # Reusable UI components └── index.ts # Barrel exports ``` ## Authentication Components ### Login **Path:** `src/components/auth/Login.tsx` User login form with email/username support. **Props:** None (uses AuthContext) **Features:** - Email or username login - Password visibility toggle - Form validation - Error handling - Redirect after login ### Register **Path:** `src/components/auth/Register.tsx` User registration form. **Features:** - Email/username/password fields - Role selection (annotator/evaluator) - Password confirmation - Validation - Terms acceptance ### ForgotPassword **Path:** `src/components/auth/ForgotPassword.tsx` Password reset request form. ### ResetPassword **Path:** `src/components/auth/ResetPassword.tsx` New password entry after reset link. ## Layout Components ### Navbar **Path:** `src/components/layout/Navbar.tsx` Top navigation bar. **Features:** - Logo and branding - Navigation links (role-based) - User menu dropdown - Logout functionality - Mobile responsive menu ### Footer **Path:** `src/components/layout/Footer.tsx` Site footer with links and info. ### Layout **Path:** `src/components/layout/Layout.tsx` Main layout wrapper. **Props:** ```typescript { children: ReactNode; showGuidelines?: () => void; } ``` **Structure:** ```jsx
{children}