From ccb6c52cdae298efcf46010b2bef96b44a54b392 Mon Sep 17 00:00:00 2001 From: cogwheel <172976095+cogwheel0@users.noreply.github.com> Date: Tue, 13 Jan 2026 06:48:02 +0530 Subject: [PATCH] fix(chat): chat input layout with prompt overlay --- .../chat/widgets/modern_chat_input.dart | 52 ++++++++++++------- openwebui-src | 2 +- 2 files changed, 33 insertions(+), 21 deletions(-) diff --git a/lib/features/chat/widgets/modern_chat_input.dart b/lib/features/chat/widgets/modern_chat_input.dart index f583817..e01f5d7 100644 --- a/lib/features/chat/widgets/modern_chat_input.dart +++ b/lib/features/chat/widgets/modern_chat_input.dart @@ -1067,7 +1067,8 @@ class _ModernChatInputState extends ConsumerState f.status == FileUploadStatus.uploading || f.status == FileUploadStatus.pending, ); - final allUploadsComplete = attachedFiles.isEmpty || + final allUploadsComplete = + attachedFiles.isEmpty || attachedFiles.every((f) => f.status == FileUploadStatus.completed); final webSearchEnabled = ref.watch(webSearchEnabledProvider); @@ -1410,26 +1411,37 @@ class _ModernChatInputState extends ConsumerState Spacing.screenPadding, bottomPadding + Spacing.md, ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.end, + child: Column( + mainAxisSize: MainAxisSize.min, children: [ - _buildOverflowButton( - tooltip: AppLocalizations.of(context)!.more, - webSearchActive: webSearchEnabled, - imageGenerationActive: imageGenEnabled, - toolsActive: selectedToolIds.isNotEmpty, - filtersActive: selectedFilterIds.isNotEmpty, - ), - const SizedBox(width: Spacing.sm), - Expanded(child: textFieldShell), - const SizedBox(width: Spacing.sm), - _buildPrimaryButton( - _hasText, - isGenerating, - stopGeneration, - voiceAvailable, - allUploadsComplete, - hasUploadsInProgress, + // Show prompt overlay above the compact input row when active + if (_showPromptOverlay) + Padding( + padding: const EdgeInsets.only(bottom: Spacing.xs), + child: _buildPromptOverlay(context), + ), + Row( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + _buildOverflowButton( + tooltip: AppLocalizations.of(context)!.more, + webSearchActive: webSearchEnabled, + imageGenerationActive: imageGenEnabled, + toolsActive: selectedToolIds.isNotEmpty, + filtersActive: selectedFilterIds.isNotEmpty, + ), + const SizedBox(width: Spacing.sm), + Expanded(child: textFieldShell), + const SizedBox(width: Spacing.sm), + _buildPrimaryButton( + _hasText, + isGenerating, + stopGeneration, + voiceAvailable, + allUploadsComplete, + hasUploadsInProgress, + ), + ], ), ], ), diff --git a/openwebui-src b/openwebui-src index d95f533..2b26355 160000 --- a/openwebui-src +++ b/openwebui-src @@ -1 +1 @@ -Subproject commit d95f533214e3fe5beb5e41ec1f349940bc4c7043 +Subproject commit 2b26355002064228e9b671339f8f3fb9d1fafa73