TF-119 Filter messages with unread, attachments, starred
This commit is contained in:
@@ -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,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user