From bdf69276ade47775b2f5afc0b5bd2556f917bbbd Mon Sep 17 00:00:00 2001 From: Tyler Wilcox Date: Tue, 20 May 2025 09:21:13 -0400 Subject: [PATCH] Added some basic widgets --- lib/main.dart | 2 +- lib/pages/dashboard.dart | 20 +++++++++++++++++++- lib/widgets/base_card.dart | 38 ++++++++++++++++++++++++++++++++++++++ lib/widgets/text_card.dart | 31 ++++++++++++++++++------------- 4 files changed, 76 insertions(+), 15 deletions(-) create mode 100644 lib/widgets/base_card.dart diff --git a/lib/main.dart b/lib/main.dart index a5dbbb0..e3bdf04 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -29,7 +29,7 @@ class MyApp extends StatelessWidget { // // This works for code too, not just values: Most code changes can be // tested with just a hot reload. - colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), + colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue, brightness: Brightness.dark), ), home: const Dashboard(), ); diff --git a/lib/pages/dashboard.dart b/lib/pages/dashboard.dart index 13aee98..cd9c293 100644 --- a/lib/pages/dashboard.dart +++ b/lib/pages/dashboard.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:helm/widgets/base_card.dart'; import '../widgets/text_card.dart'; class Dashboard extends StatelessWidget { @@ -22,7 +23,24 @@ class Dashboard extends StatelessWidget { // the App.build method, and use it to set our appbar title. title: Text("Helm"), ), - body: Column(children: [TextCard(cardTitle: 'My Card')]), + body: Column( + children: [ + Row( + children: [ + BaseCard(cardTitle: "Reef Picker", height: 4, width: 6), + Column( + children: [ + TextCard(cardTitle: 'Match State', height: 2, width: 3), + TextCard(cardTitle: "Match Time", height: 2, width: 3), + ], + ), + ], + ), + Row(children: [ + TextCard(cardTitle: "Intake State", height: 2, width: 3,) + ],) + ], + ), ); } } diff --git a/lib/widgets/base_card.dart b/lib/widgets/base_card.dart new file mode 100644 index 0000000..92fbe1b --- /dev/null +++ b/lib/widgets/base_card.dart @@ -0,0 +1,38 @@ +import 'package:flutter/material.dart'; + +class BaseCard extends StatelessWidget { + const BaseCard({ + super.key, + required this.cardTitle, + this.children = const [], + this.height = 1, + this.width = 1, + }); + + final List children; + + final String cardTitle; + + final int width, height; + + @override + Widget build(BuildContext context) { + + return Card( + child: Padding( + padding: EdgeInsets.all(10), + child: SizedBox( + width: 100.0 * width, + height: 100.0 * height, + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text(cardTitle), + SizedBox(width: 100, height: 10), + ] + children, + ), + ), + ), + ); + } +} diff --git a/lib/widgets/text_card.dart b/lib/widgets/text_card.dart index f2d9ef3..6652273 100644 --- a/lib/widgets/text_card.dart +++ b/lib/widgets/text_card.dart @@ -1,9 +1,19 @@ import 'package:flutter/material.dart'; +import './base_card.dart'; class TextCard extends StatefulWidget { - const TextCard({super.key, required this.cardTitle}); + const TextCard({ + super.key, + required this.cardTitle, + this.ntTopic, + this.height = 1, + this.width = 1, + }); final String cardTitle; + final String? ntTopic; + + final int width, height; @override State createState() => _TextCardState(); @@ -12,18 +22,13 @@ class TextCard extends StatefulWidget { class _TextCardState extends State { @override Widget build(BuildContext context) { - return Card( - child: Padding( - padding: EdgeInsets.all(10), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text(widget.cardTitle), - SizedBox(width: 100, height: 10), - Text("THE COOL TEXT"), - ], - ), - ), + return BaseCard( + cardTitle: widget.cardTitle, + width: widget.width, + height: widget.height, + children: [ + Text("WAHOOOO") + ], ); } }