238 lines
7.6 KiB
Dart
238 lines
7.6 KiB
Dart
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
class NotificationCustomScreen extends StatefulWidget {
|
|
const NotificationCustomScreen({super.key});
|
|
|
|
@override
|
|
State<NotificationCustomScreen> createState() =>
|
|
_NotificationCustomScreenState();
|
|
}
|
|
|
|
class _NotificationCustomScreenState extends State<NotificationCustomScreen> {
|
|
List<TableRow> tableDataRows = <TableRow>[
|
|
const TableRow(
|
|
children: [
|
|
TableCell(
|
|
child: Text('Row 1, Column 1'),
|
|
),
|
|
TableCell(
|
|
child: Text('Row 1, Column 2'),
|
|
),
|
|
],
|
|
),
|
|
const TableRow(
|
|
children: [
|
|
TableCell(
|
|
child: Text('Row 2, Column 1'),
|
|
),
|
|
TableCell(
|
|
child: Text('Row 2, Column 2'),
|
|
),
|
|
],
|
|
),
|
|
const TableRow(
|
|
children: [
|
|
TableCell(
|
|
child: Text('Row 3, Column 1'),
|
|
),
|
|
TableCell(
|
|
child: Text('Row 3, Column 2'),
|
|
),
|
|
|
|
],
|
|
),
|
|
|
|
const TableRow(
|
|
children: [
|
|
TableCell(
|
|
child: Text('Row 4, Column 1'),
|
|
),
|
|
TableCell(
|
|
child: Text('Row 4, Column 2'),
|
|
),
|
|
|
|
],
|
|
),
|
|
const TableRow(
|
|
children: [
|
|
TableCell(
|
|
child: Text('Row 5, Column 1'),
|
|
),
|
|
TableCell(
|
|
child: Text('Row 5, Column 2'),
|
|
),
|
|
|
|
],
|
|
),
|
|
];
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
var headers = ["Start date", "End date", "Note", "Created by"];
|
|
|
|
var list = [
|
|
{
|
|
'Start date': "06/09/2023",
|
|
"End date": "11/10/2023",
|
|
"notification": "Test notifications",
|
|
"createdby": "Sneha"
|
|
},
|
|
{
|
|
'Start date': "06/09/2023",
|
|
"End date": "11/09/2023",
|
|
"notification": "Test notifications",
|
|
"createdby": "Sneha"
|
|
},
|
|
];
|
|
return MaterialApp(
|
|
home: Scaffold(
|
|
appBar: AppBar(
|
|
title: Text('Notifications'),
|
|
backgroundColor: Color.fromARGB(255, 11, 60, 144),
|
|
),
|
|
body: Padding(
|
|
padding: const EdgeInsets.all(20.0),
|
|
child: Center(
|
|
child: Column(
|
|
children: [
|
|
Table(
|
|
border: TableBorder.all(color: Colors.black),
|
|
columnWidths: {
|
|
0: FixedColumnWidth(
|
|
MediaQuery.of(context).size.height * 0.30),
|
|
1: FixedColumnWidth(
|
|
MediaQuery.of(context).size.height * 0.30),
|
|
2: FixedColumnWidth(
|
|
MediaQuery.of(context).size.height * 0.30),
|
|
3: FixedColumnWidth(
|
|
MediaQuery.of(context).size.height * 0.30)
|
|
},
|
|
children: [
|
|
// for (var item in headers)
|
|
TableRow(children: [
|
|
Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Center(
|
|
child: Text(
|
|
headers[0],
|
|
style: const TextStyle(fontSize: 18.0),
|
|
),
|
|
),
|
|
),
|
|
Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Center(
|
|
child: Text(
|
|
headers[1],
|
|
style: const TextStyle(fontSize: 18.0),
|
|
),
|
|
),
|
|
),
|
|
Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Center(
|
|
child: Text(
|
|
headers[2],
|
|
style: const TextStyle(fontSize: 18.0),
|
|
),
|
|
),
|
|
),
|
|
Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Center(
|
|
child: Text(
|
|
headers[3],
|
|
style: const TextStyle(fontSize: 18.0),
|
|
),
|
|
),
|
|
),
|
|
// Text(item[1]),
|
|
// Text(item[2]),
|
|
])
|
|
]),
|
|
Table(
|
|
border: TableBorder.all(color: Colors.black),
|
|
columnWidths: {
|
|
0: FixedColumnWidth(
|
|
MediaQuery.of(context).size.height * 0.30),
|
|
1: FixedColumnWidth(
|
|
MediaQuery.of(context).size.height * 0.30),
|
|
2: FixedColumnWidth(
|
|
MediaQuery.of(context).size.height * 0.30),
|
|
3: FixedColumnWidth(
|
|
MediaQuery.of(context).size.height * 0.30)
|
|
},
|
|
children: [
|
|
for (var item in list)
|
|
TableRow(children: [
|
|
Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Text(
|
|
item['Start date']!,
|
|
style: TextStyle(fontSize: 18.0),
|
|
),
|
|
),
|
|
Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Text(
|
|
item['End date']!,
|
|
style: TextStyle(fontSize: 18.0),
|
|
),
|
|
),
|
|
Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Text(
|
|
item['notification']!,
|
|
style: TextStyle(fontSize: 18.0),
|
|
),
|
|
),
|
|
Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Text(
|
|
item['createdby']!,
|
|
style: TextStyle(fontSize: 18.0),
|
|
),
|
|
),
|
|
])
|
|
]),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
floatingActionButton: FloatingActionButton(
|
|
backgroundColor: Color.fromARGB(255, 11, 60, 144),
|
|
onPressed: () {
|
|
setState(() {
|
|
// Update the list of table data rows
|
|
tableDataRows = [
|
|
const TableRow(
|
|
children: [
|
|
TableCell(
|
|
child: Text('Row 1, Column 1 (updated)'),
|
|
),
|
|
TableCell(
|
|
child: Text('Row 1, Column 2 (updated)'),
|
|
),
|
|
],
|
|
),
|
|
const TableRow(
|
|
children: [
|
|
TableCell(
|
|
child: Text('Row 2, Column 1 (updated)'),
|
|
),
|
|
TableCell(
|
|
child: Text('Row 2, Column 2 (updated)'),
|
|
),
|
|
],
|
|
),
|
|
];
|
|
});
|
|
},
|
|
child: Icon(Icons.refresh),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|