<template>
	<uv-popup ref="popup" :round="30" :customStyle="{height: '70vh'}">
		<view class="catalog-popup-fullscreen">
			<view class="catalog-header">
				<view class="header-left" @click.stop="close">
					<uv-icon name="arrow-down" size="46" color="#333"/>
				</view>
				<view class="header-title">目录</view>
				<view class="header-right" @click.stop="orderAsc = !orderAsc">倒序</view>
			</view>
			<scroll-view scroll-y class="catalog-list">
				<view v-for="(item, idx) in (orderAsc ? chapterList : [...chapterList].reverse())" :key="item.id"
					@click="selectChapter(orderAsc ? idx : chapterList.length - 1 - idx)"
					:class="['catalog-item', {active: (orderAsc ? idx : chapterList.length - 1 - idx) === currentIndex}]">
					<view class="item-main">
						<text class="item-title">{{ item.title }}</text>
						<text v-if="item.vip" class="vip-tag">付费</text>
					</view>
				</view>
			</scroll-view>
		</view>
	</uv-popup>
</template>

<script>
	export default {
		data() {
			return {
				chapterCount: 2814,
				orderAsc : true,
				currentIndex : 0,
				chapterList: [{
						id: 1,
						title: '第一章 重回2004',
						vip: false
					},
					{
						id: 2,
						title: '第二章 陈年旧恨',
						vip: false
					},
					{
						id: 3,
						title: '第三章 再相见',
						vip: false
					},
					{
						id: 4,
						title: '第四章 李东的邀请',
						vip: false
					},
					{
						id: 5,
						title: '第五章 小气的男',
						vip: false
					},
					{
						id: 6,
						title: '第六章 先送谁?',
						vip: false
					},
					{
						id: 7,
						title: '第七章 打听行情',
						vip: false
					},
					{
						id: 8,
						title: '第八章 省城探路',
						vip: false
					},
					{
						id: 9,
						title: '第九章 订货',
						vip: false
					},
					{
						id: 10,
						title: '第十章 第一桶金',
						vip: true
					},
					{
						id: 11,
						title: '第十一章 高富帅来袭',
						vip: true
					},
					{
						id: 12,
						title: '第十二章 故学后，挥场见！',
						vip: true
					},
					{
						id: 13,
						title: '第十三章 你来我往',
						vip: true
					},
					{
						id: 14,
						title: '第十四章 你来我往',
						vip: true
					},
					{
						id: 15,
						title: '第十五章 你来我往',
						vip: true
					},
					{
						id: 16,
						title: '第十六章 你来我往',
						vip: true
					},
					{
						id: 17,
						title: '第十七章 你来我往',
						vip: true
					},
					{
						id: 18,
						title: '第十八章 你来我往',
						vip: true
					}
				]
			}
		},
		methods: {
			open() {
				this.$refs.popup.open('bottom')
			},
			close() {
				this.$refs.popup.close()
			},
			selectChapter(){
				
			},
			selectChapter(idx) {
				this.currentIndex = idx
				this.showCatalog = false
				// TODO: 跳转到对应章节内容
			},
		}
	}
</script>

<style scoped lang="scss">
	.catalog-popup-fullscreen {
		position: relative;
		height: 100%;
		width: 100vw;
		background: #fff;
		display: flex;
		flex-direction: column;
		overflow: hidden;

		.catalog-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0 24rpx;
			height: 96rpx;
			border-bottom: 1px solid #eee;
			position: sticky;
			top: 0;
			background: #fff;
			z-index: 2;
		}


		.header-left {
			width: 60rpx;
			display: flex;
			align-items: center;
			justify-content: flex-start;
		}

		.header-title {
			flex: 1;
			text-align: center;
			font-size: 32rpx;
			font-weight: bold;
			color: #222;
		}

		.header-right {
			color: #223a7a;
			font-size: 28rpx;
			font-weight: 500;
			min-width: 80rpx;
			text-align: right;
		}

		.catalog-list {
			height: calc(100% - 180rpx);
			overflow: auto;
			padding-bottom: 40rpx;
		}

		.catalog-item {
			padding: 0 32rpx;
			min-height: 80rpx;
			display: flex;
			flex-direction: column;
			justify-content: center;
			border-bottom: 1px solid #f5f5f5;
			background: #fff;
			color: #222;
			font-size: 30rpx;
			position: relative;
		}

		.catalog-item.active {
			color: #ff5a5f;
			background: #fff7f7;
		}

		.item-main {
			display: flex;
			align-items: center;
			gap: 16rpx;
		}

		.item-title {
			font-size: 30rpx;
		}

		.vip-tag {
			background: #ffe1b2;
			color: #ff9900;
			border-radius: 20rpx;
			font-size: 24rpx;
			padding: 2rpx 18rpx;
			margin-left: 16rpx;
		}

	}
</style>