diff --git a/lib/partials/main_scaffold.dart b/lib/partials/main_scaffold.dart index 1043e48..d895a5c 100644 --- a/lib/partials/main_scaffold.dart +++ b/lib/partials/main_scaffold.dart @@ -26,7 +26,7 @@ class _MainScaffoldState extends State { ]; final buttons = [ FloatingActionButton( - child: const Icon(Icons.chat_bubble), + child: const Icon(Icons.create), onPressed: () => showDialog( context: context, builder: (context) => const MakePost(), diff --git a/lib/partials/post.dart b/lib/partials/post.dart index d1cb6d1..9531ae1 100644 --- a/lib/partials/post.dart +++ b/lib/partials/post.dart @@ -13,7 +13,7 @@ class _PostState extends State { return Column( children: [ const DisplayName(), - postBody(context), + const PostBody(), postActionBar(context), ], ); @@ -34,6 +34,7 @@ class DisplayName extends StatelessWidget { size: 64, ), Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( @@ -51,23 +52,45 @@ class DisplayName extends StatelessWidget { } } -Widget postBody(context) { - return Container( - padding: const EdgeInsets.fromLTRB(24, 6, 6, 6), - decoration: BoxDecoration( - border: Border( - left: BorderSide(color: Theme.of(context).colorScheme.onSurface), - bottom: BorderSide(color: Theme.of(context).colorScheme.onSurface), - top: BorderSide(color: Theme.of(context).colorScheme.onSurface), +class PostBody extends StatefulWidget { + const PostBody({Key? key}) : super(key: key); + + @override + State createState() => _PostBodyState(); +} + +class _PostBodyState extends State { + bool visible = false; + @override + Widget build(BuildContext context) { + return Container( + width: double.infinity, + padding: const EdgeInsets.fromLTRB(0, 6, 0, 6), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TextButton.icon( + onPressed: () { + setState(() { + visible = !visible; + }); + }, + icon: const Icon(Icons.warning), + label: const Text("warning")), + Visibility( + visible: visible, + child: RichText( + textAlign: TextAlign.start, + text: TextSpan( + style: Theme.of(context).textTheme.bodyMedium, + text: + "Lorem ipsumLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor neque vitae tempus quam pellentesque. Scelerisque varius morbi enim nunc faucibus a. Tellus id interdum velit laoreet id donec ultrices. Aliquet bibendum enim facilisis gravida neque convallis a. Massa enim nec dui nunc mattis enim ut tellus. Sed felis eget velit aliquet sagittis id consectetur purus ut. Dignissim convallis aenean et tortor at risus. Integer vitae justo eget magna fermentum iaculis eu non. Ut placerat orci nulla pellentesque dignissim. Nisl suscipit adipiscing bibendum est ultricies. Mi ipsum faucibus vitae aliquet nec ullamcorper sit amet risus."), + ), + ), + ], ), - ), - child: RichText( - textAlign: TextAlign.start, - text: const TextSpan( - text: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Risus commodo viverra maecenas accumsan lacus vel facilisis volutpat est. Diam in arcu cursus euismod quis viverra. Elementum sagittis vitae et leo duis."), - ), - ); + ); + } } Widget postActionBar(context) { diff --git a/lib/partials/thread.dart b/lib/partials/thread.dart index e6d4570..50c76e1 100644 --- a/lib/partials/thread.dart +++ b/lib/partials/thread.dart @@ -14,19 +14,21 @@ class _ThreadState extends State { return Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Container( - padding: const EdgeInsets.all(24), - width: MediaQuery.of(context).size.width / 1.2, - constraints: const BoxConstraints(maxWidth: 1000, minWidth: 375), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surface, - border: Border.symmetric( - horizontal: BorderSide( - color: Theme.of(context).colorScheme.background, - width: 12)), - ), - child: Column( - children: [Post(), Post(), Post()], + Padding( + padding: const EdgeInsets.all(4), + child: Container( + padding: const EdgeInsets.all(24), + width: MediaQuery.of(context).size.width / 1.2, + constraints: const BoxConstraints(maxWidth: 1000, minWidth: 375), + decoration: BoxDecoration( + color: Theme.of(context).colorScheme.surface, + border: + Border.all(color: Theme.of(context).colorScheme.secondary), + borderRadius: BorderRadius.circular(8), + ), + child: Column( + children: [Post(), Post(), Post()], + ), ), ), ], diff --git a/lib/themes/themes.dart b/lib/themes/themes.dart index 1c00f33..f0386d7 100644 --- a/lib/themes/themes.dart +++ b/lib/themes/themes.dart @@ -21,6 +21,7 @@ ThemeData getTheme(CustomColors colors) { elevation: 0, height: 64, ), + scrollbarTheme: const ScrollbarThemeData(), ); }