import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:intl/intl.dart'; import 'package:job_app/config/palette.dart'; import 'package:job_app/models/meeting.dart'; import 'package:job_app/views/interview.dart'; class NotificationCard extends StatefulWidget { final MeetingModel passedMeeting; NotificationCard(this.passedMeeting); @override _NotificationCardState createState() => _NotificationCardState(); } class _NotificationCardState extends State { MeetingModel meeting; String imageUrl = "https://server.thejob.net"; final formatDate= new DateFormat('dd/MM/yyyy'); final formatTime = new DateFormat('hh:mm a'); DateTime dateDate ; DateTime currentDate = DateTime.now(); String date; String time; String currentDateString; bool isHighlighted=false; @override Widget build(BuildContext context) { meeting = widget.passedMeeting; dateDate = DateTime.fromMicrosecondsSinceEpoch(meeting.date*1000); date = formatDate.format(dateDate); time = formatTime.format(dateDate); currentDateString=formatDate.format(currentDate); if(currentDateString == date){ isHighlighted=true; }else{ isHighlighted=false; } return Container( margin: EdgeInsets.fromLTRB(0, 5, 0, 20), height: 75, width: 340, decoration: BoxDecoration( borderRadius: BorderRadius.circular(11), color:isHighlighted? Color.fromRGBO(0, 87, 146, 0.12): Color.fromRGBO(112, 112, 112, 0.15)), child: Padding( padding: const EdgeInsets.fromLTRB(10, 10, 10, 10), child: Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ Container( height: 44, width: 55, decoration: BoxDecoration( border: Border.all(color: Colors.grey.withOpacity(0.1)), borderRadius: BorderRadius.circular(15), image: DecorationImage( fit: BoxFit.fill, image: NetworkImage(imageUrl+meeting.company.image.url), ), ), ), Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( meeting.company.name, style: TextStyle( fontFamily: 'Montserrat', ), ), SizedBox( height: 8, ), Text( isHighlighted? "Join your interview now":"Invites you for an interview", style: TextStyle( fontFamily: 'MontserratRegular', fontSize: 9 ), ), SizedBox( height: 3, ), Row( children: [ SvgPicture.asset("assets/icons/work_time.svg"), SizedBox( width: 5, ), Text( "$date / $time" , style: TextStyle( fontFamily: 'MontserratRegular', fontSize: 9, ), ), ], ), ], ), Column( mainAxisAlignment: MainAxisAlignment.end, children: [ Container( height:26, width: 75, decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), color: Palette.primary, ), child: TextButton(onPressed: (){ Navigator.push( context, MaterialPageRoute(builder: (context) => Interview(passedMeeting: meeting,)), ); }, child: Text(isHighlighted?"Join":"See details",style: TextStyle( fontFamily: 'MontserratSemiBold', fontSize: 9, color: Colors.white, ),)), ) ], ), ], ), ), ); } }