import { useLanguage } from "@/store/language-context";

const cases = (text: string, theDefault?:string) => {
    switch (text) {
        case "https://build.ivorytraining.com/":
        case "https://build.ivorytraining.com/bot":
            return 'الرئيسية | Home';

        case "https://build.ivorytraining.com/training-courses?page=1":
            return 'البرامج التدريبية | Training Courses';

        case "https://build.ivorytraining.com/about":
            return 'من نحن | About Us';

        case "https://build.ivorytraining.com/login":
            return 'تسجيل الدخول | Login';

        case "https://build.ivorytraining.com/forget-password":
            return 'هل نسيت كلمة المرور | Forget Password';

        case "https://build.ivorytraining.com/otp-code":
            return 'رمز التحقق | OTP Code';

        case "https://build.ivorytraining.com/reset-password":
            return 'إعادة تعيين كلمة المرور | Reset Password';

        case "https://build.ivorytraining.com/profile":
            return 'الملف الشخصي | Profile';

        case "https://build.ivorytraining.com/services/training":
            return 'التدريب | Training';

        case "https://build.ivorytraining.com/services/evaluations":
            return 'التقييمات | Evaluations';

        case "https://build.ivorytraining.com/services/training-kits":
            return 'مجموعات التدريب | Training Kits';

        case "https://build.ivorytraining.com/services/coaching":
            return 'التدريب الفردي | Coaching';

        case "https://build.ivorytraining.com/services/learning-solutions":
            return 'حلول التعلم | Learning Solutions';

        case "https://build.ivorytraining.com/services/leadership-solutions":
            return 'حلول القيادة | Leadership Solutions';

        case "https://build.ivorytraining.com/services/leadership-solutions/level-1":
            return 'حلول القيادة - المستوى الأول | Leadership Level 1';

        case "https://build.ivorytraining.com/services/leadership-solutions/level-2":
            return 'حلول القيادة - المستوى الثاني | Leadership Level 2';

        case "https://build.ivorytraining.com/services/leadership-solutions/level-3":
            return 'حلول القيادة - المستوى الثالث | Leadership Level 3';

        case "https://build.ivorytraining.com/services/leadership-solutions/level-4":
            return 'حلول القيادة - المستوى الرابع | Leadership Level 4';

        case "https://build.ivorytraining.com/ivory-event-profile":
            return 'ملف الحدث | Event Profile';

        case "https://build.ivorytraining.com/team-building-activities":
            return 'أنشطة بناء الفريق | Team Building Activities';

        case "https://build.ivorytraining.com/services/consulting":
            return 'الاستشارات | Consulting';

        case "https://build.ivorytraining.com/services/training-platforms":
            return 'منصات التدريب | Training Platforms';

        case "https://build.ivorytraining.com/services/third-sector":
            return 'القطاع الثالث | Third Sector';

        case "https://build.ivorytraining.com/offers":
            return 'العروض | Offers';

        case "https://build.ivorytraining.com/training-plans":
            return 'خطط التدريب | Training Plans';

        case "https://build.ivorytraining.com/contact-us":
            return 'اتصل بنا | Contact Us';

        case "https://build.ivorytraining.com/courses/payment/success":
            return 'تم الدفع بنجاح | Payment Success';

        case "https://build.ivorytraining.com/courses/payment/failed":
            return 'فشل الدفع | Payment Failed';

        case "https://build.ivorytraining.com/podcasts":
            return 'البودكاست | Podcasts';

        case "https://build.ivorytraining.com/seminars":
            return 'الندوات | Seminars';

        case "https://build.ivorytraining.com/news":
            return 'الأخبار | News';

        case "https://build.ivorytraining.com/blogs":
            return 'المدونات | Blogs';

        case "https://build.ivorytraining.com/privacy-policy":
            return 'سياسة الخصوصية | Privacy Policy';

        case "https://build.ivorytraining.com/accreditations":
            return 'الاعتمادات | Accreditations';

        case "https://build.ivorytraining.com/achievements":
            return 'الإنجازات | Achievements';

        case "https://build.ivorytraining.com/ivory-pro":
            return 'ايفوري برو | Ivory Pro';

        case "https://build.ivorytraining.com/ivory-diploma":
            return 'دبلوم ايفوري | Ivory Diploma';

        case "https://build.ivorytraining.com/ivory-diploma/cyber-security":
            return 'دبلوم الأمن السيبراني | Cyber Security Diploma';

        case "https://build.ivorytraining.com/ivory-diploma/ai":
            return 'دبلوم الذكاء الاصطناعي | AI Diploma';

        case "https://build.ivorytraining.com/ivory-diploma/executive-management":
            return 'دبلوم الإدارة التنفيذية | Executive Management Diploma';

        case "https://build.ivorytraining.com/ivory-diploma/hr":
            return 'دبلوم الموارد البشرية | HR Diploma';

        case "https://build.ivorytraining.com/ivory-diploma/logistics-management":
            return 'دبلوم إدارة اللوجستيات | Logistics Management Diploma';

        case "https://build.ivorytraining.com/certificate-verification":
            return 'التحقق من الشهادات | Certificate Verification';

        case "https://build.ivorytraining.com/contractural":
            return 'الدورات التعاقدية | Contractual Courses';

        case "https://build.ivorytraining.com/products/cmi":
            return 'CMi Products';

        case "https://build.ivorytraining.com/excelcx":
            return 'Excel CX';

        case "https://build.ivorytraining.com/supply-chain":
            return 'سلسلة التوريد | Supply Chain';

        case "https://build.ivorytraining.com/diploma-registration":
            return 'تسجيل الدبلوم | Diploma Registration';

        case "https://build.ivorytraining.com/compliance_training":
            return 'تدريب الامتثال | Compliance Training';

        case "https://build.ivorytraining.com/form":
            return 'النموذج | Form';
            
        case theDefault:
            return theDefault
        default:
            return 'ايفوري للتدريب | Ivory Training';
    }
};

export const format = (content: string) => {
    let result = content;

    result = result.replace(
        /(\d+)\.\s+([^\n]+?)(?=\n|$)/g,
        '<li><strong>$2</strong></li>'
    );

    result = result.replace(
        /(<li>.*?<\/li>)/gs,
        (match) => `<ol class="list-decimal list-inside my-2 space-y-1">${match}</ol>`
    );

    result = result.replace(
        /<\/ol>\s*<ol[^>]*>/g,
        ''
    );

    result = result.replace(/\n\n/g, ' <br/>');

    result = result.replace(
        /(00966533993220|\+966533993220)/g,
        "<a href='tel:$1' class='text-secondary-tw underline' target='_blank'>$1</a>"
    );

    result = result.replace(
        /(https?:\/\/[^\s]+)/g,
        (match) => {
            const displayText = match.includes("title") ?
            decodeURIComponent(match.split("title=")[1])
            :
            cases(match);
            return `<br/> 
                <a href="${match}" target="_blank" 
                class="bg-secondary-tw text-white p-1 px-2 my-2 rounded-md max-w-24 truncate overflow-hidden">
                ${displayText}
                </a> <br/>`;
        }
    );

    return result;
};

export const fetchCourses = async (title?:string) => {
    const { URL } = useLanguage();
try {
    const res = await fetch(`${URL}/courses?tilte=${title}`);
    const data = await res.json();
    return data
} catch (error) {
    return;
}
}
// export const format = (content: string) => {
    
//     return content
//         .replace(/\n\n/g, ' <br/>')
//         .replace(
//             /(00966533993220|\+966533993220)/g,
//             "<a href='tel:$1' class='text-secondary-tw underline' target='_blank'>$1</a>"
//         )
//         .replace(
//             /(https?:\/\/[^\s]+)/g,
//             (match) => {
//                 const displayText = cases(match)
//                 return `<br/> 
//                 <a href="${match}" target="_blank" 
//                 class="bg-secondary-tw text-white p-1 px-2 my-2 rounded-md max-w-40 truncate">
//                 ${displayText}
//                 </a> <br/>`
//             }
//         )
// };