added design for desktop and tablet

This commit is contained in:
llsajjad
2025-08-11 08:02:28 +03:30
parent 55d7d96baf
commit 38b1e0920e
4 changed files with 189 additions and 47 deletions
@@ -0,0 +1,63 @@
import 'package:flutter/material.dart';
import 'package:tm_app/core/constants/strings.dart';
import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/views/shared/main_tab_bar.dart';
import 'package:tm_app/views/shared/tender_app_bar.dart';
import 'package:tm_app/views/your_tenders/widgets/approved_tenders.dart';
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart';
class YourTendersDesktopPage extends StatefulWidget {
const YourTendersDesktopPage({super.key});
@override
State<YourTendersDesktopPage> createState() => _YourTendersDesktopPageState();
}
class _YourTendersDesktopPageState extends State<YourTendersDesktopPage>
with SingleTickerProviderStateMixin {
late TabController controller;
@override
void initState() {
super.initState();
controller = TabController(length: 2, vsync: this);
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
backgroundColor: AppColors.backgroundColor,
appBar: tenderMobileAppBar(title: AppStrings.yourTenders),
body: Center(
child: SizedBox(
width: 740,
child: Column(
children: [
MainTabBar(
controller: controller,
titles: [
AppStrings.approvedTenders,
AppStrings.tenderSubmitted,
],
),
Expanded(
child: TabBarView(
controller: controller,
children: [ApprovedTenders(), TendersSubmitted()],
),
),
],
),
),
),
),
);
}
}
@@ -0,0 +1,55 @@
import 'package:flutter/material.dart';
import 'package:tm_app/core/constants/strings.dart';
import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/views/shared/main_tab_bar.dart';
import 'package:tm_app/views/shared/tender_app_bar.dart';
import 'package:tm_app/views/your_tenders/widgets/approved_tenders.dart';
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart';
class YourTendersMobilePage extends StatefulWidget {
const YourTendersMobilePage({super.key});
@override
State<YourTendersMobilePage> createState() => _YourTendersMobilePageState();
}
class _YourTendersMobilePageState extends State<YourTendersMobilePage>
with SingleTickerProviderStateMixin {
late TabController controller;
@override
void initState() {
super.initState();
controller = TabController(length: 2, vsync: this);
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
backgroundColor: AppColors.backgroundColor,
appBar: tenderMobileAppBar(title: AppStrings.yourTenders),
body: Column(
children: [
MainTabBar(
controller: controller,
titles: [AppStrings.approvedTenders, AppStrings.tenderSubmitted],
),
Expanded(
child: TabBarView(
controller: controller,
children: [ApprovedTenders(), TendersSubmitted()],
),
),
],
),
),
);
}
}
@@ -0,0 +1,60 @@
import 'package:flutter/material.dart';
import 'package:tm_app/core/constants/strings.dart';
import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/views/shared/main_tab_bar.dart';
import 'package:tm_app/views/shared/tender_app_bar.dart';
import 'package:tm_app/views/your_tenders/widgets/approved_tenders.dart';
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart';
class YourTendersTabletPage extends StatefulWidget {
const YourTendersTabletPage({super.key});
@override
State<YourTendersTabletPage> createState() => _YourTendersTabletPageState();
}
class _YourTendersTabletPageState extends State<YourTendersTabletPage>
with SingleTickerProviderStateMixin {
late TabController controller;
@override
void initState() {
super.initState();
controller = TabController(length: 2, vsync: this);
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
backgroundColor: AppColors.backgroundColor,
appBar: tenderMobileAppBar(title: AppStrings.yourTenders),
body: Center(
child: SizedBox(
width: 720,
child: Column(
children: [
MainTabBar(
controller: controller,
titles: [AppStrings.approvedTenders, AppStrings.tenderSubmitted],
),
Expanded(
child: TabBarView(
controller: controller,
children: [ApprovedTenders(), TendersSubmitted()],
),
),
],
),
),
),
),
);
}
}
+11 -47
View File
@@ -1,56 +1,20 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:tm_app/core/constants/strings.dart'; import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/core/theme/colors.dart'; import 'package:tm_app/views/shared/responsive_builder.dart';
import 'package:tm_app/views/shared/tender_app_bar.dart'; import 'package:tm_app/views/your_tenders/pages/your_tenders_desktop_page.dart';
import 'package:tm_app/views/your_tenders/widgets/approved_tenders.dart'; import 'package:tm_app/views/your_tenders/pages/your_tenders_mobile_page.dart';
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart'; import 'package:tm_app/views/your_tenders/pages/your_tenders_tablet_page.dart';
import '../shared/main_tab_bar.dart'; class YourTendersScreen extends StatelessWidget {
class YourTendersScreen extends StatefulWidget {
const YourTendersScreen({super.key}); const YourTendersScreen({super.key});
@override
State<YourTendersScreen> createState() => _YourTendersScreenState();
}
class _YourTendersScreenState extends State<YourTendersScreen>
with SingleTickerProviderStateMixin {
late TabController controller;
@override
void initState() {
super.initState();
controller = TabController(length: 2, vsync: this);
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SafeArea( SizeConfig.init(context);
child: Scaffold( return ResponsiveBuilder(
backgroundColor: AppColors.backgroundColor, mobile: YourTendersMobilePage(),
appBar: tenderMobileAppBar(title: AppStrings.yourTenders), tablet: YourTendersTabletPage(),
body: Column( desktop: YourTendersDesktopPage(),
children: [
MainTabBar(
controller: controller,
titles: [AppStrings.approvedTenders, AppStrings.tenderSubmitted],
),
Expanded(
child: TabBarView(
controller: controller,
children: [ApprovedTenders(), TendersSubmitted()],
),
),
],
),
),
); );
} }
} }