diff --git a/src/pages/CodingOwl.jsx b/src/pages/CodingOwl.jsx
index 753e9b7..02beaba 100644
--- a/src/pages/CodingOwl.jsx
+++ b/src/pages/CodingOwl.jsx
@@ -10,7 +10,7 @@ export const CodingOwl = () => {
const userName = userData?.name || "Developer";
const userStreak = userData?.streak || 0;
const [habits, setHabits] = useState(habitCards);
- const [timeLeft, setTimeLeft] = useState(1500); // 25:00 in seconds
+ const [timeLeft, setTimeLeft] = useState(1500);
const [timerActive, setTimerActive] = useState(false);
const [isResetting, setIsResetting] = useState(false);
const timerRef = useRef(null);
@@ -40,20 +40,15 @@ export const CodingOwl = () => {
};
const resetTimer = () => {
- // Add reset animation
setIsResetting(true);
- // Clear the active interval if it exists
if (timerRef.current) {
clearInterval(timerRef.current);
timerRef.current = null;
}
- // Set timer to inactive state
setTimerActive(false);
- // Reset time to 25:00 (1500 seconds)
setTimeLeft(1500);
- // Remove animation class after animation completes
setTimeout(() => {
setIsResetting(false);
}, 500);
@@ -77,7 +72,7 @@ export const CodingOwl = () => {
return { ...habit, progress: newProgress, streak: newStreak };
}
return habit;
- }),
+ })
);
};
@@ -93,25 +88,25 @@ export const CodingOwl = () => {
{/* Mascot & Streak Highlight */}
- {/* Mascot bubble */}
-
- {/* Mascot Mascot representation */}
-
+ {/* Mascot bubble - Enhanced visibility */}
+
+ {/* Mascot representation */}
+
🦉
-
+
Mascot: Oliver the Owl
-
+
"Whoo-whoo! You've logged code for {userStreak} consecutive days,{" "}
{userName}. Oliver is proud! Maintain your streak today to earn a
1.5x points multiplier."
-
+
Mood: Ecstatic! 🔥
@@ -119,26 +114,26 @@ export const CodingOwl = () => {
Next Check-in: 8 hours remaining
-
+
- {/* Focus Timer Session Card */}
-
+ {/* Focus Timer Session Card - Enhanced visibility */}
+
-
+
Focus Arena
-
+
Focus Mode Session
-
+
Lock out distractions and log heads-down coding time.
- {/* Timer visualization with reset animation effect */}
+ {/* Timer visualization */}
{
>
{formatTime(timeLeft)}
-
+
Pomodoro Interval
@@ -154,10 +149,10 @@ export const CodingOwl = () => {
{" "}
@@ -168,9 +163,9 @@ export const CodingOwl = () => {
disabled={isResetting}
className={`px-4 py-2.5 rounded-xl font-bold transition-all duration-300 text-sm cursor-pointer flex items-center justify-center gap-2 ${
isResetting
- ? "bg-slate-300 dark:bg-slate-700 cursor-not-allowed opacity-60"
- : "bg-slate-100 dark:bg-slate-800 hover:bg-slate-200 dark:hover:bg-slate-700 hover:scale-105 active:scale-95"
- } border border-slate-200 dark:border-slate-700 text-slate-600 dark:text-slate-350`}
+ ? "bg-slate-200 dark:bg-slate-600 cursor-not-allowed opacity-60"
+ : "bg-slate-100 dark:bg-slate-700 hover:bg-slate-200 dark:hover:bg-slate-600 hover:scale-105 active:scale-95"
+ } border-2 border-slate-300 dark:border-slate-600 text-slate-700 dark:text-slate-200`}
>
{
Reset
-
+
{/* Habits Checklist Grid */}
-
+
Your Habit Dashboard
{habits.map((habit) => (
-
-
+
{habit.frequency}
@@ -204,24 +199,24 @@ export const CodingOwl = () => {
-
+
{habit.title}
-
+
{habit.description}
- {/* Progress Slider */}
-
-
+ {/* Progress Section */}
+
+
Today's status
{habit.progress === 100 ? "Completed" : "In Progress"}
@@ -230,10 +225,10 @@ export const CodingOwl = () => {
toggleHabitComplete(habit.id)}
- className={`w-full py-1.5 rounded-lg text-xs font-bold transition-all flex items-center justify-center gap-1 cursor-pointer ${
+ className={`w-full py-1.5 rounded-lg text-xs font-bold transition-all flex items-center justify-center gap-1 cursor-pointer border-2 ${
habit.progress === 100
- ? "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border border-emerald-500/20"
- : "bg-slate-100 dark:bg-slate-800 hover:bg-slate-200 dark:hover:bg-slate-700 text-slate-700 dark:text-slate-350 border border-slate-200/50 dark:border-slate-750"
+ ? "bg-emerald-50 dark:bg-emerald-900/20 text-emerald-600 dark:text-emerald-400 border-emerald-200 dark:border-emerald-800"
+ : "bg-slate-50 dark:bg-slate-700 hover:bg-slate-100 dark:hover:bg-slate-600 text-slate-700 dark:text-slate-200 border-slate-200 dark:border-slate-600"
}`}
>
{habit.progress === 100 ? (
@@ -248,23 +243,23 @@ export const CodingOwl = () => {
)}
-
+
))}
- {/* 4 Weeks Consistency heatmap representation */}
-
-
+ {/* Weekly Consistency heatmap - Enhanced visibility */}
+
+
-
+
Weekly Consistency Grid
-
+
A historical log of your daily check-in marks.
-
+
Last 4 Weeks
@@ -272,20 +267,20 @@ export const CodingOwl = () => {
{weeklyHeatmap.map((week, idx) => (
-
+
Week {week.week}
-
+
{week.days.map((day, dayIdx) => (
@@ -295,23 +290,23 @@ export const CodingOwl = () => {
))}
-
+
-
+
Bonus Multiplier Achieved
-
+
);
};
-export default CodingOwl;
+export default CodingOwl;
\ No newline at end of file