import 'package:flutter/material.dart';
import 'package:tacban/src/shared/utils/enums.dart';
import 'package:tacban/src/shared/widgets/buttons/simple_button.dart';
import 'package:tacban/src/shared/widgets/inputs/password_input.dart';
import 'package:tacban/src/shared/widgets/inputs/simple_input.dart';

class ComponentScreen extends StatefulWidget {
  static String path = '/app/componentes';
  const ComponentScreen({super.key});

  @override
  State<ComponentScreen> createState() => _ComponentScreenState();
}

class _ComponentScreenState extends State<ComponentScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        padding: const  EdgeInsets.symmetric(horizontal: 30),
        child: SingleChildScrollView(
          child: Column(
            children: [
              const SizedBox(height: 50),
              Row(
                children: [
                  Expanded(
                    flex: 1,
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.start,
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: [
                        Text(
                          'Buttons enabled',
                          style: TextStyle(
                            fontSize: 20
                          )
                        ),
                        SizedBox(height: 20),
                        ButtonWidget(
                          label: 'Primary lg',
                          onTap: (){},
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Secondary lg',
                          type: TypeButton.secondary,
                          onTap: (){},
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Cancel lg',
                          type: TypeButton.cancel,
                          onTap: (){},
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Primary md',
                          size: SizeButton.md,
                          onTap: (){},
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Secondary md',
                          size: SizeButton.md,
                          onTap: (){},
                          type: TypeButton.secondary,
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Cancel md',
                          size: SizeButton.md,
                          type: TypeButton.cancel,
                          onTap: (){},
                        ),
                      ],
                    ),
                  ),
                  SizedBox(width: 100),
                  Expanded(
                    flex: 1,
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.start,
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: const [
                        Text(
                          'Buttons Disabled',
                          style: TextStyle(
                            fontSize: 20
                          ),
                        ),
                        SizedBox(height: 20),
                        ButtonWidget(
                          label: 'Primary lg',
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Secondary lg',
                          type: TypeButton.secondary,
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Cancel lg',
                          type: TypeButton.cancel,
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Primary md',
                          size: SizeButton.md,
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Secondary md',
                          size: SizeButton.md,
                          type: TypeButton.secondary,
                        ),
                        SizedBox(height: 30),
                        ButtonWidget(
                          label: 'Cancel md',
                          size: SizeButton.md,
                          type: TypeButton.cancel,
                        ),
                      ],
                    ),
                  ),
                ],
              ),
              const SizedBox(height: 50),
              Row(
                children: [
                  Expanded(
                    flex: 1,
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.start,
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: [
                        Text(
                          'Forms',
                          style: TextStyle(
                            fontSize: 20
                          ),
                        ),
                        SizedBox(height: 20),
                        SimpleInput(
                          title: 'Simple Input lg',
                          hintText: 'Placeholder',
                          controller: null,
                          validator: true,
                        ),
                        SizedBox(height: 20),
                        PasswordInput(
                          title: 'Password Input lg',
                          hintText: 'Placeholder',
                          controller: null,
                          validator: true,
                        ),
                        SizedBox(height: 20),
                        SimpleInput(
                          title: 'Simple Input md',
                          hintText: 'Placeholder',
                          controller: null,
                          validator: true,
                        ),
                        SizedBox(height: 20),
                        PasswordInput(
                          title: 'Password Input md',
                          hintText: 'Placeholder',
                          controller: null,
                          validator: true,
                        ),
                      ],
                    ),
                  ),
                  SizedBox(width: 100),
                  const Expanded(
                    flex: 1,
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.start,
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: const [
                      ],
                    ),
                  ),
                ],
              ),
            ],
          ),
        ),
      )
    );
  }
}