import 'package:flutter/material.dart';
import 'dart:io';
import 'package:flutter/services.dart';
import 'package:qhd_prevention/customWidget/toast_util.dart';
import 'package:qhd_prevention/http/ApiService.dart';
import 'package:qhd_prevention/pages/my_appbar.dart';

import '../../tools/tools.dart';
import 'mine_sign_page.dart';

class FirstSignPage extends StatefulWidget {
  const FirstSignPage({super.key});

  @override
  State<FirstSignPage> createState() => _SignatureUpdatePageState();
}

class _SignatureUpdatePageState extends State<FirstSignPage> {
  String imagePath = "";

  Future<void> refreshSign() async {
    if (imagePath.isEmpty) {
      ToastUtil.showNormal(context, '请签字');
      return;
    }
    LoadingDialogHelper.show();
    final result = await ApiService.refreshSignInfo(imagePath);
    LoadingDialogHelper.hide();
    if (result['result'] == 'success') {
      ToastUtil.showSuccess(context, '保存成功');
      Navigator.pop(context);
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: MyAppbar(title: "更新签字信息"),
      body: Container(
        margin: EdgeInsets.all(16),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: [
                Text("用户", style: TextStyle(color: Colors.black, fontSize: 16)),
                _buildConfirmButton(),
              ],
            ),
            const SizedBox(height: 8),

            Row(
              children: [
                if (imagePath.isNotEmpty)
                  Text(
                    '签字照片：',
                    style: TextStyle(
                      fontSize: 14,
                      fontWeight: FontWeight.bold,
                      color: Colors.grey,
                    ),
                  ),
                const SizedBox(width: 15),
                if (imagePath.isNotEmpty)
                  Image.file(
                    File(imagePath),
                    width: 230,
                    height: 150,
                    fit: BoxFit.fill,
                  ),
              ],
            ),

            const SizedBox(height: 8),
            // 确认按钮
            // const Spacer(),
            _buildTrueButton(),
          ],
        ),
      ),
    );
  }
  Widget _buildTrueButton() {
    return Center(
      child: ElevatedButton(
        onPressed: () {
          refreshSign();
        },
        style: ElevatedButton.styleFrom(
          backgroundColor: const Color(0xFF4285F4),
          padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 80),
          shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
        ),
        child: Text('确认', style: TextStyle(fontSize: 14, color: Colors.white)),
      ),
    );
  }
  Widget _buildConfirmButton() {
    return SizedBox(
      width: 80,
      height: 30,
      child: ElevatedButton(
        onPressed: () async {
          await NativeOrientation.setLandscape();

          final path = await Navigator.push(
            context,
            MaterialPageRoute(builder: (context) => MineSignPage()),
          );
          await NativeOrientation.setPortrait();

          // 更新状态（当子页面关闭时）
          setState(() {
            imagePath = path ?? '';
          });
        },
        style: ElevatedButton.styleFrom(
          backgroundColor: const Color(0xFF4285F4),
          padding: const EdgeInsets.symmetric(vertical: 5),
          shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
        ),
        child: Text(
          '手写签字',
          style: TextStyle(fontSize: 12, color: Colors.white),
        ),
      ),
    );
  }
}


