<?php

/**
 * Template Name: Journal
 *
 * @package UIU_CSE
 */
get_header(); ?>


<?php while (have_posts()) : the_post();

    $auth_token = get_field('auth_token', 'option');
    $client_id = get_field('client_id', 'option');
    $journal_api = get_field('journal_api', 'option');

    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => $journal_api,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => '{
            "auth_token" : "' . $auth_token . '",
            "user_login_id" : "' . $client_id . '"
        }',
        CURLOPT_HTTPHEADER => array(
            'Content-Type: application/json'
        ),
    ));

    $response = curl_exec($curl);
    curl_close($curl);
    $response = json_decode($response, true);

?>
    <main id="main" class="site-main" role="main">

        <section id="archive-hero">

            <div class="container">

                <!-- breadcrumb -->
                <nav aria-label="breadcrumb">
                    <ul>
                        <li><a href="#"> Home </a></li>
                        <li><a href="#">Research</a></li>
                        <li>Journal Paper</li>
                    </ul>
                </nav>

                <div class="content">

                    <!-- left content -->
                    <div class="left-content">

                        <div class="main-title">Journal Paper</div>

                        <div class="short-details">
                            Lorem ipsum dolor sit, amet consectetur adipisicing elit. Dolor ducimus eius magni non.
                        </div>

                        <div class="links">

                            <!-- message -->
                            <a href="#">
                                <img src="<?php echo (get_template_directory_uri()) ?>/img/envelope-solid.svg" alt="">
                            </a>

                            <!-- printer -->
                            <a href="#">
                                <img src="<?php echo (get_template_directory_uri()) ?>/img/print-solid.svg" alt="">
                            </a>

                            <!-- facebook -->
                            <a href="#">
                                <img src="<?php echo (get_template_directory_uri()) ?>/img/facebook-f.svg" alt="">
                            </a>

                            <!-- twitter -->
                            <a href="#">
                                <img src="<?php echo (get_template_directory_uri()) ?>/img/twitter.svg" alt="">
                            </a>

                            <!-- linkedin -->
                            <a href="#">
                                <img src="<?php echo (get_template_directory_uri()) ?>/img/linkedin-in.svg" alt="">
                            </a>

                        </div>

                    </div>

                    <!-- right content -->
                    <div class="right-content">
                        <img src="<?php echo (get_template_directory_uri()) ?>/img/journal-paper.jpg" alt="">
                    </div>

                </div>
            </div>



        </section>




        <div class="container">

            <section id="resarch-paper-container">


                <!-- side component -->
                <div class="side-comp">

                    <div class="filter">

                        <!-- title -->
                        <div class="filter-title">
                            Refine Your Search
                        </div>

                        <div class="filter-criteria">

                            <h6>Year :</h6>
                            <form id="year-input" action="">

                            </form>


                            <h6>Author :</h6>
                            <form id="author-input" action="">

                            </form>
                        </div>




                    </div>


                </div>


                <!-- main component -->
                <div class="main-comp">

                    <article class="generic-para ">


                        <h3>Conference Papers</h3>


                        <div id="conference-paper">



                        </div>


                    </article>


                </div>



            </section>

        </div>


    </main>
    <!-- #main -->

<?php endwhile; // end of the loop.
?>
<style>
    #archive-hero {
        padding: 2rem 0;
        background: #f3f0ec;
    }

    #archive-hero .content {
        display: flex;
        align-items: start;
    }

    #archive-hero .content .left-content {
        padding: 1rem;
        padding-left: 0 !important;
        flex: 1;
    }

    #archive-hero .content .left-content .main-title {
        font-size: 2.2rem;
        font-weight: 500;
        color: #000000;
    }

    #archive-hero .content .left-content .short-details {
        margin-top: 1.5rem;
        font-size: 1.1rem;
        font-weight: 400;
    }

    #archive-hero .content .left-content .links {
        margin-top: 2rem;
        display: flex;
        gap: 1.8rem;
    }

    #archive-hero .content .left-content .links a {
        height: 1.3rem;
    }

    #archive-hero .content .left-content .links a:hover {
        transform: scale(1.1);
        opacity: 1 !important;
    }

    #archive-hero .content .left-content .links a img {
        height: 100%;
    }

    #archive-hero .content .right-content {
        padding: 0 0 1rem 2rem !important;
        flex: 1;
        align-self: end;
    }

    #archive-hero .content .right-content img {
        width: 100%;
    }

    #resarch-paper-container {
        margin-top: 3rem;
        display: flex;
        gap: 1rem;
    }

    @media (max-width: 1000px) {
        #resarch-paper-container {
            flex-direction: column;
        }
    }

    #resarch-paper-container .main-comp {
        flex: 7;
        padding: 0 0.75rem 1rem 0;
    }

    @media (max-width: 1000px) {
        #resarch-paper-container .main-comp {
            order: 0;
            flex: 1;
        }
    }

    #resarch-paper-container .main-comp article {
        margin: unset;
    }

    #resarch-paper-container .main-comp .generic-para {
        text-align: left;
        padding: 1rem 1.5rem !important;
    }

    #resarch-paper-container .main-comp .generic-para h2 {
        text-align: center;
        letter-spacing: 1px;
    }

    #resarch-paper-container .main-comp .generic-para h3 {
        font-family: "DM Serif Text", serif;
        margin: 20px 0px !important;
        padding-bottom: 0.75rem;
        text-align: left;
        border-bottom: 3px solid #F68B1F;
    }

    #resarch-paper-container .main-comp .generic-para p {
        text-align: justify;
        margin: 30px 0px !important;
        font-size: 16px !important;
        line-height: 22px;
    }

    #resarch-paper-container .main-comp .generic-para .prof-name {
        color: #485680;
        font-weight: 700;
        font-size: 18px;
    }

    #resarch-paper-container .main-comp .generic-para .prof-deg {
        font-style: italic;
        font-weight: 400;
    }

    #resarch-paper-container .main-comp .generic-para .prof-des {
        font-size: 18px;
        font-weight: 700;
    }

    #resarch-paper-container .main-comp .generic-para .paper-details {
        padding: 30px 0px;
        border-bottom: 1px solid rgba(51, 51, 51, 0.1764705882);
    }

    #resarch-paper-container .main-comp .generic-para .paper-title {
        font-size: 18px !important;
        text-align: left !important;
        margin: 10px 0px !important;
        font-weight: 400 !important;
        text-decoration: underline;
    }

    #resarch-paper-container .main-comp .generic-para .paper-year {
        font-size: 14px;
        display: block;
        color: rgba(51, 51, 51, 0.4509803922);
    }

    #resarch-paper-container .main-comp .generic-para p {
        margin: 5px !important;
        font-size: 14px !important;
    }

    #resarch-paper-container .main-comp .generic-para .paper-contributors {
        color: #222222 !important;
    }

    #resarch-paper-container .main-comp .generic-para .paper-tags {
        margin: 20px 0px !important;
    }

    #resarch-paper-container .main-comp .generic-para .paper-tags .tag {
        font-size: 14px;
        border: 1px solid #F68B1F;
        padding: 3px 8px !important;
        border-radius: 10px;
    }

    #resarch-paper-container .side-comp {
        flex: 2;
        padding: 0 0.25rem 1rem 0 !important;
    }

    @media (max-width: 1000px) {
        #resarch-paper-container .side-comp {
            order: 1;
            flex: 1;
        }
    }

    #resarch-paper-container .side-comp .filter {
        margin-bottom: 2rem;
        padding: 0;
        background-color: aliceblue;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.15), 0 3px 3px rgba(0, 0, 0, 0.15);
    }

    #resarch-paper-container .side-comp .filter-title {
        padding: 1rem 0;
        text-align: center;
        background-color: #2c5d73;
        border-bottom: 3px solid #ff860d;
        color: #fff;
        font-weight: 400;
        font-size: 1rem;
    }

    #resarch-paper-container .side-comp .filter-criteria {
        padding: 1rem;
        margin-bottom: 1.25rem;
    }

    #resarch-paper-container .side-comp .filter-criteria h6 {
        font-weight: 500;
        margin-bottom: 0.25rem !important;
    }

    #resarch-paper-container .side-comp .filter-criteria form {
        padding: 0.25rem;
        width: 100%;
        padding-top: 0.25rem;
        padding: 0.5rem;
    }

    #resarch-paper-container .side-comp .filter-criteria form .input-group {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-bottom: 0.25rem;
    }

    #resarch-paper-container .side-comp .filter-criteria form .input-group label {
        font-size: 0.8rem;
        font-weight: 500;
    }

    #resarch-paper-container .side-comp .filter-criteria form .input-group input {
        font-size: 0.8rem;
    }

    #resarch-paper-container .side-comp .filter-criteria form ul {
        margin-bottom: unset;
    }

    #resarch-paper-container .side-comp .filter-criteria form ul li {
        list-style: none;
    }

    #resarch-paper-container .side-comp .filter-criteria form a {
        display: block;
        color: #333;
        font-size: 0.8rem;
        font-weight: 500;
        padding: 0.5rem 0;
        border-bottom: 1px solid #c5c5c5;
    }

    #resarch-paper-container .side-comp .filter-criteria form a:hover {
        opacity: 1 !important;
        color: #ff860d;
    }

    #resarch-paper-container .side-comp .filter-criteria form .single-item {
        display: block;
        margin-bottom: 0.75rem;
        padding-bottom: 2rem;
        border-bottom: 1px solid #2c5d73;
        transition: all 0.25s ease-in-out;
    }

    #resarch-paper-container .side-comp .filter-criteria form .single-item:last-child {
        border-bottom: none;
        margin-bottom: 0rem;
        padding-bottom: 0.25rem;
    }

    #resarch-paper-container .side-comp .filter-criteria form .single-item .date {
        font-size: 0.8rem;
        font-weight: 500;
        color: #c66f17;
    }

    #resarch-paper-container .side-comp .filter-criteria form .single-item .single-item-title {
        font-size: 0.8rem;
        font-weight: 700;
        color: #2c5d73;
    }

    #resarch-paper-container .side-comp .filter-criteria form .single-item .date-container {
        display: flex;
        align-items: center;
        gap: 0.7rem;
    }

    #resarch-paper-container .side-comp .filter-criteria form .single-item .date-container .date {
        font-size: 0.75rem;
    }

    #resarch-paper-container .side-comp .filter-criteria form .single-item .date-container .icon {
        width: 0.75rem;
        color: #ffffff;
    }

    #resarch-paper-container .side-comp .filter-criteria form .single-item .date-container .icon img {
        width: 100%;
    }

    /*# sourceMappingURL=cse-journal-paper.css.map */
</style>
<script>
    const payload = {
        "user_login_id": "api_user",
        "auth_token": "api_user20230419045143"
    }

    const fetchJournalPaper = async () => {

        try {
            const res = await fetch("https://ucamapi.uiu.ac.bd/api/EmployeeJournal", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json",
                },
                body: JSON.stringify(payload)
            });
            const data = await res.json();
            return data
        } catch (error) {
            console.log(`Error: ${error}`)
        }
    }

    fetchJournalPaper()
        .then(data => {
            // adding menu data into html
            addDataToPage(data)
        })

    function addDataToPage(data) {
        const conferencePaper = document.getElementById('conference-paper');
        const authorFilterContainer = document.getElementById('author-input');
        const yearFilterContainer = document.getElementById('year-input');

        if (data) {

            let allYears = [];
            data.map(data => {
                const publishYear = data.Year;
                allYears.push(publishYear);
                // year add in filter
                const allYear = `<div class="input-group">
                                        <span>
                                          <label for=${publishYear}>${publishYear}</label>
                                        </span>
                                        <span>
                                          <input type="radio" id=${publishYear} name="author" value=${publishYear}>
                                        </span>
                                    </div>`

                yearFilterContainer.insertAdjacentHTML("beforeend", allYear)
                // year add in filter end

                // author add in filter
                const allAuthor = `<div class="input-group">
                                        <span>
                                          <label for=${data.TeacherCode}>${data.TeacherCode}</label>
                                        </span>
                                        <span>
                                          <input type="radio" id=${data.TeacherCode} name="author" value=${data.TeacherCode}>
                                        </span>
                                    </div>`

                authorFilterContainer.insertAdjacentHTML("beforeend", allAuthor)
                // author add in filter end

                // journallist adding
                data.JournalList.map(journal => {
                    const journalData = `<div class="paper-details">
                                            <span class="paper-year">${publishYear}</span>
                                            <h2 class="paper-title">${journal.PaperTitle}</h2>
                                            <p class="paper-tags">
                                                ${
                                                    journal.KeyWords.map(KeyWord => {
                                                        return `<span class="tag">${KeyWord}</span>`
                                                    })
                                                }
                                            </p>
                                            <p class="paper-event">
                                                <i>Publication: </i> ${journal.JournalTitle}
                                            </p>
                                            <p class="paper-contributors">
                                                <i>Authors: </i> ${
                                                    journal.Author.map(author => {
                                                        return "  " + author.AuthorName
                                                    })
                                                }
                                            </p>
                                        </div>`
                    conferencePaper.insertAdjacentHTML("beforeend", journalData)
                })
            })
            console.log(allYears)
        }
    }
</script>
<?php get_footer(); ?>