This commit is contained in:
@@ -21,7 +21,9 @@ import '../../../core/utils/app_toast.dart';
|
||||
import '../../../view_models/auth_view_model.dart';
|
||||
|
||||
class DesktopTendersPage extends StatefulWidget {
|
||||
const DesktopTendersPage({super.key});
|
||||
const DesktopTendersPage({required this.initialSelectedTab, super.key});
|
||||
|
||||
final int initialSelectedTab;
|
||||
|
||||
@override
|
||||
State<DesktopTendersPage> createState() => _DesktopTendersPageState();
|
||||
@@ -36,10 +38,19 @@ class _DesktopTendersPageState extends State<DesktopTendersPage> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_selectedTab = widget.initialSelectedTab;
|
||||
viewModel = context.read<TendersViewModel>();
|
||||
viewModel.addListener(_viewModelListener);
|
||||
}
|
||||
|
||||
@override
|
||||
void didUpdateWidget(covariant DesktopTendersPage oldWidget) {
|
||||
super.didUpdateWidget(oldWidget);
|
||||
if (oldWidget.initialSelectedTab != widget.initialSelectedTab) {
|
||||
_selectedTab = widget.initialSelectedTab;
|
||||
}
|
||||
}
|
||||
|
||||
void _viewModelListener() {
|
||||
if (viewModel.feedbackErrorMessage != null) {
|
||||
AppToast.error(context, viewModel.feedbackErrorMessage!);
|
||||
@@ -276,4 +287,3 @@ class _ActionButtons extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,9 @@ import '../widgets/recommended_tenders_view.dart';
|
||||
import '../widgets/tenders_tab_bar.dart';
|
||||
|
||||
class MobileTendersPage extends StatefulWidget {
|
||||
const MobileTendersPage({super.key});
|
||||
const MobileTendersPage({required this.initialSelectedTab, super.key});
|
||||
|
||||
final int initialSelectedTab;
|
||||
|
||||
@override
|
||||
State<MobileTendersPage> createState() => _MobileTendersPageState();
|
||||
@@ -28,10 +30,19 @@ class _MobileTendersPageState extends State<MobileTendersPage> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_selectedTab = widget.initialSelectedTab;
|
||||
viewModel = context.read<TendersViewModel>();
|
||||
viewModel.addListener(_viewModelListener);
|
||||
}
|
||||
|
||||
@override
|
||||
void didUpdateWidget(covariant MobileTendersPage oldWidget) {
|
||||
super.didUpdateWidget(oldWidget);
|
||||
if (oldWidget.initialSelectedTab != widget.initialSelectedTab) {
|
||||
_selectedTab = widget.initialSelectedTab;
|
||||
}
|
||||
}
|
||||
|
||||
void _viewModelListener() {
|
||||
if (viewModel.feedbackErrorMessage != null) {
|
||||
AppToast.error(context, viewModel.feedbackErrorMessage!);
|
||||
|
||||
@@ -13,7 +13,9 @@ import '../widgets/recommended_tenders_view.dart';
|
||||
import '../widgets/tenders_tab_bar.dart';
|
||||
|
||||
class TabletTendersPage extends StatefulWidget {
|
||||
const TabletTendersPage({super.key});
|
||||
const TabletTendersPage({required this.initialSelectedTab, super.key});
|
||||
|
||||
final int initialSelectedTab;
|
||||
|
||||
@override
|
||||
State<TabletTendersPage> createState() => _TabletTendersPageState();
|
||||
@@ -28,9 +30,18 @@ class _TabletTendersPageState extends State<TabletTendersPage> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_selectedTab = widget.initialSelectedTab;
|
||||
viewModel = context.read<TendersViewModel>();
|
||||
}
|
||||
|
||||
@override
|
||||
void didUpdateWidget(covariant TabletTendersPage oldWidget) {
|
||||
super.didUpdateWidget(oldWidget);
|
||||
if (oldWidget.initialSelectedTab != widget.initialSelectedTab) {
|
||||
_selectedTab = widget.initialSelectedTab;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final GlobalKey<ScaffoldState> key = GlobalKey();
|
||||
|
||||
@@ -10,7 +10,9 @@ import 'm_tenders_page.dart';
|
||||
import 't_tenders_page.dart';
|
||||
|
||||
class TendersScreen extends StatefulWidget {
|
||||
const TendersScreen({super.key});
|
||||
const TendersScreen({this.initialTab, super.key});
|
||||
|
||||
final String? initialTab;
|
||||
|
||||
@override
|
||||
State<TendersScreen> createState() => _TendersScreenState();
|
||||
@@ -48,10 +50,11 @@ class _TendersScreenState extends State<TendersScreen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
SizeConfig.init(context);
|
||||
return const ResponsiveBuilder(
|
||||
mobile: MobileTendersPage(),
|
||||
tablet: TabletTendersPage(),
|
||||
desktop: DesktopTendersPage(),
|
||||
final initialSelectedTab = widget.initialTab == 'recommended' ? 1 : 0;
|
||||
return ResponsiveBuilder(
|
||||
mobile: MobileTendersPage(initialSelectedTab: initialSelectedTab),
|
||||
tablet: TabletTendersPage(initialSelectedTab: initialSelectedTab),
|
||||
desktop: DesktopTendersPage(initialSelectedTab: initialSelectedTab),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user