<template>
  <uv-popup 
    mode="bottom" 
    ref="coursePopup"
    round="32rpx"
    bg-color="#f8f8f8"
    safeAreaInsetBottom
  >
    <view class="course-popup">
      <view class="popup-header">
        <view>
          <uv-icon name="arrow-down" color="black" size="20"></uv-icon>
        </view>
        <view class="popup-title">课程</view>
        <view class="popup-title" @click="toggleSort">
          倒序
        </view>
      </view>
      <view class="course-list">
        <view 
          v-for="course in displayCourseList" 
          :key="course.id"
          class="course-item"
          :class="{ 'active': course.id === currentCourse }"
          @click="selectCourse(course.id)"
        >
          <view class="course-number" :class="{ 'highlight': course.id === currentCourse }">
            {{ String(course.index + 1).padStart(2, '0') }}
          </view>
          <view class="course-content">
            <view class="course-english" :class="{ 'highlight': course.id === currentCourse }">
              {{ course.english }}
            </view>
            <view class="course-chinese" :class="{ 'highlight': course.id === currentCourse }">
              {{ course.chinese }}
            </view>
          </view>
        </view>
      </view>
    </view>
  </uv-popup>
</template>

<script>
export default {
  name: 'CoursePopup',
  props: {
    courseList: {
      type: Array,
      default: () => []
    },
    currentCourse: {
      type: [String, Number],
      default: 1
    },
    isReversed: {
      type: Boolean,
      default: false
    }
  },
  computed: {
    displayCourseList() {
      return this.isReversed ? [...this.courseList].reverse() : this.courseList;
    }
  },
  methods: {
    open() {
      if (this.$refs.coursePopup) {
        this.$refs.coursePopup.open()
      }
    },
    close() {
      if (this.$refs.coursePopup) {
        this.$refs.coursePopup.close()
      }
    },
    toggleSort() {
      this.$emit('toggle-sort')
    },
    selectCourse(courseId) {
      this.$emit('select-course', courseId)
      this.close()
    }
  }
}
</script>

<style lang="scss" scoped>
/* 课程弹出窗样式 */
.course-popup {
  padding: 0 32rpx;
  max-height: 80vh;
}

.popup-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20rpx 0;
  border-bottom: 2rpx solid #EEEEEE;
}

.popup-title {
  font-family: PingFang SC;
  font-weight: 500;
  font-size: 34rpx;
  color: #181818;
}

.course-list {
  max-height: 60vh;
  overflow-y: auto;
}

.course-item {
  display: flex;
  align-items: center;
  gap: 24rpx;
  padding-top: 24rpx;
  padding-right: 8rpx;
  padding-bottom: 24rpx;
  padding-left: 8rpx;
  border-bottom: 1px solid #EEEEEE;
  cursor: pointer;
  
  &:last-child {
    border-bottom: none;
  }
}

.course-number {
  width: 80rpx;
  font-family: PingFang SC;
  font-size: 36rpx;
  color: #999;
  
  &.highlight {
    color: #06DADC;
  }
}

.course-content {
  flex: 1;
}

.course-english {
  font-family: PingFang SC;
  font-weight: 600;
  font-size: 36rpx;
  line-height: 44rpx;
  color: #252545;
  margin-bottom: 8rpx;
  
  &.highlight {
    color: #06DADC;
  }
}

.course-chinese {
  font-size: 28rpx;
  line-height: 48rpx;
  color: #3B3D3D;
  
  &.highlight {
    color: #06DADC;
  }
}
</style>