diff --git a/categorizedPrerequisiteContent.js b/categorizedPrerequisiteContent.js index 51d33b0..824c52b 100644 --- a/categorizedPrerequisiteContent.js +++ b/categorizedPrerequisiteContent.js @@ -2,123 +2,149 @@ const categorizedVideos = { "Linear Algebra" : [ { title : "Linear Algebra by 3blue1brown", - url : "https://www.3blue1brown.com/topics/linear-algebra" + url : "https://www.3blue1brown.com/topics/linear-algebra", + description: "Visual and intuitive introduction to linear algebra concepts including vectors, matrices, and transformations. Perfect for beginners." }, { title:"Mathematics for Machine Learning", url:"https://mml-book.github.io/book/mml-book.pdf", - notes:"This book is a great resource for learning linear algebra for machine learning." + notes:"This book is a great resource for learning linear algebra for machine learning.", + description: "Comprehensive textbook covering mathematical foundations of ML including linear algebra, vector calculus, and probability." }, { title:"The Complete Mathematics of Neural Networks and Deep Learning", - url:"https://www.youtube.com/watch?v=Ixl3nykKG9M" + url:"https://www.youtube.com/watch?v=Ixl3nykKG9M", + description: "Deep dive into the mathematical concepts behind neural networks, covering linear algebra and calculus applications." } ], "Calculus" : [ { title : "Calculus by Khan Academy", url : "https://www.khanacademy.org/math/calculus-1", + description: "Step-by-step lessons covering derivatives, integrals, and limits with practice exercises and instant feedback." }, { title : "Multivariable Calculus by Khan Academy", - url : "https://www.khanacademy.org/math/multivariable-calculus" + url : "https://www.khanacademy.org/math/multivariable-calculus", + description: "Extends calculus to functions of multiple variables, essential for understanding ML optimization algorithms." }, { title:"Mathematics for Machine Learning", url:"https://mml-book.github.io/book/mml-book.pdf", - notes:"This book is a great resource for learning calculus for machine learning." + notes:"This book is a great resource for learning calculus for machine learning.", + description: "Comprehensive textbook covering mathematical foundations of ML including linear algebra, vector calculus, and probability." }, { title:"Matrix Calculus", url:"https://explained.ai/matrix-calculus/index.html", - notes:"This is a great resource for learning matrix calculus you need for deep learning." + notes:"This is a great resource for learning matrix calculus you need for deep learning.", + description: "Focused tutorial on matrix derivatives and gradients, crucial for understanding backpropagation in neural networks." } ], "Probability and Statistics" : [ { title : "Probability and Statistics by Khan Academy", - url : "https://www.khanacademy.org/math/statistics-probability" + url : "https://www.khanacademy.org/math/statistics-probability", + description: "Interactive lessons covering probability distributions, statistical inference, and hypothesis testing with practice problems." }, { title:"Mathematics for Machine Learning", url:"https://mml-book.github.io/book/mml-book.pdf", - notes:"This book is a great resource for learning probability and statistics for machine learning." + notes:"This book is a great resource for learning probability and statistics for machine learning.", + description: "Comprehensive textbook covering mathematical foundations of ML including linear algebra, vector calculus, and probability." }, { title:"Probability by Math is Fun", url:'https://www.mathsisfun.com/data/probability.html', - notes :"This is a text-based tutorial." + notes :"This is a text-based tutorial.", + description: "Beginner-friendly text-based introduction to probability concepts with simple examples and interactive demonstrations." }, { title:"Probability Distribution", - url:"https://en.wikipedia.org/wiki/Probability_distribution" + url:"https://en.wikipedia.org/wiki/Probability_distribution", + description: "Reference guide to different types of probability distributions commonly used in machine learning and statistics." } ], "Matrices" : [ { title : "Matrices by Khan Academy", - url : "https://www.khanacademy.org/math/precalculus/x9e81a4f98389efdf:matrices" + url : "https://www.khanacademy.org/math/precalculus/x9e81a4f98389efdf:matrices", + description: "Complete introduction to matrices covering operations, determinants, and transformations with step-by-step examples." }, { title:"Mathematics for Machine Learning", url:"https://mml-book.github.io/book/mml-book.pdf", - notes:"This book is a great resource for learning matrices for machine learning." + notes:"This book is a great resource for learning matrices for machine learning.", + description: "Comprehensive textbook covering mathematical foundations of ML including linear algebra, vector calculus, and probability." }, { title:"Matrix Multiplication", - url:"https://en.wikipedia.org/wiki/Matrix_multiplication" + url:"https://en.wikipedia.org/wiki/Matrix_multiplication", + description: "Detailed explanation of matrix multiplication operations, fundamental to understanding neural network computations." } ], "Python" : [ { title : "Python Programming MOOC by University of Helsinki", - url : "https://programming-25.mooc.fi/" + url : "https://programming-25.mooc.fi/", + description: "Comprehensive, free university course with automated exercises and instant feedback. Great for complete beginners." }, { - title : "CS50’s Introduction to Programming with Python by Harvard University", - url : "https://cs50.harvard.edu/python/" + title : "CS50's Introduction to Programming with Python by Harvard University", + url : "https://cs50.harvard.edu/python/", + description: "Harvard's renowned introduction to programming using Python, with problem sets and a final project." }, { title : "Python OneShot by Programming with Mosh", - url : "https://youtu.be/_uQrJ0TkZlc?si=oguXvxcUqD8R9Jxm" + url : "https://youtu.be/_uQrJ0TkZlc?si=oguXvxcUqD8R9Jxm", + description: "Complete Python crash course covering basics to intermediate concepts in one comprehensive 6-hour video." }, { title : "Learn Python as fast as possible by Tech with Tim", - url : "https://youtu.be/VchuKL44s6E?si=ehRmRPTXeuYYIuzj" + url : "https://youtu.be/VchuKL44s6E?si=ehRmRPTXeuYYIuzj", + description: "Rapid-fire Python fundamentals tutorial perfect for those who want to learn syntax quickly." }, { title : "Python OneShot by CodeWithHarry", - url : "https://youtu.be/UrsmFxEIp5k?si=5-ucpex7cyZk3cuf" + url : "https://youtu.be/UrsmFxEIp5k?si=5-ucpex7cyZk3cuf", + description: "Beginner-friendly Python tutorial in Hindi/English covering all fundamental concepts with practical examples." }, { title : "Python Like You Mean It", - url : "https://www.pythonlikeyoumeanit.com/index.html" + url : "https://www.pythonlikeyoumeanit.com/index.html", + description: "Text-based resource focused on teaching Python for scientific computing and data analysis with NumPy." }, { title : "Python by Learn by Example", url : "https://www.learnbyexample.org/python/", - notes : "This is a text-based tutorial." + notes : "This is a text-based tutorial.", + description: "Quick reference guide with practical Python examples and code snippets organized by topic." }, { title : "Python DOCS", url : "https://docs.python.org/3/tutorial/index.html", - notes : "Official Python Documentation" + notes : "Official Python Documentation", + description: "Official Python tutorial and documentation - the authoritative source for Python language features." }, { title:"Learn Python with Interactive Exercises", url:"https://pychallenger.com/", - notes : "This is a interactive tutorial. Its a great site." + notes : "This is a interactive tutorial. Its a great site.", + description: "Practice Python through interactive coding challenges ranging from beginner to advanced levels." }, { title:"Python for Data Analysis Book", - url:"https://wesmckinney.com/book/" + url:"https://wesmckinney.com/book/", + description: "Essential guide to data manipulation and analysis using pandas, NumPy, and other Python data science tools." }, { title:"Free Python Books", url:"https://github.com/pamoroso/free-python-books", - notes:"This is a github repo with free python books." + notes:"This is a github repo with free python books.", + description: "Curated collection of free Python ebooks covering everything from basics to advanced topics and frameworks." } ] } export default categorizedVideos; + diff --git a/src/components/Modal.jsx b/src/components/Modal.jsx index 7a4cd64..ff8567e 100644 --- a/src/components/Modal.jsx +++ b/src/components/Modal.jsx @@ -1,25 +1,30 @@ import React, { useState, useEffect } from 'react'; import { X } from 'lucide-react'; + const Modal = ({ topic, onClose, videoSource, existingProgress = {}, onProgressUpdate, darkMode }) => { const topicVideos = videoSource[topic.name] || []; + const completionPercentage = topicVideos.length > 0 ? Math.round((topicVideos.filter(video => existingProgress[`${topic.name}_${video.url}`] === true ).length / topicVideos.length) * 100) : 0; + // Check if all videos are completed const isFullyCompleted = topicVideos.length > 0 && topicVideos.every(video => existingProgress[`${topic.name}_${video.url}`] === true ); + const saveProgress = (videoUrl) => { const currentProgress = existingProgress[`${topic.name}_${videoUrl}`] || false; onProgressUpdate(topic.name, videoUrl, !currentProgress); }; + // Mark all videos as complete/incomplete const markAllAsComplete = () => { const newCompletionState = !isFullyCompleted; @@ -37,6 +42,7 @@ const Modal = ({ topic, onClose, videoSource, existingProgress = {}, onProgressU onProgressUpdate(topic.name, null, null, bulkUpdates); }; + // Disable body scroll when modal is open useEffect(() => { document.body.style.overflow = "hidden"; // Prevent body scroll when modal is open @@ -45,12 +51,14 @@ const Modal = ({ topic, onClose, videoSource, existingProgress = {}, onProgressU }; }, []); + // Animation classes const backdropClasses = "fixed inset-0 z-[100] bg-black/60 backdrop-blur-sm"; const modalClasses = `relative w-full max-w-2xl rounded-xl shadow-2xl ${darkMode ? 'bg-gray-900 text-white' : 'bg-white text-gray-900'} transform transition-all duration-300 ease-out`; + return (
+ {content.description} +
+ )} +