TF-119 Filter messages with unread, attachments, starred

This commit is contained in:
dab246
2022-02-11 14:02:06 +07:00
committed by Dat H. Pham
parent c22bc94052
commit ca69bee4cd
22 changed files with 447 additions and 34 deletions
@@ -0,0 +1,29 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_svg/flutter_svg.dart';
typedef OnCupertinoActionSheetActionClick<T> = void Function(T data);
abstract class CupertinoActionSheetActionBuilder<T> {
@protected final Key key;
@protected final SvgPicture actionIcon;
@protected final String actionName;
@protected OnCupertinoActionSheetActionClick<T>? onCupertinoActionSheetActionClick;
CupertinoActionSheetActionBuilder(
this.key,
this.actionIcon,
this.actionName
);
void onActionClick(OnCupertinoActionSheetActionClick<T> onCupertinoActionSheetActionClick) {
this.onCupertinoActionSheetActionClick = onCupertinoActionSheetActionClick;
}
TextStyle actionTextStyle() {
return TextStyle(fontSize: 17, color: AppColor.colorNameEmail);
}
Widget build();
}
@@ -0,0 +1,44 @@
import 'package:core/core.dart';
import 'package:flutter/cupertino.dart';
class CupertinoActionSheetBuilder {
final BuildContext _context;
final List<Widget> _actionTiles = [];
Widget? _titleWidget;
Widget? _messageWidget;
Widget? _cancelWidget;
CupertinoActionSheetBuilder(this._context);
void title(Widget? titleWidget) {
_titleWidget = titleWidget;
}
void message(Widget? messageWidget) {
_messageWidget = messageWidget;
}
void addCancelButton(Widget? cancelWidget) {
_cancelWidget = cancelWidget;
}
void addTiles(List<Widget> tiles) {
_actionTiles.addAll(tiles);
}
void build() {
showCupertinoModalPopup(
context: _context,
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
builder: (context) => CupertinoActionSheet(
title: _titleWidget,
message: _messageWidget,
actions: _actionTiles,
cancelButton: _cancelWidget,
)
);
}
}