Files
cssd/lib/pages/MyPackagesPages/Result/my_packages_result_screen.dart
2024-03-13 19:20:21 +03:30

124 lines
3.5 KiB
Dart
Executable File

import 'package:cssd/config/colors.dart';
import 'package:cssd/config/routes.dart';
import 'package:cssd/pages/MyPackagesPages/Result/my_packages_mine_screen.dart';
import 'package:cssd/pages/MyPackagesPages/Result/my_packages_requests_screen.dart';
import 'package:flutter/material.dart';
class MyPackagesResultScreen extends StatefulWidget {
const MyPackagesResultScreen({super.key});
@override
State<MyPackagesResultScreen> createState() => _MyPackagesResultScreenState();
}
class _MyPackagesResultScreenState extends State<MyPackagesResultScreen>
with SingleTickerProviderStateMixin {
late final TabController _tabController;
@override
void initState() {
_tabController = TabController(length: 2, vsync: this);
super.initState();
}
@override
void dispose() {
_tabController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
final _media = MediaQuery.of(context);
final double _deviceWidth = _media.size.width;
final double _deviceBlockSize = _deviceWidth / 100;
return SafeArea(
child: GestureDetector(
onTap: () {
FocusManager.instance.primaryFocus?.unfocus();
},
child: DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
titleSpacing: -10,
title: Text(
'Home',
style: TextStyle(
color: Colors.white,
),
),
backgroundColor: Colors.black,
leading: IconButton(
icon: Icon(
Icons.keyboard_arrow_left,
color: Colors.white,
size: 35,
),
onPressed: () =>
Navigator.of(context).pushNamed(Routes.homePage),
),
// bottom: TabBar(
// controller: _tabController,
// indicatorColor: kPurple,
// labelColor: Colors.white,
// tabs: [
// Tab(
// text: 'Mine',
// ),
// Tab(
// text: 'Requests',
// ),
// ],
// ),
),
floatingActionButton: MyPackageResultFloatingButton(
deviceBlockSize: _deviceBlockSize,
),
body: MyPackagesMineScreen(),
// TabBarView(
// controller: _tabController,
// children: [
// MyPackagesMineScreen(),
// MyPackagesRequestsScreen(),
// ],
// ),
),
),
),
);
}
}
class MyPackageResultFloatingButton extends StatelessWidget {
const MyPackageResultFloatingButton({
Key? key,
required double deviceBlockSize,
}) : _deviceBlockSize = deviceBlockSize,
super(key: key);
final double _deviceBlockSize;
@override
Widget build(BuildContext context) {
return InkWell(
customBorder: CircleBorder(),
onTap: () {
Navigator.of(context).pushNamed(Routes.myPackagesScanScreen);
},
child: Container(
padding: EdgeInsets.all(2.5 * _deviceBlockSize),
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.black,
),
child: Icon(
Icons.qr_code_scanner,
size: 7.1 * _deviceBlockSize,
color: Colors.white,
),
),
);
}
}