-
Client:
-
{selectedProject.clientName}
+
+ Client:{" "}
+ {selectedProject.clientName}
-
- {/* Status */}
-
-
Status:
+
+ Status:{" "}
- {isPaused ? "Paused" : isTracking ? "Active" : "Ready"}
+ {selectedData?.isPaused
+ ? "Paused"
+ : selectedData?.isTracking
+ ? "Active"
+ : "Ready"}
-
- {/* Start Time */}
-
-
Start Time:
-
{startTime?.toLocaleTimeString() || "โ"}
+
+ Start:{" "}
+
+ {selectedData?.startTime
+ ? selectedData.startTime.toLocaleTimeString()
+ : "โ"}
+
-
>
) : (
- Select a project to start tracking.
+ Select a project below to start tracking.
)}
@@ -447,55 +218,44 @@ const Dashboard: React.FC = () => {
{/* Projects Table */}
Projects
-
+
| # |
- Project Name |
- Client Name |
+ Project |
+ Client |
Action |
- {projectsData.map((project) => (
-
- | {project.id} |
- {project.projectName} |
- {project.clientName} |
-
-
- {project.status}
-
- |
-
-
- Select
-
- |
-
- ))}
-
+ {projectsData.map((project) => {
+ const isCurrentlySelected = selectedProject?.id === project.id;
+ // โ
FIX: Disable ALL projects when ANY project is tracking
+ // Only enable selection when not tracking
+ const isDisabled = isTracking && !isCurrentlySelected;
+ return (
+
+ | {project.id} |
+ {project.projectName} |
+ {project.clientName} |
+
+
+ |
+
+ );
+ })}
+
@@ -503,4 +263,4 @@ const Dashboard: React.FC = () => {
);
};
-export default Dashboard;
+export default Dashboard;
\ No newline at end of file
diff --git a/src/ui/pages/Login.tsx b/src/ui/pages/Login.tsx
index e5f5af0..d1fea2f 100644
--- a/src/ui/pages/Login.tsx
+++ b/src/ui/pages/Login.tsx
@@ -11,7 +11,7 @@ interface LoginProps {
}
const Login: React.FC
= ({ setUser }) => {
- const [formData, setFormData] = useState({ email: 'jai@gmail.com', password: '12345' })
+ const [formData, setFormData] = useState({ email: '', password: '' })
const inputRef = useRef(null)
const navigate = useNavigate()