diff --git a/lib/screens/add_wool_modal.dart b/lib/screens/add_wool_modal.dart new file mode 100644 index 0000000..7ab24fd --- /dev/null +++ b/lib/screens/add_wool_modal.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import 'package:temperaturdecke/widgets/modal_wrapper.dart'; + +class AddWoolModal extends StatelessWidget { + const AddWoolModal({super.key}); + + @override + Widget build(BuildContext context) { + return ModalWrapper( + Column( + children: [ + TextField(), + TextField(), + ], + ), + title: "Wolle hinzufügen", + ); + } +} diff --git a/lib/screens/wool.dart b/lib/screens/wool.dart index 2b5719e..7a45422 100644 --- a/lib/screens/wool.dart +++ b/lib/screens/wool.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:temperaturdecke/database.dart'; +import 'package:temperaturdecke/screens/add_wool_modal.dart'; import 'package:temperaturdecke/widgets/cards/wool_card.dart'; class WoolScreen extends StatelessWidget { @@ -22,7 +23,15 @@ class WoolScreen extends StatelessWidget { // Hier können Sie den Inhalt basierend auf den geladenen Daten anzeigen return Scaffold( floatingActionButton: FloatingActionButton( - onPressed: () {}, + onPressed: () { + showModalBottomSheet( + showDragHandle: true, + context: context, + builder: (context) { + return AddWoolModal(); + }, + ); + }, child: Icon(Icons.add), ), body: Column( diff --git a/lib/widgets/cards/wool_card.dart b/lib/widgets/cards/wool_card.dart index bfcfde1..c1f1881 100644 --- a/lib/widgets/cards/wool_card.dart +++ b/lib/widgets/cards/wool_card.dart @@ -39,6 +39,7 @@ class Woolcard extends StatelessWidget { child: IconButton( onPressed: () { showModalBottomSheet( + showDragHandle: true, context: context, builder: (context) { return WoolModal(id); diff --git a/lib/widgets/modal_wrapper.dart b/lib/widgets/modal_wrapper.dart index f97b918..e1216b9 100644 --- a/lib/widgets/modal_wrapper.dart +++ b/lib/widgets/modal_wrapper.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; class ModalWrapper extends StatelessWidget { - ModalWrapper(this.child, {super.key}); + ModalWrapper(this.child, {this.title, key}); Widget child; - + String? title; @override Widget build(BuildContext context) { return ClipRRect( @@ -12,8 +12,18 @@ class ModalWrapper extends StatelessWidget { child: SizedBox( width: 750, child: Padding( - padding: EdgeInsets.all(10), - child: child, + padding: EdgeInsets.symmetric(horizontal: 25, vertical: 10), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title ?? "", + textAlign: TextAlign.start, + style: Theme.of(context).textTheme.headlineMedium, + ), + child + ], + ), ))); } }