import 'package:flutter/material.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/device/asset.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/views/widgets/item_views/info_header_widget.dart';
import 'package:test_sa/views/widgets/item_views/info_text_widget.dart';

class AssetDetailBottomSheet extends StatelessWidget {
  Asset? asset;

  AssetDetailBottomSheet(this.asset, {Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.only(
        bottom: MediaQuery.of(context).viewInsets.bottom + MediaQuery.of(context).padding.bottom,
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        mainAxisSize: MainAxisSize.min,
        children: [
          // (asset?.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-").heading5(context).custom(color: AppColor.textStyleColor(context)),
          InfoHeader16Widget(asset?.modelDefinition?.assetName?.cleanupWhitespace.capitalizeFirstOfEach ?? "-"),
          16.height,
          AspectRatio(
            aspectRatio: 358 / 136,
            child: Container(
              width: 95,
              height: 95,
              decoration: ShapeDecoration(
                  color: AppColor.neutral30,
                  shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.circular(10),
                  ),
                  image: DecorationImage(
                    fit: BoxFit.cover,
                    image: NetworkImage(asset?.assetPhoto != null ? URLs.getFileUrl(asset!.assetPhoto)! : "https://www.lasteelcraft.com/images/no-image-available.png"),
                  )),
            ),
          ),
          16.height,
          Column(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Row(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      InfoTextWidget(
                        label: context.translation.assetNo,
                        value: asset!.assetNumber,
                        showEmptyValue: true,
                      ),
                      InfoTextWidget(
                        label: context.translation.modelName,
                        value: asset!.modelDefinition?.modelName,
                        showEmptyValue: true,
                      ),
                      InfoTextWidget(
                        label: context.translation.supplier,
                        value: asset!.supplier?.suppliername?.cleanupWhitespace.capitalizeFirstOfEach,
                        showEmptyValue: true,
                      ),
                      InfoTextWidget(
                        label: context.translation.manufacture,
                        value: asset!.modelDefinition?.manufacturerName?.cleanupWhitespace.capitalizeFirstOfEach,
                        showEmptyValue: true,
                      ),
                    ],
                  ).expanded,
                  8.width,
                  Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      InfoTextWidget(
                        label: context.translation.snNo,
                        value: asset!.assetSerialNo,
                        showEmptyValue: true,
                      ),
                      InfoTextWidget(
                        label: context.translation.site,
                        value: asset?.site?.custName?.cleanupWhitespace.capitalizeFirstOfEach,
                        showEmptyValue: true,
                      ),
                      InfoTextWidget(
                        label: context.translation.building,
                        value: asset?.building?.name?.cleanupWhitespace.capitalizeFirstOfEach,
                        showEmptyValue: true,
                      ),
                      InfoTextWidget(
                        label: context.translation.floor,
                        value: asset?.floor?.name?.cleanupWhitespace.capitalizeFirstOfEach,
                        showEmptyValue: true,
                      ),
                      InfoTextWidget(
                        label: context.translation.md,
                        value: asset?.department?.departmentName?.cleanupWhitespace.capitalizeFirstOfEach,
                        showEmptyValue: true,
                      ),
                      InfoTextWidget(
                        label: context.translation.room,
                        value: asset?.room?.name,
                        showEmptyValue: true,
                      ),
                    ],
                  ).expanded,
                ],
              ),
              8.height,
              if ((asset?.modelDefinition?.assetDescription ?? "").isNotEmpty) ...[
                const Divider().defaultStyle(context),
                InfoTextWidget(label: asset!.modelDefinition!.assetDescription!, isMsg: true, showEmptyValue: true),
              ]
            ],
          )
        ],
      ).paddingAll(16),
    );
  }
}
