fix: cource load

This commit is contained in:
dhanush.s 2025-09-24 14:56:29 +05:30
parent eda7a7c463
commit 444c0e58fa

90
main.js
View File

@ -24,7 +24,6 @@ function goToLogin() {
if (!this.track || this.slides.length === 0) {
console.warn("Slider DOM elements not found. Retrying...");
// Retry after a short delay
setTimeout(() => this.initSlider(), 200);
return;
}
@ -126,14 +125,12 @@ function goToLogin() {
this.prevBtn.addEventListener('click', () => this.prevSlide());
}
// Pause on hover
const container = document.querySelector('.slide1r-container');
if (container) {
container.addEventListener('mouseenter', () => this.stopAutoPlay());
container.addEventListener('mouseleave', () => this.startAutoPlay());
}
// Touch support
let startX = 0;
let endX = 0;
@ -165,9 +162,7 @@ function goToLogin() {
}
bindKeyboardEvents() {
// Use a more specific event listener to avoid conflicts
const keyHandler = (e) => {
// Only respond if the slider container is visible
const container = document.querySelector('.slide1r-container');
if (container && this.isElementInViewport(container)) {
if (e.key === 'ArrowLeft') {
@ -192,38 +187,13 @@ function goToLogin() {
}
}
// Initialize the slider immediately
new Slide1rSlider();
})();
const allCourses = [
{
category: "Software Development & Engineering",
link: "https://kodepilot.in/course/view.php?id=16",
image: "https://kodepilot.in/pluginfile.php/46/course/overviewfiles/ChatGPT%20Image%20Sep%2011%2C%202025%2C%2008_28_21%20PM.png",
name: "UI/UX Design",
description: "Go beyond aesthetics. Design seamless journeys that users love. Translate user needs into intuitive prototypes and pixel-perfect designs for web and mobile."
},
{
category: "Software Development & Engineering",
link: "https://kodepilot.in/course/view.php?id=17",
image: "https://kodepilot.in/pluginfile.php/46/course/overviewfiles/ChatGPT%20Image%20Sep%2011%2C%202025%2C%2008_28_21%20PM.png",
name: "Python Basics",
description: "Learn Python from scratch. Master variables, loops, functions, and create real projects."
},
{
category: "Data Science",
link: "https://kodepilot.in/course/view.php?id=20",
image: "https://kodepilot.in/pluginfile.php/46/course/overviewfiles/ChatGPT%20Image%20Sep%2011%2C%202025%2C%2008_28_21%20PM.png",
name: "Data Analysis with Pandas",
description: "Analyze data efficiently using Pandas. Explore datasets, clean data, and visualize results."
}
];
(async () => {
const baseUrl = 'https://kodepilot.in/course/index.php';
// Step 1: Fetch categories dynamically
const res = await fetch(baseUrl);
const html = await res.text();
const categoryRegex = /<h3 class="categoryname aabtn"><a href="([^"]+)">([^<]+)<\/a><\/h3>/g;
@ -234,20 +204,16 @@ const allCourses = [
categories.push({ url: match[1], name: match[2] });
}
console.log('Categories found:', categories);
// Step 2: Fetch courses for each category
const allCourses = [];
for (const category of categories) {
const resCat = await fetch(category.url);
const catHtml = await resCat.text();
const cleanHtml = catHtml.replace(/\n/g, ' '); // Flatten HTML for easier regex
const cleanHtml = catHtml.replace(/\n/g, ' ');
// Regex to extract course info
const courseRegex = /<div class="card dashboard-card [^"]*"[^>]*>.*?<a href="([^"]+)"[^>]*>.*?background-image: url\(([^)]+)\);".*?<span class="sr-only">(.*?)<\/span>.*?<div class="course-category">\s*([^<]+)<\/div>.*?<div class="course-summary">.*?<p>(.*?)<\/p>/g;
let found = false;
while ((match = courseRegex.exec(cleanHtml)) !== null) {
found = true;
allCourses.push({
category: match[4].trim(),
link: match[1].trim(),
@ -256,30 +222,42 @@ const allCourses = [
description: match[5].replace(/<br\s*\/?>/g, ' ').trim()
});
}
if (!found) {
console.warn("⚠️ Could not parse category:", category.url);
console.log(cleanHtml.substring(0, 500) + " ...");
}
}
console.log('All courses:', allCourses);
console.log("✅ Extracted courses:", allCourses);
renderCourses(allCourses);
})();
function renderCourses(allCourses) {
console.log("Testing allCourses array:");
const container = document.querySelector('.corces');
// Test printing all courses
console.log("Testing allCourses array:");
const container = document.querySelector('.corces');
if (!container) {
console.error("⚠️ No .corces container found in DOM");
return;
}
allCourses.forEach(course => {
const courseDiv = document.createElement('div');
courseDiv.className = 'course-card'; // you can style this class later
allCourses.forEach(course => {
const courseDiv = document.createElement('div');
courseDiv.className = 'course-card';
courseDiv.innerHTML = `
<a href="${course.link}" target="_blank">
<div class="course-image" style="background-image: url(${course.image});"></div>
</a>
<div class="course-content">
<div class="course-category">${course.category}</div>
<a href="${course.link}" class="course-name" target="_blank">${course.name}</a>
<div class="course-description">${course.description}</div>
</div>
`;
courseDiv.innerHTML = `
<a href="${course.link}" target="_blank">
<div class="course-image" style="background-image: url(${course.image});"></div>
</a>
<div class="course-content">
<div class="course-category">${course.category}</div>
<a href="${course.link}" class="course-name" target="_blank">${course.name}</a>
<div class="course-description">${course.description}</div>
</div>
`;
container.appendChild(courseDiv);
});
container.appendChild(courseDiv);
});
}