Refactor codebase resolving warnings and remove self-package imports
This commit is contained in:
54
lib/view/pages/more/countdown/timer.dart
Normal file
54
lib/view/pages/more/countdown/timer.dart
Normal file
@ -0,0 +1,54 @@
|
||||
|
||||
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}" : ""}"),
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user