diff options
Diffstat (limited to 'lib/widgets')
-rw-r--r-- | lib/widgets/event_item.dart | 42 | ||||
-rw-r--r-- | lib/widgets/event_list.dart | 35 |
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]), + ); + } +} |