diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-05-20 16:43:21 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-05-20 16:43:21 -0600 |
commit | cd8f22959e62c0b7b191e64f4ecfec53cba9f364 (patch) | |
tree | 9e40717d4e7b5c18694ab65558acda65875f817b /lib/widgets/responsive.dart | |
parent | 3a3af285a7460a7e2f6850b9a8dd7465492163f6 (diff) | |
download | linkchat-cd8f22959e62c0b7b191e64f4ecfec53cba9f364.tar.gz linkchat-cd8f22959e62c0b7b191e64f4ecfec53cba9f364.tar.bz2 linkchat-cd8f22959e62c0b7b191e64f4ecfec53cba9f364.zip |
Se añade autenticación y onboarding
Diffstat (limited to 'lib/widgets/responsive.dart')
-rw-r--r-- | lib/widgets/responsive.dart | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/widgets/responsive.dart b/lib/widgets/responsive.dart new file mode 100644 index 0000000..f5f2739 --- /dev/null +++ b/lib/widgets/responsive.dart @@ -0,0 +1,34 @@ +import 'package:flutter/material.dart'; + +class Responsive extends StatelessWidget { + final Widget mobile; + final Widget? tablet; + final Widget desktop; + + const Responsive({ + super.key, + required this.mobile, + this.tablet, + required this.desktop, + }); + + static bool isMobile(BuildContext context) => + MediaQuery.of(context).size.width < 576; + + static bool isTablet(BuildContext context) => + MediaQuery.of(context).size.width >= 576 && + MediaQuery.of(context).size.width <= 992; + + static bool isDesktop(BuildContext context) => + MediaQuery.of(context).size.width > 992; + + @override + Widget build(BuildContext context) { + if (isDesktop(context)) { + return desktop; + } else if (tablet != null && isTablet(context)) { + return tablet!; + } + return mobile; + } +} |