Add scheduled requests feature with navigation, forms, and table components
Introduced a new 'Solicitudes Programadas' section with full CRUD functionality using localStorage for persistence. Added navigation to toggle between dashboard and scheduled views. Updated the header, sidebar, and main content to support dynamic titles and active views. Included components for viewing and managing scheduled requests (form and table). Enhanced styles for the new section.
This commit is contained in:
30
src/App.js
30
src/App.js
@@ -4,27 +4,41 @@ import { Sidebar, Header } from './components/Layout';
|
||||
import { DashboardCards } from './components/Dashboard';
|
||||
import RequestTable from './components/Requests/RequestTable';
|
||||
import RequestForm from './components/Requests/RequestForm';
|
||||
import ScheduledPage from './components/Scheduled/ScheduledPage';
|
||||
|
||||
function App() {
|
||||
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
|
||||
const [activeView, setActiveView] = useState('dashboard'); // 'dashboard' | 'scheduled'
|
||||
|
||||
const handleToggleMobileMenu = () => setIsMobileMenuOpen(!isMobileMenuOpen);
|
||||
const handleNavigate = (key) => {
|
||||
setActiveView(key);
|
||||
setIsMobileMenuOpen(false);
|
||||
};
|
||||
|
||||
const headerTitle = activeView === 'scheduled' ? 'Solicitudes Programadas' : 'Dashboard';
|
||||
|
||||
return (
|
||||
<div className="container">
|
||||
<Sidebar
|
||||
isMobileMenuOpen={isMobileMenuOpen}
|
||||
onToggleMobileMenu={handleToggleMobileMenu}
|
||||
activeView={activeView}
|
||||
onNavigate={handleNavigate}
|
||||
/>
|
||||
<main className="main-content">
|
||||
<Header />
|
||||
<section className="content-wrapper">
|
||||
<DashboardCards />
|
||||
<div className="content-grid">
|
||||
<RequestForm />
|
||||
<RequestTable />
|
||||
</div>
|
||||
</section>
|
||||
<Header title={headerTitle} />
|
||||
{activeView === 'scheduled' ? (
|
||||
<ScheduledPage />
|
||||
) : (
|
||||
<section className="content-wrapper">
|
||||
<DashboardCards />
|
||||
<div className="content-grid">
|
||||
<RequestForm />
|
||||
<RequestTable />
|
||||
</div>
|
||||
</section>
|
||||
)}
|
||||
</main>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user