fixed jira tm-172 and pagination dialog design changed
This commit is contained in:
@@ -1,29 +1,82 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
import 'package:tm_app/views/notification/strings/notification_strings.dart';
|
||||
|
||||
class PageSelectionDialog extends StatelessWidget {
|
||||
class PageSelectionDialog extends StatefulWidget {
|
||||
final int totalPages;
|
||||
final int currentPage;
|
||||
|
||||
const PageSelectionDialog({
|
||||
required this.totalPages, super.key,
|
||||
required this.totalPages,
|
||||
required this.currentPage,
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
State<PageSelectionDialog> createState() => _PageSelectionDialogState();
|
||||
}
|
||||
|
||||
class _PageSelectionDialogState extends State<PageSelectionDialog> {
|
||||
late int selectedPage;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
selectedPage = widget.currentPage;
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog(
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
title: const Text(NotificationStrings.selectPage),
|
||||
insetPadding: EdgeInsets.symmetric(
|
||||
horizontal: 16.0.w(),
|
||||
vertical: 16.0.h(),
|
||||
),
|
||||
title: Text(
|
||||
'${NotificationStrings.selectPage} (Current: ${widget.currentPage})',
|
||||
style: TextStyle(
|
||||
fontSize: 16.0.sp(),
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColors.grey80,
|
||||
),
|
||||
),
|
||||
content: SizedBox(
|
||||
width: 200,
|
||||
height: 300,
|
||||
child: ListView.builder(
|
||||
itemCount: totalPages,
|
||||
itemCount: widget.totalPages,
|
||||
itemBuilder: (context, index) {
|
||||
final pageNumber = index + 1;
|
||||
|
||||
return ListTile(
|
||||
title: Text('$pageNumber'),
|
||||
onTap: () => Navigator.pop(context, pageNumber),
|
||||
leading: Radio<int>(
|
||||
value: pageNumber,
|
||||
groupValue: selectedPage,
|
||||
activeColor: AppColors.mainBlue,
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
selectedPage = value!;
|
||||
});
|
||||
context.pop(value);
|
||||
},
|
||||
),
|
||||
title: Text(
|
||||
'$pageNumber',
|
||||
style: TextStyle(
|
||||
fontSize: 16.0.sp(),
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColors.grey80,
|
||||
),
|
||||
),
|
||||
onTap: () {
|
||||
setState(() {
|
||||
selectedPage = pageNumber;
|
||||
});
|
||||
context.pop(pageNumber);
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user