import 'package:cached_network_image/cached_network_image.dart';
import 'package:intl/intl.dart';
import 'package:flutter/cupertino.dart';

String formatDate(DateTime date) {
  final dateFormat = DateFormat.yMd().add_jm();
  return dateFormat.format(date);
}

String formatDateSameWeek(DateTime date) {
  final dateFormat = DateFormat('EEEE, hh:mm a'); 
  return dateFormat.format(date);
}

String formatDateMessage(DateTime date) {
  final dateFormat =
      DateFormat('EEE. MMM. d ' 'yy' '  hh:mm a');
  return dateFormat.format(date);
}

bool isSameWeek(DateTime timestamp) =>
    DateTime.now().difference(timestamp).inDays < 7;

class CupertinoCircleAvatar extends StatelessWidget {
  final String url;
  final double size;
  const CupertinoCircleAvatar({Key key, this.url, this.size}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ClipRRect(
      borderRadius: BorderRadius.circular(size / 2),
      child: CachedNetworkImage(
          imageUrl: url,
          height: size,
          width: size,
          fit: BoxFit.cover,
          errorWidget: (context, url, error) { //TODO: this crash the app when getting 404 and in debug mode, see :https://github.com/Baseflow/flutter_cached_network_image/issues/504 
            return CachedNetworkImage(
                imageUrl:
                    "https://4.bp.blogspot.com/-Jx21kNqFSTU/UXemtqPhZCI/AAAAAAAAh74/BMGSzpU6F48/s1600/funny-cat-pictures-047-001.jpg");
          }),
    );
  }
}
