import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:tm_app/core/constants/assets.dart';
import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/core/utils/size_config.dart';

import '../pages/notification_screen.dart';

class NotificationCard extends StatelessWidget {
  const NotificationCard({required this.notification, super.key});
  final NotificationModel notification;

  @override
  Widget build(BuildContext context) {
    return Container(
      width: double.infinity,
      // height: 108.0.h(),
      margin: EdgeInsets.symmetric(horizontal: 24.0.w()),
      padding: EdgeInsets.symmetric(horizontal: 16.0.w(), vertical: 16.0.h()),
      decoration: BoxDecoration(
        color:
            notification.title == 'Tender Submitted'
                ? AppColors.orange10
                : notification.title == 'New Tender Invitation'
                ? AppColors.mainBlue.withValues(alpha: 0.03)
                : AppColors.green0,
        borderRadius: BorderRadius.circular(4),
        border: Border.all(
          color:
              notification.title == 'Tender Submitted'
                  ? AppColors.warningColor
                  : notification.title == 'New Tender Invitation'
                  ? AppColors.mainBlue.withValues(alpha: 0.15)
                  : AppColors.green20,
        ),
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Row(
            children: [
              SvgPicture.asset(
                notification.title == 'Tender Submitted'
                    ? AssetsManager.danger
                    : notification.title == 'New Tender Invitation'
                    ? AssetsManager.notification
                    : AssetsManager.tickCircle,
              ),
              SizedBox(width: 8.0.w()),
              Text(
                notification.title,
                style: TextStyle(
                  fontSize: 16.0.sp(),
                  fontWeight: FontWeight.w500,
                  color: AppColors.grey80,
                ),
              ),
            ],
          ),
          SizedBox(height: 8.0.h()),
          Padding(
            padding: EdgeInsetsDirectional.only(start: 28.0.w()),
            child: Text(
              notification.description,
              maxLines: 1,
              overflow: TextOverflow.ellipsis,
              textAlign: TextAlign.start,
              style: TextStyle(
                fontSize: 14.0.sp(),
                fontWeight: FontWeight.w400,
                color: AppColors.grey60,
              ),
            ),
          ),
          SizedBox(height: 8.0.h()),
          Padding(
            padding: EdgeInsetsDirectional.only(start: 28.0.w()),
            child: Row(
              children: [
                SvgPicture.asset(AssetsManager.calendar),
                SizedBox(width: 4.0.w()),
                Text(
                  notification.time,
                  style: TextStyle(
                    fontSize: 14.0.sp(),
                    color: AppColors.grey60,
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}
