import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
import 'package:syncrow_app/features/app_layout/model/space_model.dart';
import 'package:syncrow_app/features/menu/view/widgets/manage_home/room_screen.dart';
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart';
import 'package:syncrow_app/utils/context_extension.dart';
import 'package:syncrow_app/utils/helpers/custom_page_route.dart';
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';

class HomeSettingsView extends StatelessWidget {
  const HomeSettingsView({super.key, this.space});

  final SpaceModel? space;
  @override
  Widget build(BuildContext context) {
    return DefaultScaffold(
      title: 'Home Settings',
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          //Home Info
          DefaultContainer(
            padding: const EdgeInsets.symmetric(
              horizontal: 25,
              vertical: 10,
            ),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              mainAxisSize: MainAxisSize.min,
              children: [
                Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: [
                    const BodyMedium(text: 'Name '),
                    Flexible(
                      child: TextField(
                        textAlign: TextAlign.end,
                        readOnly: true,
                        decoration: InputDecoration(
                          hintText: space?.name ?? 'Enter Name',
                          hintStyle: context.bodyMedium.copyWith(color: Colors.grey),
                          border: InputBorder.none,
                        ),
                      ),
                    ),
                  ],
                ),
                //Divider
                Container(
                  margin: const EdgeInsets.only(bottom: 10),
                  height: 1,
                  color: ColorsManager.greyColor,
                ),
                GestureDetector(
                  onTap: () {
                    Navigator.of(context).push(CustomPageRoute(
                        builder: (context) => RoomsView(
                              unit: space!,
                            )));
                  },
                  child: Container(
                    width: MediaQuery.sizeOf(context).width,
                    padding: const EdgeInsets.all(4),
                    child: const Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: [
                        BodyMedium(text: 'Rooms'),
                        Icon(
                          Icons.arrow_forward_ios,
                          color: ColorsManager.greyColor,
                          size: 15,
                        )
                      ],
                    ),
                  ),
                ),
                //Divider
                // Container(
                //   height: 1,
                //   margin: const EdgeInsets.only(top: 10),
                //   color: ColorsManager.greyColor,
                // ),
                // Row(
                //   mainAxisAlignment: MainAxisAlignment.spaceBetween,
                //   children: [
                //     const BodyMedium(text: 'Location'),
                //     Flexible(
                //       child: TextField(
                //         textAlign: TextAlign.end,
                //         decoration: InputDecoration(
                //           hintText: 'Set',
                //           hintStyle: context.bodyMedium.copyWith(color: Colors.grey),
                //           border: InputBorder.none,
                //         ),
                //       ),
                //     ),
                //   ],
                // ),
                //Divider
                Container(
                  margin: const EdgeInsets.symmetric(vertical: 10),
                  height: 1,
                  color: ColorsManager.greyColor,
                ),
                Container(
                  width: MediaQuery.sizeOf(context).width,
                  padding: const EdgeInsets.only(bottom: 10),
                  child: GestureDetector(
                    onTap: () async {
                      await HomeCubit.getInstance().generateInvitation(space!);
                    },
                    child: const Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: [
                        BodyMedium(text: 'Invite a member'),
                        Icon(
                          Icons.arrow_forward_ios,
                          color: ColorsManager.greyColor,
                          size: 15,
                        )
                      ],
                    ),
                  ),
                ),
              ],
            ),
          ),
          //Members Info
          const SizedBox(
            height: 10,
          ),
          //TODO connect the members to this GridView
          // const BodySmall(
          //   text: "Members",
          //   fontWeight: FontWeight.bold,
          // ),
          // GridView.builder(
          //   shrinkWrap: true,
          //   gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
          //     crossAxisCount: 2,
          //     crossAxisSpacing: 10,
          //   ),
          //   itemCount: 2,
          //   itemBuilder: (context, index) => Stack(
          //     alignment: Alignment.topCenter,
          //     children: [
          //       DefaultContainer(
          //         margin: const EdgeInsets.only(top: 20),
          //         padding: const EdgeInsets.symmetric(vertical: 15, horizontal: 40),
          //         child: Column(
          //           mainAxisSize: MainAxisSize.min,
          //           children: [
          //             const SizedBox(
          //               height: 50,
          //             ),
          //             BodyMedium(
          //               text: 'Member ${index + 1}',
          //               fontWeight: FontWeight.bold,
          //             ),
          //             const SizedBox(height: 3),
          //             const BodySmall(
          //               text: 'Syncrow Account',
          //               textAlign: TextAlign.center,
          //             ),
          //           ],
          //         ),
          //       ),
          //       const SizedBox.square(
          //         dimension: 80,
          //         child: CircleAvatar(
          //           backgroundColor: Colors.white,
          //           child: SizedBox.square(
          //             dimension: 77,
          //             child: CircleAvatar(
          //               backgroundColor: ColorsManager.greyColor,
          //               child: Icon(Icons.person),
          //             ),
          //           ),
          //         ),
          //       )
          //     ],
          //   ),
          // ),
          // const Spacer(),
          // InkWell(
          //   onTap: () {},
          //   child: Row(
          //     children: [
          //       Expanded(
          //         child: DefaultContainer(
          //           child: Center(
          //             child: BodyLarge(
          //               text: 'Leave Home',
          //               style: context.bodyLarge.copyWith(
          //                 color: Colors.red,
          //               ),
          //             ),
          //           ),
          //         ),
          //       ),
          //     ],
          //   ),
          // )
        ],
      ),
    );
  }
}
