diff --git a/assets/images/dark/login.svg b/assets/images/dark/login.svg new file mode 100644 index 00000000..6da3ef72 --- /dev/null +++ b/assets/images/dark/login.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/dark/welcome.svg b/assets/images/dark/welcome.svg new file mode 100644 index 00000000..c9043f96 --- /dev/null +++ b/assets/images/dark/welcome.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/light/login.svg b/assets/images/light/login.svg new file mode 100644 index 00000000..f6890b23 --- /dev/null +++ b/assets/images/light/login.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/light/welcome.svg b/assets/images/light/welcome.svg new file mode 100644 index 00000000..8983fac0 --- /dev/null +++ b/assets/images/light/welcome.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/pages/onboarding/signin/component.dart b/lib/pages/onboarding/signin/component.dart index 7b1a90c8..4009a680 100644 --- a/lib/pages/onboarding/signin/component.dart +++ b/lib/pages/onboarding/signin/component.dart @@ -1,4 +1,5 @@ import 'package:hub/modals/forms/forgot_password/widget.dart'; +import 'package:hub/shared/components/atoms/atom_image_svg_theme.dart'; import '/commons/widgets/flutter_flow_animations.dart'; import '/commons/widgets/flutter_flow_theme.dart'; @@ -223,12 +224,7 @@ class _SignInTemplateComponentWidgetState decoration: const BoxDecoration(), child: ClipRRect( borderRadius: BorderRadius.circular(8.0), - child: Image.network( - 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/sr43ucngg4a4/Vector.png', - width: 603.0, - height: 155.0, - fit: BoxFit.contain, - ), + child: const AtomImageSVGTheme(filename: 'login', width: 600, height: 155), ), ), Column( diff --git a/lib/pages/onboarding/welcome/component.dart b/lib/pages/onboarding/welcome/component.dart index a489e5f7..e9cece8f 100644 --- a/lib/pages/onboarding/welcome/component.dart +++ b/lib/pages/onboarding/welcome/component.dart @@ -1,3 +1,5 @@ +import 'package:hub/shared/components/atoms/atom_image_svg_theme.dart'; + import '/commons/widgets/flutter_flow_animations.dart'; import '/commons/widgets/flutter_flow_theme.dart'; import '/commons/widgets/flutter_flow_util.dart'; @@ -175,12 +177,7 @@ class _WelcomeTemplateComponentWidgetState decoration: const BoxDecoration(), child: ClipRRect( borderRadius: BorderRadius.circular(0.0), - child: SvgPicture.asset( - 'assets/images/welcome.svg', - width: 603.0, - height: double.infinity, - fit: BoxFit.contain, - ), + child: const AtomImageSVGTheme(filename: 'welcome', width: 600, height: double.infinity), ), ), Align( diff --git a/lib/shared/components/atoms/atom_image_svg_theme.dart b/lib/shared/components/atoms/atom_image_svg_theme.dart new file mode 100644 index 00000000..6da1479c --- /dev/null +++ b/lib/shared/components/atoms/atom_image_svg_theme.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; + +class AtomImageSVGTheme extends StatelessWidget { + + final String filename; + final double width; + final double height; + + const AtomImageSVGTheme({ + super.key, + required this.filename, + required this.width, + required this.height + }); + + @override + Widget build(BuildContext context) { + final brightness = MediaQuery.of(context).platformBrightness; + final isDarkMode = brightness == Brightness.dark; + final pathImage = "assets/images/${isDarkMode ? "dark" : "light"}/$filename.svg"; + + return SvgPicture.asset( + pathImage, + width: width, + height: height, + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index dfe4419b..9df0cbc2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -149,6 +149,8 @@ flutter: assets: - assets/fonts/ - assets/images/ + - assets/images/dark/ + - assets/images/light/ - assets/videos/ - assets/audios/ - assets/lottie_animations/