tusuii dc097811b9 feat: add comprehensive user management for authorities
USER MANAGEMENT (CTO/Manager only):
- Department overview chips with click-to-filter
- Search by name or email
- Filter by role dropdown
- Table/Grid view toggle

TABLE VIEW:
- Inline role dropdown (color-coded per role)
- Inline department dropdown
- Task progress bars (done/total)
- Active/Inactive status dots
- Edit, Deactivate, Delete action buttons
- Expandable rows with task stats (total/completed/in-progress/overdue)

GRID VIEW:
- Member cards with avatar, badges, and stats
- Task completion progress bars
- Deactivate/Reactivate buttons

MODALS:
- Add Member: name, email, role, dept, password with validation
- Edit Member: update all fields (role changes CTO-only)
- Confirmation dialog for deactivate/reactivate/delete

ROLE-BASED ACCESS:
- CTO can change anyone's role
- Manager can edit users but not change roles
- Employee has read-only access (no action buttons)
- Users cannot deactivate/delete themselves

TEAM TASKS ENHANCEMENT:
- Added group-by-department option with toggle buttons
2026-02-15 12:10:40 +05:30

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])
Description
No description provided
Readme 44 MiB
Languages
TypeScript 60.1%
CSS 19.7%
JavaScript 17.2%
Shell 2.4%
HTML 0.4%
Other 0.2%