PC Connect is a single-page React application scaffolded with Vite. Understanding the folder layout makes it easier to find components, add new feature sections, or trace how the theme and routing wire together. Every piece of the application — from the login screen to the clinical management views — lives under theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/yoelrrg-code/pcconnect/llms.txt
Use this file to discover all available pages before exploring further.
src/ directory, while Vite and TypeScript configuration sit at the project root.
Directory tree
Key files explained
src/App.tsx is the root of the component tree. It wraps everything in SettingsProvider and ThemeProvider, then renders either LoginView or AppContent depending on a single isAuthenticated boolean state. Once authenticated, AppContent tracks the active section through an activeTab string (e.g. '#dashboard', '#client-management') and calls renderTabContent() to swap the correct section view into the layout.
src/layouts/dashboard/ houses DashboardLayout — the persistent shell that every authenticated view lives inside. It renders the top header, the left navigation sidebar, and the scrollable main content slot. Navigation items are defined in config-navigation and call the setActiveTab prop passed down from AppContent.
src/sections/ holds every domain-specific feature view. Each subdirectory follows the pattern <domain>/view/<domain>-view.tsx. Adding a new section means creating a folder here and wiring it into the renderTabContent() switch in App.tsx.
src/theme/ contains the full MUI theme customisation. ThemeProvider in index.tsx reads themeMode and themeColorPreset from useSettings(), then composes the final Theme object from getPalette(), typography, shadows, getCustomShadows(), and getComponents() before passing it to MUI’s createTheme.
Dependencies
React 19
UI framework —
react 19.x and react-dom 19.x. Uses the new JSX transform (react-jsx) via tsconfig.app.json.MUI Material v9
Component library —
@mui/material 9.x. Heavily customised through the src/theme/ system.MUI Icons v9
Icon set —
@mui/icons-material 9.x. Used across navigation, buttons, and table actions.MUI X Date Pickers v9
Date picker components —
@mui/x-date-pickers 9.x, paired with dayjs for date utilities.Emotion
CSS-in-JS engine for MUI —
@emotion/react and @emotion/styled 11.x.ApexCharts
Charting —
apexcharts 5.x and react-apexcharts 2.x for dashboard metrics visualisation.Lucide React
Additional icon set —
lucide-react 1.x used alongside MUI icons in certain components.Vite 8
Build tool and dev server —
vite 8.x with @vitejs/plugin-react 6.x for HMR support.| Package | Version | Purpose |
|---|---|---|
react / react-dom | 19.x | UI framework |
@mui/material | 9.x | Component library |
@mui/icons-material | 9.x | MUI icon set |
@mui/x-date-pickers | 9.x | Date picker components |
@emotion/react / @emotion/styled | 11.x | CSS-in-JS for MUI |
apexcharts / react-apexcharts | 5.x / 2.x | Charting |
dayjs | 1.x | Date utilities |
lucide-react | 1.x | Additional icon set |
vite | 8.x | Build tool |
typescript | 6.x | Type checking (dev) |
typescript-eslint | 8.x | Linting TypeScript (dev) |