TF-2949 Add Hide attendee button

This commit is contained in:
dab246
2024-07-26 18:23:16 +07:00
committed by Dat H. Pham
parent 47a140be62
commit dfa9fef124
2 changed files with 48 additions and 0 deletions
@@ -6,6 +6,7 @@ import 'package:jmap_dart_client/jmap/mail/calendar/properties/calendar_organize
import 'package:tmail_ui_user/features/email/presentation/extensions/list_attendee_extension.dart';
import 'package:tmail_ui_user/features/email/presentation/styles/event_attendee_detail_widget_styles.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/attendee_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/hide_all_attendees_button_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/organizer_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/see_all_attendees_button_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -77,6 +78,18 @@ class _EventAttendeeDetailWidgetState extends State<EventAttendeeDetailWidget> {
}
),
)
else if (widget.attendees.length > EventAttendeeDetailWidget.maxAttendeeDisplayed)
Padding(
padding: const EdgeInsets.only(top: EventAttendeeDetailWidgetStyles.fieldTopPadding),
child: HideAllAttendeesButtonWidget(
onTap: () {
setState(() {
_attendeesDisplayed = _splitAttendees(widget.attendees);
_isShowAllAttendee = false;
});
}
),
)
]
))
],
@@ -0,0 +1,35 @@
import 'package:flutter/cupertino.dart';
import 'package:tmail_ui_user/features/base/widget/material_text_button.dart';
import 'package:tmail_ui_user/features/email/presentation/styles/see_all_attendees_button_widget_styles.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class HideAllAttendeesButtonWidget extends StatelessWidget {
final VoidCallback onTap;
const HideAllAttendeesButtonWidget({
super.key,
required this.onTap
});
@override
Widget build(BuildContext context) {
return Transform(
transform: Matrix4.translationValues(SeeAllAttendeesButtonWidgetStyles.horizontalMargin, 0.0, 0.0),
child: MaterialTextButton(
label: AppLocalizations.of(context).hide,
onTap: onTap,
borderRadius: SeeAllAttendeesButtonWidgetStyles.borderRadius,
padding: const EdgeInsetsDirectional.symmetric(
horizontal: SeeAllAttendeesButtonWidgetStyles.horizontalPadding,
vertical: SeeAllAttendeesButtonWidgetStyles.verticalPadding
),
customStyle: const TextStyle(
fontSize: SeeAllAttendeesButtonWidgetStyles.textSize,
color: SeeAllAttendeesButtonWidgetStyles.textColor
),
),
);
}
}