aboutsummaryrefslogtreecommitdiff
path: root/lib/widgets/responsive.dart
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-05-20 16:43:21 -0600
committerIván Ávalos <avalos@disroot.org>2023-05-20 16:43:21 -0600
commitcd8f22959e62c0b7b191e64f4ecfec53cba9f364 (patch)
tree9e40717d4e7b5c18694ab65558acda65875f817b /lib/widgets/responsive.dart
parent3a3af285a7460a7e2f6850b9a8dd7465492163f6 (diff)
downloadlinkchat-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.dart34
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;
+ }
+}