12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import 'package:easy_localization/easy_localization.dart';
- import 'package:flowy_infra_ui/style_widget/text.dart';
- import 'package:flutter/material.dart';
- import 'package:app_flowy/generated/locale_keys.g.dart';
- import 'sizes.dart';
- class TrashHeaderDelegate extends SliverPersistentHeaderDelegate {
- TrashHeaderDelegate();
- @override
- Widget build(
- BuildContext context, double shrinkOffset, bool overlapsContent) {
- return TrashHeader();
- }
- @override
- double get maxExtent => TrashSizes.headerHeight;
- @override
- double get minExtent => TrashSizes.headerHeight;
- @override
- bool shouldRebuild(covariant SliverPersistentHeaderDelegate oldDelegate) {
- return false;
- }
- }
- class TrashHeaderItem {
- double width;
- String title;
- TrashHeaderItem({required this.width, required this.title});
- }
- class TrashHeader extends StatelessWidget {
- final List<TrashHeaderItem> items = [
- TrashHeaderItem(
- title: LocaleKeys.trash_pageHeader_fileName.tr(),
- width: TrashSizes.fileNameWidth),
- TrashHeaderItem(
- title: LocaleKeys.trash_pageHeader_lastModified.tr(),
- width: TrashSizes.lashModifyWidth),
- TrashHeaderItem(
- title: LocaleKeys.trash_pageHeader_created.tr(),
- width: TrashSizes.createTimeWidth),
- ];
- TrashHeader({Key? key}) : super(key: key);
- @override
- Widget build(BuildContext context) {
- final headerItems = List<Widget>.empty(growable: true);
- items.asMap().forEach((index, item) {
- headerItems.add(
- SizedBox(
- width: item.width,
- child: FlowyText(
- item.title,
- color: Theme.of(context).disabledColor,
- ),
- ),
- );
- });
- return Container(
- color: Theme.of(context).colorScheme.surface,
- child: Row(
- crossAxisAlignment: CrossAxisAlignment.stretch,
- children: [
- ...headerItems,
- ],
- ),
- );
- }
- }
|