import 'package:flutter/material.dart';

import 'animatedTime.dart';

class Timer extends StatefulWidget {
  final DateTime target;
  final String? author;
  final String label;
  const Timer({Key? key, required this.target, this.author, required this.label}) : super(key: key);

  @override
  State<Timer> createState() => _TimerState();
}

class _TimerState extends State<Timer> {
  late bool isLocal;

  @override
  void initState() {
    super.initState();
    isLocal = widget.author == null;
  }

  @override
  Widget build(BuildContext context) {
    return ListTile(
      leading: const Icon(Icons.timer),
      title: AnimatedTime(
        callback: () {
          if(widget.target.isBefore(DateTime.now())) return Duration.zero;
          return widget.target.difference(DateTime.now());
        },
      ),
      trailing: Row(
        mainAxisSize: MainAxisSize.min,
        children: [
          if(!isLocal) Row(
            children: [
              const Text("5"),
              IconButton(onPressed: () {

              }, icon: const Icon(Icons.thumb_up_outlined)),
            ],
          ),
          IconButton(onPressed: () {

          }, icon: const Icon(Icons.star_outline))
        ],
      ),
      subtitle: Text("${widget.label}${!isLocal ? "\ngeteilt von ${widget.author}" : ""}"),
    );
  }
}