mirror of
				https://github.com/AppFlowy-IO/AppFlowy.git
				synced 2025-10-31 10:03:18 +00:00 
			
		
		
		
	 61fd608200
			
		
	
	
		61fd608200
		
			
		
	
	
	
	
		
			
			* refactor: rename structs * chore: read database id from view * chore: fix open database error because of create a database view for database id * chore: fix tests * chore: rename datbase id to view id in flutter * refactor: move grid and board to database view folder * refactor: rename functions * refactor: move calender to datbase view folder * refactor: rename app_flowy to appflowy_flutter * chore: reanming * chore: fix freeze gen * chore: remove todos * refactor: view process events * chore: add link database test * chore: just open view if there is opened database
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:easy_localization/easy_localization.dart';
 | |
| import 'package:flowy_infra_ui/style_widget/text.dart';
 | |
| import 'package:flutter/material.dart';
 | |
| import 'package:appflowy/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,
 | |
|         ],
 | |
|       ),
 | |
|     );
 | |
|   }
 | |
| }
 |