fix: cource load
This commit is contained in:
parent
eda7a7c463
commit
41ea6b1097
28
main.js
28
main.js
@ -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,7 +187,6 @@ function goToLogin() {
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize the slider immediately
|
||||
new Slide1rSlider();
|
||||
})();
|
||||
|
||||
@ -223,7 +217,6 @@ const allCourses = [
|
||||
(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 +227,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,19 +245,22 @@ 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);
|
||||
})();
|
||||
|
||||
|
||||
// Test printing all courses
|
||||
console.log("Testing allCourses array:");
|
||||
const container = document.querySelector('.corces');
|
||||
|
||||
allCourses.forEach(course => {
|
||||
const courseDiv = document.createElement('div');
|
||||
courseDiv.className = 'course-card'; // you can style this class later
|
||||
courseDiv.className = 'course-card';
|
||||
|
||||
courseDiv.innerHTML = `
|
||||
<a href="${course.link}" target="_blank">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user