|
@@ -1,5 +1,6 @@
|
|
|
import 'package:app_flowy/startup/startup.dart';
|
|
|
import 'package:app_flowy/workspace/application/menu/menu_user_bloc.dart';
|
|
|
+import 'package:app_flowy/workspace/presentation/settings/settings_dialog.dart';
|
|
|
import 'package:flowy_infra/size.dart';
|
|
|
import 'package:flowy_infra/theme.dart';
|
|
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
|
@@ -17,7 +18,6 @@ class MenuUser extends StatelessWidget {
|
|
|
|
|
|
@override
|
|
|
Widget build(BuildContext context) {
|
|
|
- final theme = context.watch<AppTheme>();
|
|
|
return BlocProvider<MenuUserBloc>(
|
|
|
create: (context) => getIt<MenuUserBloc>(param1: user)..add(const MenuUserEvent.initial()),
|
|
|
child: BlocBuilder<MenuUserBloc, MenuUserState>(
|
|
@@ -26,14 +26,12 @@ class MenuUser extends StatelessWidget {
|
|
|
_renderAvatar(context),
|
|
|
const HSpace(10),
|
|
|
_renderUserName(context),
|
|
|
- const HSpace(80),
|
|
|
- (theme.isDark ? _renderLightMode(context) : _renderDarkMode(context)),
|
|
|
-
|
|
|
+ const Spacer(),
|
|
|
+ (_renderSettingsButton(context)),
|
|
|
//ToDo: when the user is allowed to create another workspace,
|
|
|
//we get the below block back
|
|
|
//_renderDropButton(context),
|
|
|
],
|
|
|
- mainAxisAlignment: MainAxisAlignment.start,
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
),
|
|
|
),
|
|
@@ -59,40 +57,28 @@ class MenuUser extends StatelessWidget {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- Widget _renderThemeToggle(BuildContext context) {
|
|
|
- final theme = context.watch<AppTheme>();
|
|
|
- return CircleAvatar(
|
|
|
- backgroundColor: theme.surface,
|
|
|
- child: IconButton(
|
|
|
- icon: Icon(theme.isDark ? Icons.dark_mode : Icons.light_mode),
|
|
|
- color: (theme.iconColor),
|
|
|
- onPressed: () {
|
|
|
- context.read<ThemeModel>().swapTheme();
|
|
|
- }),
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- Widget _renderDarkMode(BuildContext context) {
|
|
|
- return Tooltip(
|
|
|
- message: LocaleKeys.tooltip_darkMode.tr(),
|
|
|
- child: _renderThemeToggle(context),
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- Widget _renderLightMode(BuildContext context) {
|
|
|
- return Tooltip(
|
|
|
- message: LocaleKeys.tooltip_lightMode.tr(),
|
|
|
- child: _renderThemeToggle(context),
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
Widget _renderUserName(BuildContext context) {
|
|
|
String name = context.read<MenuUserBloc>().state.user.name;
|
|
|
if (name.isEmpty) {
|
|
|
name = context.read<MenuUserBloc>().state.user.email;
|
|
|
}
|
|
|
- return Flexible(
|
|
|
- child: FlowyText(name, fontSize: 12),
|
|
|
+ return FlowyText(name, fontSize: 12);
|
|
|
+ }
|
|
|
+
|
|
|
+ Widget _renderSettingsButton(BuildContext context) {
|
|
|
+ return Tooltip(
|
|
|
+ message: 'Open Settings',
|
|
|
+ child: IconButton(
|
|
|
+ onPressed: () {
|
|
|
+ showDialog(
|
|
|
+ context: context,
|
|
|
+ builder: (context) {
|
|
|
+ return const SettingsDialog();
|
|
|
+ },
|
|
|
+ );
|
|
|
+ },
|
|
|
+ icon: const Icon(Icons.settings),
|
|
|
+ ),
|
|
|
);
|
|
|
}
|
|
|
//ToDo: when the user is allowed to create another workspace,
|