fix(mobile-next): 把加载、失败、断网接到真实 SDK 与目录请求
会话列表、通讯录、好友申请、添加同事页覆盖 CompanyLoadingView/CompanyFailView; 主页断网横幅跟随 IMSdkStatus.connectionFailed。不伪造状态。 Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
co-authored by
Cursor
multica-agent
parent
092f513708
commit
2b2c2d28a4
@@ -9,6 +9,7 @@ import '../mine/mine_view.dart';
|
||||
import 'home_logic.dart';
|
||||
import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart';
|
||||
import '../../company/feature_flags.dart';
|
||||
import '../../company/ui/state_views.dart';
|
||||
|
||||
class HomePage extends StatelessWidget {
|
||||
final logic = Get.find<HomeLogic>();
|
||||
@@ -22,9 +23,11 @@ class HomePage extends StatelessWidget {
|
||||
onDoubleTap: () {
|
||||
logic.scrollToUnreadMessage();
|
||||
},
|
||||
child: _setupIcon(ImageRes.homeTab1Sel.toImage, logic.unreadMsgCount.value),
|
||||
child: _setupIcon(
|
||||
ImageRes.homeTab1Sel.toImage, logic.unreadMsgCount.value),
|
||||
),
|
||||
inactiveIcon: _setupIcon(ImageRes.homeTab1Nor.toImage, logic.unreadMsgCount.value),
|
||||
inactiveIcon: _setupIcon(
|
||||
ImageRes.homeTab1Nor.toImage, logic.unreadMsgCount.value),
|
||||
title: StrRes.home,
|
||||
textStyle: Styles.ts_0089FF_10sp_semibold,
|
||||
),
|
||||
@@ -32,8 +35,10 @@ class HomePage extends StatelessWidget {
|
||||
PersistentTabConfig(
|
||||
screen: ContactsPage(),
|
||||
item: ItemConfig(
|
||||
icon: _setupIcon(ImageRes.homeTab2Sel.toImage, logic.unhandledCount.value),
|
||||
inactiveIcon: _setupIcon(ImageRes.homeTab2Nor.toImage, logic.unhandledCount.value),
|
||||
icon: _setupIcon(
|
||||
ImageRes.homeTab2Sel.toImage, logic.unhandledCount.value),
|
||||
inactiveIcon: _setupIcon(
|
||||
ImageRes.homeTab2Nor.toImage, logic.unhandledCount.value),
|
||||
title: StrRes.contacts,
|
||||
textStyle: Styles.ts_0089FF_10sp_semibold,
|
||||
),
|
||||
@@ -81,19 +86,30 @@ class HomePage extends StatelessWidget {
|
||||
return Scaffold(
|
||||
backgroundColor: Styles.c_FFFFFF,
|
||||
body: Obx(
|
||||
() => PersistentTabView(
|
||||
tabs: _tabs(),
|
||||
navBarBuilder: (navBarConfig) => Style1BottomNavBar(
|
||||
navBarConfig: navBarConfig,
|
||||
navBarDecoration: const NavBarDecoration(
|
||||
color: Colors.white,
|
||||
boxShadow: [
|
||||
BoxShadow(color: Colors.black12, blurRadius: 0.5, spreadRadius: 0.5),
|
||||
],
|
||||
() => Column(
|
||||
children: [
|
||||
if (logic.isOffline.value) const CompanyOfflineBanner(),
|
||||
Expanded(
|
||||
child: PersistentTabView(
|
||||
tabs: _tabs(),
|
||||
navBarBuilder: (navBarConfig) => Style1BottomNavBar(
|
||||
navBarConfig: navBarConfig,
|
||||
navBarDecoration: const NavBarDecoration(
|
||||
color: Colors.white,
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black12,
|
||||
blurRadius: 0.5,
|
||||
spreadRadius: 0.5),
|
||||
],
|
||||
),
|
||||
),
|
||||
navBarOverlap: const NavBarOverlap.none(),
|
||||
screenTransitionAnimation:
|
||||
const ScreenTransitionAnimation.none(),
|
||||
),
|
||||
),
|
||||
),
|
||||
navBarOverlap: const NavBarOverlap.none(),
|
||||
screenTransitionAnimation: const ScreenTransitionAnimation.none(),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user