UI: Add basic design for managing participant
This commit is contained in:
parent
e49303519e
commit
c2a7d1bbf6
117
lib/ui/sharing/manage_album_participant.dart
Normal file
117
lib/ui/sharing/manage_album_participant.dart
Normal 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");
|
||||
},
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue