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 createState() => _ComposerOverlayViewState(); } class _ComposerOverlayViewState extends State { late final ComposerManager _composerManager; late final ImagePaths _imagePaths; @override void initState() { super.initState(); _composerManager = Get.find(); _imagePaths = Get.find(); } @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, ], ), ), ); }); } }