import 'package:flutter/material.dart';

///登陆Box
class LogoBox extends StatelessWidget {
  const LogoBox({super.key});

  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.only(bottom: 40),
      child: Column(
        children: [
          Image.asset(
            "assets/image/logo.png",
            width: 43,
          ),
          Text(
            "FoodCura",
            style: Theme.of(context).textTheme.titleSmall,
          ),
        ],
      ),
    );
  }
}

///头部文案
class PageHeader extends StatelessWidget {
  const PageHeader({super.key});

  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.only(bottom: 30),
      child: Column(
        children: [
          Text(
            "Create an account",
            style: TextStyle(fontWeight: FontWeight.w700),
          ),
          Text(
            "Use your email to get started",
            style: Theme.of(context).textTheme.bodySmall,
          ),
        ],
      ),
    );
  }
}

///输入框
class InputBox extends StatelessWidget {
  final bool obscureText;
  final String hintText;
  final TextEditingController controller;
  final Widget? suffix;

  const InputBox({
    super.key,
    this.obscureText = false,
    required this.hintText,
    required this.controller,
    this.suffix,
  });

  @override
  Widget build(BuildContext context) {
    //边框
    var inputBorder = OutlineInputBorder(
      borderRadius: BorderRadius.circular(10),
      borderSide: BorderSide(
        color: Theme.of(context).colorScheme.surfaceContainer,
      ),
    );
    return TextField(
      controller: controller,
      maxLength: 100,
      obscureText: obscureText,
      style: Theme.of(context).textTheme.bodyMedium,
      decoration: InputDecoration(
        hintText: hintText,
        hintStyle: Theme.of(context).textTheme.labelMedium,
        counterText: '',
        border: inputBorder,
        enabledBorder: inputBorder,
        suffix: suffix,
        suffixIconConstraints: BoxConstraints(
          minWidth: 0,
          minHeight: 0,
        ),
      ),
    );
  }
}

///分割线
class LoginDivider extends StatelessWidget {
  const LoginDivider({super.key});

  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.only(top: 20, bottom: 20),
      child: Row(
        spacing: 8,
        children: [
          Expanded(
            child: Container(
              height: 1,
              color: Theme.of(context).colorScheme.surfaceContainer,
            ),
          ),
          Text(
            "or",
            style: Theme.of(context).textTheme.labelMedium,
          ),
          Expanded(
            child: Container(
              height: 1,
              color: Theme.of(context).colorScheme.surfaceContainer,
            ),
          ),
        ],
      ),
    );
  }
}

///其他登陆按钮
class OtherButton extends StatelessWidget {
  final Function() onTap;
  final String title;
  final String icon;

  const OtherButton({
    super.key,
    required this.onTap,
    required this.title,
    required this.icon,
  });

  @override
  Widget build(BuildContext context) {
    return InkWell(
      onTap: onTap,
      child: Container(
        padding: EdgeInsets.all(15),
        decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(10),
          color: Theme.of(context).colorScheme.surfaceContainer,
        ),
        child: Row(
          spacing: 10,
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Image.asset(icon, width: 20),
            Text(
              title,
              style: Theme.of(context).textTheme.bodySmall,
            ),
          ],
        ),
      ),
    );
  }
}
