From 7e13a4819962fa9a0124cb03b3c3bca4adc9fe6d Mon Sep 17 00:00:00 2001 From: Udhay-Adithya Date: Fri, 5 Sep 2025 12:48:41 +0530 Subject: [PATCH] feat: enhance EditRequestPane with segmented layout for EditGraphQLRequestPane --- .../request_pane/request_pane.dart | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/lib/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart b/lib/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart index a1868159..f27be2cf 100644 --- a/lib/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart +++ b/lib/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart @@ -23,7 +23,7 @@ class EditRequestPane extends ConsumerWidget { final isPopped = ref.watch(dashbotWindowNotifierProvider.select((s) => s.isPopped)); - // When Dashbot window is popped, compact segmented layout like History page should be shown + // When Dashbot window is not popped, show compact segmented layout like History page if (isPopped == false && apiType == APIType.rest) { return DefaultTabController( length: 3, @@ -60,6 +60,42 @@ class EditRequestPane extends ConsumerWidget { ); } + if (isPopped == false && apiType == APIType.graphql) { + return DefaultTabController( + length: 3, + child: Builder( + builder: (context) { + final controller = DefaultTabController.of(context); + return Column( + children: [ + kVSpacer10, + SegmentedTabbar( + controller: controller, + tabs: const [ + Tab(text: kLabelRequest), + Tab(text: kLabelResponse), + Tab(text: kLabelCode), + ], + ), + kVSpacer10, + Expanded( + child: TabBarView( + controller: controller, + children: const [ + EditGraphQLRequestPane(), + ResponsePane(), + CodePane(), + ], + ), + ), + kVSpacer8, + ], + ); + }, + ), + ); + } + return switch (apiType) { APIType.rest => const EditRestRequestPane(), APIType.graphql => const EditGraphQLRequestPane(),