Ignore:
Timestamp:
05/24/26 15:30:51 (4 months ago)
Author:
MBK <marija.karapandzova@…>
Branches:
master
Children:
d30d820
Parents:
e5d5ff9
Message:

Add pages and routing for patients, doctors, departments and appointments with api services

File:
1 edited

Legend:

Unmodified
Added
Removed
  • frontend/src/App.js

    re5d5ff9 r20468d3  
    22import './App.css';
    33import React, { useEffect, useState } from 'react';
     4import Navbar from './components/Navbar';
     5import ProtectedRoute from './components/ProtectedRoute';
     6import Login from './pages/Login';
     7import PatientList from './pages/patients/PatientList';
     8import PatientDetail from './pages/patients/PatientDetail';
     9import PatientForm from './pages/patients/PatientForm';
     10import DoctorList from './pages/doctors/DoctorList';
     11import DoctorDetail from './pages/doctors/DoctorDetail';
     12import DoctorForm from './pages/doctors/DoctorForm';v
     13import AppointmentList from './pages/appointments/AppointmentList';
     14import AppointmentForm from './pages/appointments/AppointmentForm';
     15import DepartmentList from './pages/departments/DepartmentList';
     16import DepartmentDetail from './pages/departments/DepartmentDetail';
     17import DoctorsByDepartment from './pages/departments/DoctorsByDepartment';
    418
    519
     
    1327    }
    1428  }, []);
    15 }
     29
     30  return (
     31      <Router>
     32        <div className="min-h-screen bg-gray-50">
     33          {user && <Navbar />}
     34          <main className={user ? "container mx-auto px-4 py-8" : ""}>
     35            <Routes>
     36              <Route path="/login" element={<Login />} />
     37
     38              <Route path="/" element={
     39                <ProtectedRoute>
     40                  <Dashboard />
     41                </ProtectedRoute>
     42              } />
     43
     44              {/* Patient Routes */}
     45              <Route path="/patients" element={<ProtectedRoute><PatientList /></ProtectedRoute>} />
     46              <Route path="/patients/new" element={<ProtectedRoute><PatientForm /></ProtectedRoute>} />
     47              <Route path="/patients/:id" element={<ProtectedRoute><PatientDetail /></ProtectedRoute>} />
     48              <Route path="/patients/:id/edit" element={<ProtectedRoute><PatientForm /></ProtectedRoute>} />
     49
     50              {/* Doctor Routes */}
     51              <Route path="/doctors" element={<ProtectedRoute><DoctorList /></ProtectedRoute>} />
     52              <Route path="/doctors/new" element={<ProtectedRoute><DoctorForm /></ProtectedRoute>} />
     53              <Route path="/doctors/:id" element={<ProtectedRoute><DoctorDetail /></ProtectedRoute>} />
     54              <Route path="/doctors/:id/edit" element={<ProtectedRoute><DoctorForm /></ProtectedRoute>} />
     55
     56              {/* Department Routes */}
     57              <Route path="/departments" element={<ProtectedRoute><DepartmentList /></ProtectedRoute>} />
     58              <Route path="/departments/:departmentId" element={<ProtectedRoute><DepartmentDetail /></ProtectedRoute>} />
     59              <Route path="/departments/:departmentId/doctors" element={<ProtectedRoute><DoctorsByDepartment /></ProtectedRoute>} />
     60
     61              {/* Appointment Routes */}
     62              <Route path="/appointments" element={<ProtectedRoute><AppointmentList /></ProtectedRoute>} />
     63              <Route path="/appointments/new" element={<ProtectedRoute><AppointmentForm /></ProtectedRoute>} />
     64            </Routes>
     65          </main>
     66        </div>
     67      </Router>
     68  );
     69
     70
     71
     72              }
    1673export default App;
Note: See TracChangeset for help on using the changeset viewer.