package com.jishisongfu.duobibi.ui.privacy

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.jishisongfu.duobibi.ui.theme.DbbColors

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun PrivacyPolicyScreen(onBack: () -> Unit) {
    Scaffold(
        topBar = {
            TopAppBar(
                title = { Text("隐私政策", fontWeight = FontWeight.Bold, color = DbbColors.Ink) },
                navigationIcon = { IconButton(onClick = onBack) { Icon(Icons.AutoMirrored.Filled.ArrowBack, "返回", tint = DbbColors.Ink) } },
                colors = TopAppBarDefaults.topAppBarColors(containerColor = DbbColors.Card),
            )
        },
    ) { padding ->
        Column(
            Modifier.padding(padding).fillMaxSize().background(MaterialTheme.colorScheme.background)
                .verticalScroll(rememberScrollState()).padding(20.dp),
        ) { PolicyBody() }
    }
}

/** 隐私政策正文,首启同意页与设置内政策页共用。 */
@Composable
internal fun PolicyBody() {
    Section("我们是谁", "多比比是一款帮你跨平台比价的工具类 App。本政策说明我们如何处理你的信息。")
    Section(
        "权限说明",
        "· 无障碍服务:仅用于在你主动点击比价浮窗时,读取当前购物页面的商品标题与价格文本。不在后台持续读取、不记录你的浏览行为。\n" +
            "· 悬浮窗:在淘宝 / 京东 / 拼多多 / 抖音 等购物页显示一个可拖动的「比价」按钮。\n" +
            "· 通知:用于降价提醒。",
    )
    Section(
        "信息的收集与使用",
        "· 你的价格记录、商品组、降价监控仅保存在你的本机数据库,默认不上传服务器。\n" +
            "· 当你主动点击浮窗记价、使用截图记账、比价擂台或「值不值得买」时,相关的页面价格文本 / 标题 / 截图会发送到我们的服务器(api.duobibi.com)做一次性识别与估价,处理完即释放,不做持久化存储。\n" +
            "· 若你选择用手机号一键登录绑定账号,我们会收集你的手机号用于账号标识。",
    )
    Section("信息共享", "我们不会把你的个人信息出售或共享给第三方。比价时调起的购物 App 搜索为系统跳转,不携带任何你的身份信息。")
    Section("信息存储与安全", "本机数据随 App 卸载一并清除。网络传输使用 HTTPS 加密。")
    Section("联系我们", "如有疑问可通过应用市场页面或反馈入口联系我们。")
    Spacer(Modifier.height(24.dp))
}

@Composable
private fun Section(title: String, body: String) {
    Text(title, fontWeight = FontWeight.Bold, color = DbbColors.Ink, fontSize = 15.sp)
    Spacer(Modifier.height(6.dp))
    Text(body, color = DbbColors.InkSec, fontSize = 13.sp, lineHeight = 20.sp)
    Spacer(Modifier.height(16.dp))
}
