<template>
    <div class="mypage">
        <div class="flex justify-between mb30" style="gap: 30px;">
            <div>
                <div class="title-box flex justify-between mb20">
                    <p class="title" style="color: white;">소속 반</p>
                    <div class="flex align-center look-btn">
                        <!-- <p>더보기 </p><svg-icon type="mdi" :path="mdilArrowRight" class=" ml10"></svg-icon> -->
                    </div>
                </div>
                <div style="width: 82rem; padding: 2rem;">
                    <section class="flex" style="gap: 20px;">
                        <div class="class flex justify-between" style="cursor: default; background-color: transparent;">
                            <div class="box gd-col2" style="gap: 5px;">
                                <div><img src="../../../resources/img/img176_82t.png" alt=""></div>
                                <div><img src="../../../resources/img/img176_82t.png" alt=""></div>
                                <div><img src="../../../resources/img/img176_82t.png" alt=""></div>
                                <div><img src="../../../resources/img/img176_82t.png" alt=""></div>
                            </div>
                            <div class="text mt10">
                                <p class="title1 mb10">A반</p>
                                <span class="member">20명</span>
                            </div>
                        </div>

                    </section>
                </div>
            </div>
            <div>

                <div style="position: absolute; left: 102rem; top: 10rem; "
                    @click="selectedTab = 'tab4'; goToPage('PhotoBook')"><img
                        src="../../../resources/img/new_img/mypage/photoBtn.png" alt=""></div>
                <div class="title-box flex justify-between mb20" style=" position: absolute; left: 117em; top: 6em; ">
                    <p class="title" style="color: white;">사진첩</p>
                </div>
            </div>
        </div>
        <div class="title-box flex justify-between mb20">
            <p class="title" style="color: white;">{{ studentInfo.studentName }} 학생 랭킹</p>
        </div>
        <div class=" mb30">
            <div class=" flex " style="gap: 95px;">
                <div class="textbook book-red" style="background-color: white; width: 19%; border: #f9c4eb solid 6px;">
                    <div class="text" style="background-color: #f9c4eb;">
                        <p class="title1" style="color: #fff;">포토북 랭킹</p>
                    </div>
                    <div class="box " style="gap: 10px;">
                        <div><img src="../../../resources/img/img196_12p.png" alt=""></div>
                        <P class="subtitle mt10" style="font-size: 19px;">현재 {{ stdCount }}명 중 <em class="red">{{
                            photo_rank }}등</em>입니다.</P>
                    </div>
                </div>
                <div class="textbook " style="background-color: white; width: 19%;  border: #b5dbcc solid 6px;">
                    <div class="text" style="background-color: #b5dbcc;">
                        <p class="title1" style="color: #fff;">진도율 랭킹</p>
                    </div>
                    <div class="box " style="gap: 10px;">
                        <div><img src="../../../resources/img/img196_12p.png" alt=""></div>
                        <P class="subtitle mt10" style="font-size: 19px;">현재 {{ stdCount }}명 중 <em class="yellow">{{
                            problem_rank }}등</em>입니다.</P>
                    </div>
                </div>
                <div class="textbook book-blue "
                    style="background-color: white; width: 19%;  border: #bcd3eb solid 6px;">
                    <div class="text" style="background-color: #bcd3eb;">
                        <p class="title1" style="color: #fff;">점수 랭킹</p>
                    </div>
                    <div class="box " style="gap: 10px;">
                        <div><img src="../../../resources/img/img196_12p.png" alt=""></div>
                        <P class="subtitle mt10" style="font-size: 19px;">현재 {{ stdCount }}명 중 <em class="blue">{{
                            score_rank }}등</em>입니다.</P>
                    </div>
                </div>
                <div class="textbook book-navy "
                    style="background-color: white; width: 19%;  border: #f9c894 solid 6px;">
                    <div class="text" style="background-color: #f9c894;">
                        <p class="title1" style="color: #fff;">학습시간 랭킹</p>
                    </div>
                    <div class="box " style="gap: 10px;">
                        <div><img src="../../../resources/img/img196_12p.png" alt=""></div>
                        <P class="subtitle mt10" style="font-size: 19px;">현재 {{ stdCount }}명 중 <em class="navy">{{
                            time_rank }}등</em>입니다.</P>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
import SvgIcon from '@jamescoyle/vue-icon';
import { mdiMagnify, } from '@mdi/js';
import { mdilArrowRight } from '@mdi/light-js';
import ProgressBar from '../../component/ProgressBar.vue';
import axios from "axios";


export default {
    data() {
        return {
            stdCount: 0,
            photo_rank: 0,
            problem_rank: 0,
            score_rank: 0,
            time_rank: 0,
            mdiMagnify: mdiMagnify,
            mdilArrowRight: mdilArrowRight,
            timer: "00:00",
            progress: 20,
            studentInfo: {
                studentName: "",
                institutionName: "",
                grade: "",
                className: "",
                studentQuestion: "",
                history: [],
            },
        }
    },
    methods: {
        classStdCount: function () {
            const vm = this;
            axios({
                url: "/userclass/classStdCountByUserId.json",
                method: "post",
                headers: {
                    "Content-Type": "application/json; charset=UTF-8",
                },
                data: {
                    userId: "USID_000000000000002"   // 로그인한 학생의 userId
                }
            })
                .then(function (response) {
                    console.log("classStdCount - response : ", response.data);
                    vm.stdCount = response.data;
                })
                .catch(function (error) {
                    console.log("classStdCount - error : ", error);
                    alert("반 학생 수 조회에 오류가 발생했습니다.");
                });
        },
        fetchStudentInfo() {
            const vm = this;
            axios({
                url: "/studentInfo/getInfo.json",
                method: "post",
                headers: {
                    "Content-Type": "application/json; charset=UTF-8",
                },
                data: {
                    userId: "USID_000000000000002" // 로그인한 학생의 userId
                }
            })
                .then((response) => {
                    console.log(response.data);
                    this.studentInfo = response.data;
                })
                .catch((error) => {
                    console.error("학생 정보 가져오기 실패:", error);
                });
        },
        photoRankByLikeData: function () {
            const vm = this;
            axios({
                url: "/photo/photoRankByLikeData.json",
                method: "post",
                headers: {
                    "Content-Type": "application/json; charset=UTF-8",
                },
                data: {
                    sclsId: "1",
                    stdId: "1"
                }
            })
                .then(function (response) {
                    console.log("Photo Rank - response : ", response.data);
                    vm.photo_rank = response.data;
                })
                .catch(function (error) {
                    console.log("Photo Rank - error : ", error);
                    alert("학생 사진 랭킹 조회에 오류가 발생했습니다.");
                });
        },
        getUserRankByScore: function () {
            const vm = this;
            axios({
                url: "/userclass/getUserRankByScore.json",
                method: "post",
                headers: {
                    "Content-Type": "application/json; charset=UTF-8",
                },
                data: {
                    userId: "USID_000000000000002"   // 로그인한 학생의 userId
                }
            })
                .then(function (response) {
                    console.log("User Rank - response : ", response.data);
                    vm.score_rank = response.data;
                })
                .catch(function (error) {
                    console.log("User Rank - error : ", error);
                    alert("점수 랭킹 조회에 오류가 발생했습니다.");
                });
        },
        getUserRankByStudyTime: function () {
            const vm = this;
            axios({
                url: "/userclass/getUserRankByStudyTime.json",
                method: "post",
                headers: {
                    "Content-Type": "application/json; charset=UTF-8",
                },
                data: {
                    userId: "1"   // 로그인한 학생의 userId
                }
            })
                .then(function (response) {
                    console.log("User Rank - response : ", response.data);
                    vm.time_rank = response.data;
                })
                .catch(function (error) {
                    console.log("User Rank - error : ", error);
                    alert("학습시간 랭킹 조회에 오류가 발생했습니다.");
                });
        },
        problemRankByProblemData: function () {
            const vm = this;
            axios({
                url: "/problemLog/problemRankByProblemData.json",
                method: "post",
                headers: {
                    "Content-Type": "application/json; charset=UTF-8",
                },
                data: {
                    sclsId: "1",
                    stdId: "2"
                }
            })
                .then(function (response) {
                    console.log("Problem Rank - response : ", response.data);
                    vm.problem_rank = response.data;
                })
                .catch(function (error) {
                    console.log("Problem Rank - error : ", error);
                    alert("학생 문제 랭킹 조회에 오류가 발생했습니다.");
                });
        },
        goToPage(page) {
            this.$router.push({ name: page });
        },
        increaseProgress() {
            if (this.progress < 100) {
                this.progress += 10;
            }
        },
        showConfirm(type) {
            let message = '';
            if (type === 'cancel') {
                message = '삭제하시겠습니까?';
            } else if (type === 'reset') {
                message = '초기화하시겠습니까?';
            } else if (type === 'save') {
                message = '등록하시겠습니까?';
            }

            if (confirm(message)) {
                this.goBack();
            }
        },
    },
    watch: {

    },
    computed: {

    },
    components: {
        SvgIcon,
        ProgressBar
    },
    mounted() {
        console.log('Main2 mounted');
        this.fetchStudentInfo();
        this.classStdCount();
        this.photoRankByLikeData();
        this.getUserRankByScore();
        this.problemRankByProblemData();
        this.getUserRankByStudyTime();
    }
}
</script>
<style scoped>
.mypage .textbook {
    width: 22%;
}
</style>