summaryrefslogtreecommitdiff
path: root/lib/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'lib/widgets')
-rw-r--r--lib/widgets/event_item.dart42
-rw-r--r--lib/widgets/event_list.dart35
2 files changed, 77 insertions, 0 deletions
diff --git a/lib/widgets/event_item.dart b/lib/widgets/event_item.dart
new file mode 100644
index 0000000..e00d328
--- /dev/null
+++ b/lib/widgets/event_item.dart
@@ -0,0 +1,42 @@
+import 'package:flutter/material.dart';
+
+import '../models/event.dart';
+
+class EventItem extends StatelessWidget {
+ final Event event;
+
+ const EventItem({super.key, required this.event});
+
+ final padding = 16.0;
+ final spacer = const SizedBox(
+ height: 12.0,
+ width: 12.0,
+ );
+
+ @override
+ Widget build(BuildContext context) {
+ final txtDate = Text(
+ event.date.toIso8601String(),
+ style: Theme.of(context).typography.englishLike.labelMedium,
+ );
+ final txtDesc = Text(
+ event.description,
+ style: Theme.of(context).typography.englishLike.bodyLarge,
+ );
+
+ return Card(
+ child: Padding(
+ padding: EdgeInsets.all(padding),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.start,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ txtDesc,
+ spacer,
+ txtDate,
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/widgets/event_list.dart b/lib/widgets/event_list.dart
new file mode 100644
index 0000000..437525c
--- /dev/null
+++ b/lib/widgets/event_list.dart
@@ -0,0 +1,35 @@
+import 'package:flutter/material.dart';
+import 'package:pmsna1/database/helper.dart';
+import 'package:pmsna1/providers/events_provider.dart';
+import 'package:provider/provider.dart';
+
+import '../models/event.dart';
+import 'event_item.dart';
+
+class EventList extends StatefulWidget {
+ const EventList({super.key});
+
+ @override
+ State<EventList> createState() => _EventListState();
+}
+
+class _EventListState extends State<EventList> {
+ late DatabaseHelper helper;
+
+ @override
+ void initState() {
+ super.initState();
+ helper = DatabaseHelper();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ EventsProvider provider = context.watch<EventsProvider>();
+ List<Event> events = provider.events;
+ return ListView.builder(
+ itemCount: events.length,
+ itemBuilder: (BuildContext context, int index) =>
+ EventItem(event: events[index]),
+ );
+ }
+}