"use client"; import Link from "next/link"; import { useRouter } from "next/navigation"; import React from "react"; import styled from "styled-components"; import { Header } from "../../../../components/UI/Header"; import Layout from "../../../../components/UI/Layout"; import { Title } from "../../../../components/UI/Elements/Styles/Title"; import { getBackendUrl } from "../../../../services/config"; import { deleteCourseFromBackend, getOrgCourses } from "../../../../services/courses/courses"; import { getOrganizationContextInfo } from "../../../../services/orgs"; const CoursesIndexPage = (params: any) => { const router = useRouter(); const orgslug = params.params.orgslug; const [isLoading, setIsLoading] = React.useState(true); const [orgInfo, setOrgInfo] = React.useState(null); const [courses, setCourses] = React.useState([]); async function fetchCourses() { const org = await getOrganizationContextInfo(orgslug); const response = await getOrgCourses(org.org_id); setCourses(response); setIsLoading(false); } async function deleteCourses(course_id: any) { const response = await deleteCourseFromBackend(course_id); const newCourses = courses.filter((course: any) => course.course_id !== course_id); setCourses(newCourses); } // function to remove "course_" from the course_id function removeCoursePrefix(course_id: string) { return course_id.replace("course_", ""); } React.useEffect(() => { if (orgslug) { fetchCourses(); if (courses.length > 0) { setIsLoading(false); } } }, [isLoading, orgslug]); return ( <>