e6ad72e42d
Signed-off-by: dab246 <tdvu@linagora.com>
69 lines
2.4 KiB
Dart
69 lines
2.4 KiB
Dart
|
|
import 'package:core/presentation/resources/image_paths.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:tmail_ui_user/features/composer/presentation/extensions/update_screen_display_mode_extension.dart';
|
|
import 'package:tmail_ui_user/features/composer/presentation/manager/composer_manager.dart';
|
|
import 'package:tmail_ui_user/features/composer/presentation/widgets/expand_composer_button.dart';
|
|
|
|
class ComposerOverlayView extends StatefulWidget {
|
|
const ComposerOverlayView({super.key});
|
|
|
|
@override
|
|
State<ComposerOverlayView> createState() => _ComposerOverlayViewState();
|
|
}
|
|
|
|
class _ComposerOverlayViewState extends State<ComposerOverlayView> {
|
|
late final ComposerManager _composerManager;
|
|
late final ImagePaths _imagePaths;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
_composerManager = Get.find<ComposerManager>();
|
|
_imagePaths = Get.find<ImagePaths>();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Obx(() {
|
|
final composers = _composerManager.composers;
|
|
final composerIdsQueue = _composerManager.composerIdsQueue;
|
|
if (composers.isEmpty || composerIdsQueue.isEmpty) return const SizedBox.shrink();
|
|
|
|
final fullScreenComposerView = _composerManager.firstFullScreenComposerView;
|
|
if (fullScreenComposerView != null) return fullScreenComposerView;
|
|
|
|
if (composerIdsQueue.length == 1) {
|
|
return _composerManager.getComposerView(composerIdsQueue.first);
|
|
}
|
|
|
|
final countComposerHidden = _composerManager.countComposerHidden;
|
|
final visibleComposers = composerIdsQueue
|
|
.map(_composerManager.getComposerView)
|
|
.where((view) => !view.controller.isHiddenScreen)
|
|
.toList();
|
|
|
|
return Align(
|
|
alignment: AlignmentDirectional.bottomEnd,
|
|
child: Padding(
|
|
padding: const EdgeInsetsDirectional.symmetric(horizontal: 24, vertical: 16),
|
|
child: Row(
|
|
crossAxisAlignment: CrossAxisAlignment.end,
|
|
mainAxisSize: MainAxisSize.min,
|
|
children: [
|
|
if (countComposerHidden > 0)
|
|
ExpandComposerButton(
|
|
imagePaths: _imagePaths,
|
|
countComposerHidden: countComposerHidden,
|
|
onToggleDisplayComposerAction: () {},
|
|
),
|
|
...visibleComposers,
|
|
],
|
|
),
|
|
),
|
|
);
|
|
});
|
|
}
|
|
}
|