<template>
	<view class="privacy-popup">
		<uv-popup ref="privacyPopup" 
				mode="center" 
				:round="10" 
				:closeable="false" 
				:maskClick="false"
				:closeOnClickOverlay="false"
                :safeAreaInsetBottom="false"
				:customStyle="{backgroundColor: '#fff', padding: 0, width: '85%'}"
				overlayOpacity="0.7">
			<view class="privacy-container">
				<!-- 标题 -->
				<view class="privacy-title">
					{{ title }}
				</view>
				
				<!-- 内容区域 - 使用插槽 -->
				<scroll-view scroll-y class="privacy-content">
					<slot></slot>
				</scroll-view>
				
				<!-- 底部按钮 -->
				<view class="privacy-actions">
					<view class="action-btn reject-btn" hover-class="active-btn" @tap="handleReject">{{ rejectText }}</view>
					<view class="action-btn agree-btn" hover-class="active-btn" @tap="handleAgree">{{ agreeText }}</view>
				</view>
			</view>
		</uv-popup>
	</view>
</template>

<script>
export default {
	name: 'PrivacyPopup',
	props: {
		// 弹窗标题
		title: {
			type: String,
			default: '隐私政策'
		},
		// 拒绝按钮文字
		rejectText: {
			type: String,
			default: '拒绝'
		},
		// 同意按钮文字
		agreeText: {
			type: String,
			default: '同意'
		}
	},
	data() {
		return {
		}
	},
	methods: {
		// 打开弹窗
		open() {
			this.$refs.privacyPopup.open();
		},
		
		// 关闭弹窗
		close() {
			this.$refs.privacyPopup.close();
		},
		
		// 处理拒绝操作
		handleReject() {
			this.$emit('reject');
			this.close();
		},
		
		// 处理同意操作
		handleAgree() {
			this.$emit('agree');
			this.close();
		}
	}
}
</script>

<style lang="scss" scoped>
.privacy-popup {
    // padding: 0;
	.privacy-container {
		display: flex;
		flex-direction: column;
        justify-content: space-between;
		width: 100%;
		background-color: #fff;
	}
	
	.privacy-title {
		font-size: 36rpx;
		font-weight: bold;
		text-align: center;
		padding: 30rpx 0;
		// border-bottom: 1rpx solid #e6e6e6;
		background-color: #fff;
	}
	
	.privacy-content {
		flex: 1;
		padding: 30rpx;
		box-sizing: border-box;
		height: 600rpx;
		background-color: #fff;
        max-height: 50vh;
	}
	
	.privacy-actions {
		display: flex;
		border-top: 4rpx solid #e6e6e6;
		height: 100rpx;
		background-color: #fff;
		
		.action-btn {
			flex: 1;
			display: flex;
			justify-content: center;
			align-items: center;
			font-size: 32rpx;
			position: relative;
			background-color: #fff;
			transition: all 0.3s ease;
			// &::after {
			// 	content: '';
			// 	position: absolute;
			// 	right: 0;
			// 	top: 20rpx;
			// 	bottom: 20rpx;
			// 	width: 1rpx;
			// 	background-color: #e6e6e6;
			// }
			
			&:last-child::after {
				display: none;
			}
		}
		
		.reject-btn {
			color: #999;
            // background-color: red;
            border-right: 4rpx solid #e6e6e6;
		}
		
		.agree-btn {
			color: $uni-color;
		}
        .active-btn {
            background-color: $uni-color;
            color: #fff;
        }
	}
}
</style> 