55 lines
1.3 KiB
Dart

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}" : ""}"),
);
}
}