dashboard-component
dashboard-component
useEffect(() => {
const email = localStorage.getItem("userEmail");
if (email) {
setUserEmail(email);
} else {
navigate("/");
}
}, [navigate]);
return (
<div className="dashboard-container">
<aside className="sidebar">
<img
src="public/Indian_Navy-removebg-preview.png"
alt="Navy Logo"
className="navy-logo"
/>
{[
{
key: "box1",
label: "First Box: Text Input",
content: (
<div className="drag-box-content">
<label htmlFor="textInput">Enter Text:</label>
<input
type="text"
id="textInput"
placeholder="Type here..."
className="input-field"
/>
</div>
),
},
{
key: "box2",
label: "Second Box: Dropdown Selector",
content: (
<div className="drag-box-content">
<label htmlFor="dropdownSelector">Choose an option:</label>
<select
id="dropdownSelector"
value={dropdownValue}
onChange={(e) => setDropdownValue(e.target.value)}
className="dropdown-selector"
>
<option value="">-- Select an option --</option>
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
<option value="option3">Option 3</option>
</select>
</div>
),
},
{
key: "box3",
label: "Third Box: Date Picker",
content: (
<div className="drag-box-content">
<label htmlFor="datePicker">Select a date:</label>
<input
type="date"
id="datePicker"
value={selectedDate}
onChange={(e) => setSelectedDate(e.target.value)}
className="date-picker"
/>
</div>
),
},
].map(({ key, label, content }) => (
<div className="drag-box" key={key}>
<div className="drag-box-header" onClick={() => toggleDropdown(key)}>
{label} {activeDropdowns[key] ? "▼" : "▲"}
</div>
{activeDropdowns[key] && content}
</div>
))}
</aside>
<div className="main-wrapper">
<header className="header">
<div className="nav-buttons">
{[
{ key: "admin", label: "ADMINISTRATION" },
{ key: "medical", label: "MEDICAL" },
].map(({ key, label }) => (
<button
key={key}
className="nav-button"
onClick={() => toggleDropdown(key)}
>
{label} {activeDropdowns[key] ? "▼" : "▲"}
</button>
))}
</div>
<div className="user-section">
<span className="email">{userEmail}</span>
<LogOut className="logout-btn" size={16} onClick={handleLogout} />
</div>
</header>
<main className="content">
<SearchBar />
</main>
</div>
</div>
);
};