Skip to content

Commit 5d386e7

Browse files
committed
feat: add leave workspace button
1 parent 4e3c479 commit 5d386e7

File tree

2 files changed

+50
-60
lines changed

2 files changed

+50
-60
lines changed

frontend/appflowy_flutter/lib/mobile/presentation/setting/workspace/invite_members_screen.dart

Lines changed: 26 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,10 @@ class _InviteMemberPageState extends State<_InviteMemberPage> {
107107
myRole: state.myRole,
108108
),
109109
],
110-
if (state.myRole.isMember) const _LeaveWorkspaceButton(),
110+
if (state.myRole.isMember) ...[
111+
Spacer(),
112+
const _LeaveWorkspaceButton(),
113+
],
111114
const VSpace(48),
112115
],
113116
);
@@ -271,50 +274,35 @@ class _InviteMemberPageState extends State<_InviteMemberPage> {
271274
}
272275
}
273276

274-
void _inviteMember(BuildContext context) {
275-
final email = emailController.text;
276-
if (!isEmail(email)) {
277-
showToastNotification(
278-
type: ToastificationType.error,
279-
message: LocaleKeys.settings_appearance_members_emailInvalidError.tr(),
280-
);
281-
return;
282-
}
283-
context
284-
.read<WorkspaceMemberBloc>()
285-
.add(WorkspaceMemberEvent.inviteWorkspaceMemberByEmail(email));
286-
// clear the email field after inviting
287-
emailController.clear();
288-
}
277+
// void _inviteMember(BuildContext context) {
278+
// final email = emailController.text;
279+
// if (!isEmail(email)) {
280+
// showToastNotification(
281+
// type: ToastificationType.error,
282+
// message: LocaleKeys.settings_appearance_members_emailInvalidError.tr(),
283+
// );
284+
// return;
285+
// }
286+
// context
287+
// .read<WorkspaceMemberBloc>()
288+
// .add(WorkspaceMemberEvent.inviteWorkspaceMemberByEmail(email));
289+
// // clear the email field after inviting
290+
// emailController.clear();
291+
// }
289292
}
290293

291294
class _LeaveWorkspaceButton extends StatelessWidget {
292295
const _LeaveWorkspaceButton();
293296

294297
@override
295298
Widget build(BuildContext context) {
296-
return Container(
297-
width: double.infinity,
298-
margin: const EdgeInsets.symmetric(horizontal: 16),
299-
child: ElevatedButton(
300-
style: ElevatedButton.styleFrom(
301-
backgroundColor: Colors.transparent,
302-
foregroundColor: Theme.of(context).colorScheme.error,
303-
shape: RoundedRectangleBorder(
304-
borderRadius: BorderRadius.circular(4),
305-
side: BorderSide(
306-
color: Theme.of(context).colorScheme.error,
307-
width: 0.5,
308-
),
309-
),
310-
),
311-
onPressed: () => _leaveWorkspace(context),
312-
child: FlowyText(
313-
LocaleKeys.workspace_leaveCurrentWorkspace.tr(),
314-
fontSize: 14.0,
315-
color: Theme.of(context).colorScheme.error,
316-
fontWeight: FontWeight.w500,
317-
),
299+
return Padding(
300+
padding: const EdgeInsets.symmetric(horizontal: 16),
301+
child: AFOutlinedTextButton.destructive(
302+
alignment: Alignment.center,
303+
text: LocaleKeys.workspace_leaveCurrentWorkspace.tr(),
304+
onTap: () => _leaveWorkspace(context),
305+
size: AFButtonSize.l,
318306
),
319307
);
320308
}

frontend/appflowy_flutter/lib/mobile/presentation/setting/workspace/member_list.dart

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,33 @@ class MobileMemberList extends StatelessWidget {
2929
@override
3030
Widget build(BuildContext context) {
3131
final theme = AppFlowyTheme.of(context);
32-
return SlidableAutoCloseBehavior(
33-
child: SeparatedColumn(
34-
crossAxisAlignment: CrossAxisAlignment.start,
35-
separatorBuilder: () => SizedBox.shrink(),
36-
children: [
37-
Padding(
38-
padding: const EdgeInsets.symmetric(
39-
horizontal: 16.0,
40-
vertical: 8.0,
41-
),
42-
child: Text(
43-
'Joined',
44-
style: theme.textStyle.heading4.enhanced(
45-
color: theme.textColorScheme.primary,
32+
return SingleChildScrollView(
33+
child: SlidableAutoCloseBehavior(
34+
child: SeparatedColumn(
35+
crossAxisAlignment: CrossAxisAlignment.start,
36+
separatorBuilder: () => SizedBox.shrink(),
37+
children: [
38+
Padding(
39+
padding: const EdgeInsets.symmetric(
40+
horizontal: 16.0,
41+
vertical: 8.0,
42+
),
43+
child: Text(
44+
'Joined',
45+
style: theme.textStyle.heading4.enhanced(
46+
color: theme.textColorScheme.primary,
47+
),
4648
),
4749
),
48-
),
49-
...members.map(
50-
(member) => _MemberItem(
51-
member: member,
52-
myRole: myRole,
53-
userProfile: userProfile,
50+
...members.map(
51+
(member) => _MemberItem(
52+
member: member,
53+
myRole: myRole,
54+
userProfile: userProfile,
55+
),
5456
),
55-
),
56-
],
57+
],
58+
),
5759
),
5860
);
5961
}

0 commit comments

Comments
 (0)