diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 4d57b46..f243f27 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -19,7 +19,7 @@
"axios": "^1.3.4",
"chart.js": "^4.2.1",
"d3": "^7.8.2",
- "framer-motion": "^10.0.1",
+ "framer-motion": "^10.18.0",
"lucide-react": "^0.323.0",
"monaco-editor": "^0.36.1",
"postcss": "^8.4.21",
diff --git a/frontend/package.json b/frontend/package.json
index 4bab14b..b07adbf 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -14,7 +14,7 @@
"axios": "^1.3.4",
"chart.js": "^4.2.1",
"d3": "^7.8.2",
- "framer-motion": "^10.0.1",
+ "framer-motion": "^10.18.0",
"lucide-react": "^0.323.0",
"monaco-editor": "^0.36.1",
"postcss": "^8.4.21",
diff --git a/frontend/src/components/Tutorial/TutorialLayout.jsx b/frontend/src/components/Tutorial/TutorialLayout.jsx
index aef439f..3adb40f 100644
--- a/frontend/src/components/Tutorial/TutorialLayout.jsx
+++ b/frontend/src/components/Tutorial/TutorialLayout.jsx
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
import TutorialStep from './TutorialStep';
import TutorialProgress from './TutorialProgress';
import TutorialQuiz from './TutorialQuiz';
+import { getTutorialById } from '../../services/api';
const TutorialLayout = ({ tutorialId }) => {
const [currentTutorial, setCurrentTutorial] = useState(null);
diff --git a/frontend/src/pages/About.jsx b/frontend/src/pages/About.jsx
index 6a7309a..cdc42c0 100644
--- a/frontend/src/pages/About.jsx
+++ b/frontend/src/pages/About.jsx
@@ -191,7 +191,7 @@ const About = () => {
}
`}
>
-
+
},
+ { name: 'FastAPI', icon:
},
+ { name: 'Python', icon:
},
+ { name: 'JavaScript', icon:
},
+ { name: 'TailwindCSS', icon:
},
+ { name: 'Docker', icon:
},
+ { name: 'Canvas API', icon:
},
+ { name: 'Lucide Icons', icon:
},
+];
+
+
const AboutPage = () => {
const { isDark, classes, getThemedGradient } = useTheme();
@@ -65,10 +82,10 @@ const AboutPage = () => {
? 'bg-gray-800/20 border-gray-700/50'
: 'bg-white/20 border-white/50'
} border`}>
-
+
About Algorithm Visualizer Pro
-
+
An interactive platform designed to make algorithm learning engaging and intuitive.
Built with passion by a full-stack developer who believes in the power of visual learning
to make complex computer science concepts accessible to everyone.
@@ -76,219 +93,303 @@ const AboutPage = () => {
{/* Mission Statement */}
-
-
- My Mission
-
-
- To bridge the gap between theoretical computer science and practical understanding
- by providing interactive, visual learning experiences. As a developer passionate about
- education technology, I strive to make complex algorithms understandable through
- step-by-step visualizations and real-time analysis.
-
-
+ {/* My Mission Section */}
+
+ {/* Soft Gradient Glow Background */}
+
+
+
+ My Mission
+
+
+
+ To bridge the gap between theoretical computer science and practical understanding
+ by providing interactive, visual learning experiences. As a developer passionate about
+ education technology, I strive to make complex algorithms understandable through
+ step-by-step visualizations and real-time analysis.
+
+
+ {/* Decorative Gradient Line */}
+
+
+
+{/* Stats Section */}
+
+ {stats.map((stat, index) => (
+
+ {/* Soft Hover Glow */}
+
+
+ {/* Animated Number */}
+
+ {stat.value}
+
+
+ {/* Label */}
+
+ {stat.label}
+
+
+ {/* Animated underline */}
+
+
+ ))}
+
+
+
+
+ {/* Soft Gradient Glow Background */}
+
+
+
+ {/* Section Title */}
+
+ Project Vision
+
+
+ {/* Description */}
+
+ This platform represents my commitment to education technology and the belief that
+ visual learning can transform how we understand algorithms. Every feature has been
+ carefully designed to provide an intuitive, engaging, and educational experience
+ for learners at all levels.
+
+
+ {/* Decorative Gradient Line */}
+
+
+
+
+
+
- {/* Stats */}
-
- {stats.map((stat, index) => (
-
-
- {stat.value}
-
-
- {stat.label}
-
-
- ))}
-
{/* Features */}
-
-
- Key Features
-
-
- {features.map((feature, index) => (
-
-
-
- {feature.title}
-
-
- {feature.description}
-
-
- ))}
-
+
+
+ Key Features
+
+
+
+ {features.map((feature, index) => (
+
+ {/* Gradient Glow Border */}
+
+
+ {/* Icon with Pulse Effect */}
+
+
+ {/* Title */}
+
+ {feature.title}
+
+
+ {/* Description */}
+
+ {feature.description}
+
+
+ {/* Animated bottom border line */}
+
+
+ ))}
+
+
+
+
{/* Developer Profile */}
-
-
- Meet the Developer
-
-
- {teamMembers.map((member, index) => (
-
-
- {/* Profile Image */}
-
-

-
-
-
- {/* Profile Info */}
-
-
- {member.name}
-
-
- {member.role}
-
-
- {member.description}
-
-
- {/* Additional Details */}
-
-
-
-
- {member.education}
-
-
-
-
-
- {member.location}
-
-
-
-
-
- {member.experience}
-
-
-
-
-
-
- ))}
-
+
+
+ {/* Soft gradient glow background */}
+
+
+ {/* Section Title */}
+
+ Meet The Developer
+
+
+ {/* Team Member Cards */}
+ {teamMembers.map((member, index) => (
+
+
+ {/* Profile Image + Social Links */}
+
+

- {/* Skills Section */}
-
-
- Technical Skills
-
-
- {skills.map((skill, index) => (
-
- {skill}
-
- ))}
+
- {/* Technology Stack */}
-
-
- Built With Modern Technologies
-
-
- {['React.js', 'FastAPI', 'Python', 'JavaScript', 'TailwindCSS', 'Docker', 'Canvas API', 'Lucide Icons'].map((tech, index) => (
-
-
- {tech}
-
-
- ))}
-
+ {/* Profile Info */}
+
+
+ {member.name}
+
+
+ {member.role}
+
+
+ {member.description}
+
- {/* Project Vision */}
-
-
- Project Vision
-
-
- This platform represents my commitment to education technology and the belief that
- visual learning can transform how we understand algorithms. Every feature has been
- carefully designed to provide an intuitive, engaging, and educational experience
- for learners at all levels.
-
+ {/* Additional Info */}
+
+
+
+ {member.education}
+
+
+
+ {member.location}
+
+
+
+ {member.experience}
+
+ ))}
+
+ {/* Technical Skills */}
+
+
+ Technical Skills
+
+
+
+ {skills.map((skill, index) => (
+
+
+ {skill}
+
+ ))}
+
+
+
+
+
+
+ {/* Technology Stack */}
+
+
+ {/* Gradient glow background */}
+
+
+
+ Built With Modern Technologies
+
+
+
+ {techs.map((tech, index) => (
+
+
{tech.icon}
+
+ {tech.name}
+
+
+ ))}
+
+
+
+
+
);
};
diff --git a/frontend/src/pages/GraphVisualizer.jsx b/frontend/src/pages/GraphVisualizer.jsx
index c4decb9..c97ed98 100644
--- a/frontend/src/pages/GraphVisualizer.jsx
+++ b/frontend/src/pages/GraphVisualizer.jsx
@@ -521,6 +521,9 @@ const GraphVisualizer = () => {
operation: 'Ready to start'
};
+
+ const [darkMode,setDarkMode]=useState(false);
+
return (
{/* Conditional Particle Background */}
diff --git a/frontend/src/pages/TutorialsPage.jsx b/frontend/src/pages/TutorialsPage.jsx
index de43b54..35d9660 100644
--- a/frontend/src/pages/TutorialsPage.jsx
+++ b/frontend/src/pages/TutorialsPage.jsx
@@ -1,5 +1,7 @@
import React from 'react';
import { useNavigate } from 'react-router-dom';
+import { useState,useEffect } from 'react';
+import { getTutorials } from '../services/api';
const TutorialsPage = ({ darkMode }) => {
const navigate = useNavigate();