UI: Add basic design for managing participant

This commit is contained in:
Neeraj Gupta 2022-11-21 07:43:13 +05:30
parent e49303519e
commit c2a7d1bbf6
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1

View file

@ -0,0 +1,117 @@
import 'package:flutter/material.dart';
import 'package:photos/models/collection.dart';
import 'package:photos/theme/colors.dart';
import 'package:photos/theme/ente_theme.dart';
import 'package:photos/ui/components/captioned_text_widget.dart';
import 'package:photos/ui/components/divider_widget.dart';
import 'package:photos/ui/components/menu_item_widget.dart';
import 'package:photos/ui/components/menu_section_description_widget.dart';
import 'package:photos/ui/components/menu_section_title.dart';
import 'package:photos/ui/components/title_bar_title_widget.dart';
import 'package:photos/utils/toast_util.dart';
class ManageIndividualParticipant extends StatefulWidget {
final Collection collection;
final User user;
const ManageIndividualParticipant({
super.key,
required this.collection,
required this.user,
});
@override
State<StatefulWidget> createState() => _ManageIndividualParticipantState();
}
class _ManageIndividualParticipantState
extends State<ManageIndividualParticipant> {
@override
Widget build(BuildContext context) {
final colorScheme = getEnteColorScheme(context);
final textTheme = getEnteTextTheme(context);
return Scaffold(
appBar: AppBar(),
body: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const SizedBox(
height: 12,
),
const TitleBarTitleWidget(
title: "Manage",
),
Text(
widget.user.email.toString().trim(),
textAlign: TextAlign.left,
style:
textTheme.small.copyWith(color: colorScheme.textMuted),
),
],
),
),
const SizedBox(height: 0),
const MenuSectionTitle(title: "Added as"),
MenuItemWidget(
captionedTextWidget: const CaptionedTextWidget(
title: "Collaborator",
),
leadingIcon: Icons.edit,
menuItemColor: getEnteColorScheme(context).fillFaint,
pressedColor: getEnteColorScheme(context).fillFaint,
trailingIcon: widget.user.isCollaborator ? Icons.check : null,
onTap: () async {
showShortToast(context, "yet to implement");
},
isBottomBorderRadiusRemoved: true,
),
DividerWidget(
dividerType: DividerType.menu,
bgColor: getEnteColorScheme(context).blurStrokeFaint,
),
MenuItemWidget(
captionedTextWidget: CaptionedTextWidget(
title: " Viewer",
),
leadingIcon: Icons.photo,
menuItemColor: getEnteColorScheme(context).fillFaint,
pressedColor: getEnteColorScheme(context).fillFaint,
trailingIcon: widget.user.isViewer ? Icons.check : null,
onTap: () async {
showShortToast(context, "yet to implement");
},
isTopBorderRadiusRemoved: true,
),
const MenuSectionDescriptionWidget(
content:
"Collaborators can add photos and videos to the shared album.",
),
const SizedBox(height: 24),
const MenuSectionTitle(title: "Remove participant"),
MenuItemWidget(
captionedTextWidget: const CaptionedTextWidget(
title: "Remove",
textColor: warning500,
makeTextBold: true,
),
leadingIcon: Icons.not_interested_outlined,
leadingIconColor: warning500,
menuItemColor: getEnteColorScheme(context).fillFaint,
pressedColor: getEnteColorScheme(context).fillFaint,
onTap: () async {
showShortToast(context, "yet to implement");
},
)
],
),
),
);
}
}