Skip to content
2 changes: 2 additions & 0 deletions app/lib/pages/conversations/conversations_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import 'package:omi/pages/conversations/widgets/daily_summaries_list.dart';
import 'package:omi/pages/conversations/widgets/folder_tabs.dart';
import 'package:omi/pages/conversations/widgets/goals_widget.dart';
import 'package:omi/pages/conversations/widgets/processing_capture.dart';
import 'package:omi/pages/phone_calls/active_call_banner.dart';
import 'package:omi/pages/conversations/widgets/search_result_header_widget.dart';
import 'package:omi/pages/conversations/widgets/search_widget.dart';
import 'package:omi/pages/conversations/widgets/today_tasks_widget.dart';
Expand Down Expand Up @@ -180,6 +181,7 @@ class _ConversationsPageState extends State<ConversationsPage> with AutomaticKee
// Header widgets (unchanged)
const SliverToBoxAdapter(child: SpeechProfileCardWidget()),
const SliverToBoxAdapter(child: UpdateFirmwareCardWidget()),
const SliverToBoxAdapter(child: ActiveCallBanner()),
const SliverToBoxAdapter(child: ConversationCaptureWidget()),

// Search bar
Expand Down
10 changes: 10 additions & 0 deletions app/lib/pages/conversations/widgets/processing_capture.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ import 'package:omi/utils/enums.dart';
import 'package:omi/utils/logger.dart';
import 'package:omi/utils/other/temp.dart';
import 'package:omi/utils/platform/platform_service.dart';
import 'package:omi/backend/schema/phone_call.dart';
import 'package:omi/providers/phone_call_provider.dart';

class ConversationCaptureWidget extends StatefulWidget {
const ConversationCaptureWidget({super.key});
Expand All @@ -34,6 +36,14 @@ class _ConversationCaptureWidgetState extends State<ConversationCaptureWidget> {

@override
Widget build(BuildContext context) {
// Hide capture widget when a phone call is in progress (banner replaces it)
var phoneCallState = context.watch<PhoneCallProvider>().callState;
if (phoneCallState == PhoneCallState.active ||
phoneCallState == PhoneCallState.connecting ||
phoneCallState == PhoneCallState.ringing) {
return const SizedBox.shrink();
}

return Consumer<CaptureProvider>(
builder: (context, provider, child) {
var topConvoId = (provider.conversationProvider?.conversations ?? []).isNotEmpty
Expand Down
3 changes: 3 additions & 0 deletions app/lib/pages/home/page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import 'package:omi/pages/conversations/auto_sync_page.dart';
import 'package:omi/pages/conversations/sync_page.dart';
import 'package:omi/pages/conversations/widgets/merge_action_bar.dart';
import 'package:omi/pages/memories/page.dart';
import 'package:omi/pages/phone_calls/active_call_banner.dart';
import 'package:omi/pages/phone_calls/phone_calls_page.dart';
import 'package:omi/pages/phone_calls/phone_calls_upsell_sheet.dart';
import 'package:omi/models/subscription.dart';
Expand Down Expand Up @@ -630,6 +631,8 @@ class _HomePageState extends State<HomePage> with WidgetsBindingObserver, Ticker
children: [
Column(
children: [
// Show slim green call bar on non-home tabs when a call is active
if (homeProvider.selectedIndex != 0) const ActiveCallTopBar(),
Expanded(
child: IndexedStack(index: context.watch<HomeProvider>().selectedIndex, children: _pages),
),
Expand Down
Loading
Loading