import 'package:electronic_assistant/base/base_page.dart';
import 'package:electronic_assistant/resource/assets.gen.dart';
import 'package:electronic_assistant/resource/colors.gen.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:get/get_core/src/get_main.dart';

class FileSearchPage extends BasePage {
  const FileSearchPage({super.key});

  @override
  Widget buildBody(BuildContext context) {
    return Column(children: [
      Row(
        children: [
          Expanded(
              child: Padding(
                padding: EdgeInsets.only(left: 12.w),
                child: CupertinoSearchTextField(
                  placeholder: '搜索所有文件标题 / 内容',
                  prefixIcon:
                  ImageIcon(Assets.images.iconSearch.provider(), size: 20.w),
                  backgroundColor: const Color(0xFFF6F6F6),
                  style:
                  TextStyle(fontSize: 14.w, color: ColorName.primaryTextColor),
                  placeholderStyle:
                  TextStyle(fontSize: 14.w, color: const Color(0xFFAFAFAF)),
                ),
              )),
          TextButton(
              onPressed: () {
                Get.back();
              },
              child: Text('取消',
                  style: TextStyle(
                      fontSize: 14.w, color: ColorName.secondaryTextColor))),
        ],
      ),
      Padding(
        padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 12.w),
        child: Row(children: [
          Text(
            "搜索结果",
            style: TextStyle(
                fontSize: 15.w,
                color: ColorName.primaryTextColor,
                fontWeight: FontWeight.bold),
          ),
          Expanded(
              child: Row(
                mainAxisAlignment: MainAxisAlignment.end,
                children: [
                  Text("更新时间排序",
                      style: TextStyle(
                          fontSize: 14.w,
                          fontWeight: FontWeight.bold,
                          color: ColorName.primaryTextColor)),
                  Image(
                      image: Assets.images.iconArrowDown.provider(),
                      width: 16.w,
                      height: 16.w)
                ],
              ))
        ]),
      ),
      Visibility(
        visible: true,
        child: Expanded(
            child: Stack(
              fit: StackFit.expand,
              children: [
                Padding(
                  padding: EdgeInsets.symmetric(horizontal: 12.w),
                  child: CustomScrollView(
                    slivers: [
                      SliverToBoxAdapter(
                          child: Text("文件夹",
                              style: TextStyle(
                                  fontSize: 14.w,
                                  color: ColorName.secondaryTextColor))),
                      SliverAnimatedList(
                        itemBuilder: _dirItemBuilder,
                        initialItemCount: 5,
                      ),
                      SliverToBoxAdapter(
                          child: Container(
                            margin: EdgeInsets.only(top: 8.w),
                            child: Text("谈话",
                                style: TextStyle(
                                    fontSize: 14.w,
                                    color: ColorName.secondaryTextColor)),
                          )),
                      SliverAnimatedList(
                        itemBuilder: _fileItemBuilder,
                        initialItemCount: 5,
                      ),
                    ],
                  ),
                ),
                Visibility(
                  visible: false,
                  child: Stack(
                    children: [
                      Container(
                        color: ColorName.black55,
                      ),
                      Container(
                        // color: ColorName.white,
                        width: double.infinity,
                        decoration: BoxDecoration(
                            color: ColorName.white,
                            borderRadius: BorderRadius.only(
                                bottomLeft: Radius.circular(16.w),
                                bottomRight: Radius.circular(16.w))),
                        child: Padding(
                          padding:
                          EdgeInsets.symmetric(horizontal: 12.w, vertical: 12
                              .w),
                          child: IntrinsicHeight(
                            child: Column(
                              children: [
                                Container(
                                  margin: EdgeInsets.only(bottom: 22.w),
                                  child: Row(
                                    children: [
                                      const Expanded(
                                          child: Text('更新时间排序',
                                              style: TextStyle(
                                                  fontSize: 14,
                                                  fontWeight: FontWeight.bold,
                                                  color: ColorName
                                                      .colorPrimary))),
                                      ImageIcon(
                                          Assets.images.iconFilesOrderSelected
                                              .provider(),
                                          size: 20.w,
                                          color: ColorName.colorPrimary)
                                    ],
                                  ),
                                ),
                                Container(
                                  margin: EdgeInsets.only(bottom: 6.w),
                                  child: Row(
                                    children: [
                                      const Expanded(
                                          child: Text('创建时间排序')),
                                      ImageIcon(
                                          Assets.images.iconFilesOrderSelected
                                              .provider(),
                                          size: 20.w)
                                    ],
                                  ),
                                )
                              ],
                            ),
                          ),
                        ),
                      )
                    ],
                  ),
                )
              ],
            )),
      )
    ]);
  }

  @override
  bool immersive() {
    return false;
  }

  Widget _dirItemBuilder(BuildContext context, int index,
      Animation<double> animation) {
    return Padding(
      padding: EdgeInsets.symmetric(vertical: 12.w),
      child: Row(
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          Image(
            image: Assets.images.iconFilesDir.provider(),
            width: 32.w,
            height: 32.w,
          ),
          Expanded(
            child: Container(
              margin: EdgeInsets.only(left: 8.w),
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Text('文件夹 $index',
                      maxLines: 1,
                      style: TextStyle(
                          fontSize: 15.w,
                          color: ColorName.primaryTextColor,
                          fontWeight: FontWeight.bold,
                          overflow: TextOverflow.ellipsis)),
                  Text('日期 $index',
                      maxLines: 1,
                      style: TextStyle(
                          fontSize: 12.w,
                          color: ColorName.secondaryTextColor,
                          overflow: TextOverflow.ellipsis)),
                ],
              ),
            ),
          )
        ],
      ),
    );
  }

  Widget _fileItemBuilder(BuildContext context, int index,
      Animation<double> animation) {
    return Padding(
      padding: EdgeInsets.symmetric(vertical: 12.w),
      child: Row(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Image(
            image: Assets.images.iconFilesFile.provider(),
            width: 32.w,
            height: 32.w,
          ),
          Expanded(
            child: Container(
              margin: EdgeInsets.only(left: 8.w),
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Text('文件夹 $index',
                      maxLines: 1,
                      style: TextStyle(
                          fontSize: 15.w,
                          color: ColorName.primaryTextColor,
                          fontWeight: FontWeight.bold,
                          overflow: TextOverflow.ellipsis)),
                  Text('缩略 $index',
                      maxLines: 1,
                      style: TextStyle(
                          fontSize: 12.w,
                          color: ColorName.secondaryTextColor,
                          overflow: TextOverflow.ellipsis)),
                  Container(
                    margin: EdgeInsets.only(top: 6.w),
                    child: Row(
                      children: [
                        Text('1m12s',
                            maxLines: 1,
                            style: TextStyle(
                                fontSize: 12.w, color: ColorName
                                .tertiaryTextColor)),
                        Text(' | ',
                            maxLines: 1,
                            style: TextStyle(
                                fontSize: 12.w, color: ColorName
                                .tertiaryTextColor)),
                        Text('2024-04-15 10:04',
                            maxLines: 1,
                            style: TextStyle(
                                fontSize: 12.w, color: ColorName
                                .tertiaryTextColor)),
                      ],
                    ),
                  )
                ],
              ),
            ),
          )
        ],
      ),
    );
  }
}