Commit f20f9053 authored by Erfan Jazeb Nikoo's avatar Erfan Jazeb Nikoo
Browse files

Merge branch 'erfan/qa-hotfix' into 'qa'

erfan/qa-hotfix

See merge request !227
2 merge requests!228Release-1.3 to UAT,!227erfan/qa-hotfix
Showing with 55 additions and 28 deletions
+55 -28
......@@ -807,6 +807,7 @@ class FeedProvider with ChangeNotifier {
{String? entryId,
bool articleDetails = false,
required String sourceRoute}) {
String id = entryId ?? _podService.ownerKey;
chat.splitViewController = SplitViewController(
weights: articleDetails ? [0.3, 0.7] : [0.5, 0.5],
limits: [
......@@ -814,7 +815,12 @@ class FeedProvider with ChangeNotifier {
WeightLimit(min: 0.4, max: articleDetails ? 1 : 0.925)
],
);
chat.showSplitScreen[entryId ?? _podService.ownerKey] = true;
if (chat.messageHistory[id]?.isEmpty ?? true) {
chat.showPrompt[id] = true;
} else {
chat.showPrompt[id] = false;
}
chat.showSplitScreen[id] = true;
_analyticsService.logButtonTap(ButtonType.primary,
articleDetails ? 'Ask anything about this article' : 'Ask Memri');
_analyticsService.logChatOpen(
......
......@@ -45,6 +45,7 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
Widget build(BuildContext context) {
return Consumer<FeedProvider>(builder: (_, provider, __) {
_appProvider.checkDailyTimer(context);
_checkTabControllerLength();
return HomeScaffold(
showFeedAppBar: true,
body: DefaultTabController(
......@@ -148,7 +149,7 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
SliverPersistentHeader(
delegate: _SliverAppBarDelegate(
TabBar(
// controller: feed.tabController,
controller: feed.tabController,
onTap: provider.selectCategory,
labelStyle: app.styles.body,
unselectedLabelStyle: app.styles.body,
......@@ -200,7 +201,7 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
}
return TabBarView(
// controller: feed.tabController,
controller: feed.tabController,
physics: NeverScrollableScrollPhysics(),
children: feed.activeCategories.map((String activeCategory) {
Category category = feed.categories[activeCategory]!;
......@@ -277,6 +278,24 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
});
}
void _checkTabControllerLength() {
if (feed.activeCategories.length != feed.tabController.length) {
feed.tabController.dispose();
feed.tabController = TabController(
length: feed.activeCategories.length,
initialIndex: 0,
vsync: this,
);
feed.tabController.animation?.addListener(() {
int indexChange = feed.tabController.offset.round();
int index = feed.tabController.index + indexChange;
if (feed.tabController.offset.abs() > 0.5) {
_feedProvider.onFeedPageChanged(index);
}
});
}
}
// Widget _buildAppBar(FeedProvider provider) {
// return Container(
// width: MediaQuery.of(context).size.width,
......
......@@ -54,31 +54,33 @@ class _HomeScaffoldState extends State<HomeScaffold> {
resizeToAvoidBottomInset: widget.resizeToAvoidBottomInset,
appBar: widget.appBar,
// bottomNavigationBar: _buildBottomNavBar(provider),
body: chat.showSplitScreen[_authProvider.ownerKey] ?? false
? Consumer<LLMChatProvider>(builder: (context, cbProvider, _) {
return SplitView(
viewMode: SplitViewMode.Vertical,
controller: chat.splitViewController,
gripColor: Color(0xff1A1A1C),
gripSize: 12,
gripColorActive: Color(0xff1A1A1C),
indicator: SplitIndicator(
viewMode: SplitViewMode.Vertical,
color: app.colors.basicWhite),
activeIndicator: SplitIndicator(
viewMode: SplitViewMode.Vertical,
isActive: true,
color: app.colors.brandOrange,
),
children: [
_buildBody(provider),
ChatWindow(
entryId: _authProvider.ownerKey,
sourceRoute: app.bottomNavCurrentScreenName),
],
);
})
: _buildBody(provider),
body: Consumer<LLMChatProvider>(builder: (context, cbProvider, _) {
bool splitEnabled =
chat.showSplitScreen[_authProvider.ownerKey] ?? false;
return SplitView(
viewMode: SplitViewMode.Vertical,
controller: splitEnabled
? chat.splitViewController
: SplitViewController(weights: [1, 0], limits: []),
gripColor: Color(0xff1A1A1C),
gripSize: 12,
gripColorActive: Color(0xff1A1A1C),
indicator: SplitIndicator(
viewMode: SplitViewMode.Vertical, color: app.colors.basicWhite),
activeIndicator: SplitIndicator(
viewMode: SplitViewMode.Vertical,
isActive: true,
color: app.colors.brandOrange,
),
children: [
_buildBody(provider),
if (splitEnabled)
ChatWindow(
entryId: _authProvider.ownerKey,
sourceRoute: app.bottomNavCurrentScreenName),
],
);
}),
);
});
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment