68 lines
2.0 KiB
Dart
Raw Normal View History

import 'package:appflowy/generated/flowy_svgs.g.dart';
2021-10-14 14:34:22 +08:00
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
import 'package:flowy_infra_ui/style_widget/text.dart';
import 'package:flowy_infra_ui/widget/spacing.dart';
import 'package:appflowy_backend/protobuf/flowy-folder/trash.pb.dart';
2021-10-14 14:34:22 +08:00
import 'package:flutter/material.dart';
2021-11-16 21:38:39 +08:00
import 'package:intl/intl.dart';
import 'package:fixnum/fixnum.dart' as $fixnum;
2021-10-14 14:34:22 +08:00
import 'sizes.dart';
class TrashCell extends StatelessWidget {
const TrashCell({
super.key,
required this.object,
required this.onRestore,
required this.onDelete,
});
2021-10-14 14:34:22 +08:00
final VoidCallback onRestore;
final VoidCallback onDelete;
final TrashPB object;
2021-10-14 14:34:22 +08:00
@override
Widget build(BuildContext context) {
return Row(
children: [
SizedBox(
width: TrashSizes.fileNameWidth,
child: FlowyText(object.name),
),
SizedBox(
width: TrashSizes.lashModifyWidth,
child: FlowyText(dateFormatter(object.modifiedTime)),
),
SizedBox(
width: TrashSizes.createTimeWidth,
child: FlowyText(dateFormatter(object.createTime)),
),
2021-10-14 14:34:22 +08:00
const Spacer(),
FlowyIconButton(
iconColorOnHover: Theme.of(context).colorScheme.onSurface,
width: TrashSizes.actionIconWidth,
2021-10-14 14:34:22 +08:00
onPressed: onRestore,
iconPadding: const EdgeInsets.all(5),
icon: const FlowySvg(FlowySvgs.restore_s),
2021-10-14 14:34:22 +08:00
),
const HSpace(20),
FlowyIconButton(
iconColorOnHover: Theme.of(context).colorScheme.onSurface,
width: TrashSizes.actionIconWidth,
2021-10-14 14:34:22 +08:00
onPressed: onDelete,
iconPadding: const EdgeInsets.all(5),
icon: const FlowySvg(FlowySvgs.delete_s),
2021-10-14 14:34:22 +08:00
),
],
);
}
2021-11-16 21:38:39 +08:00
String dateFormatter($fixnum.Int64 inputTimestamps) {
final outputFormat = DateFormat('MM/dd/yyyy hh:mm a');
final date =
DateTime.fromMillisecondsSinceEpoch(inputTimestamps.toInt() * 1000);
final outputDate = outputFormat.format(date);
2021-11-16 21:38:39 +08:00
return outputDate;
}
2021-10-14 14:34:22 +08:00
}