Created
March 21, 2022 19:29
-
-
Save romanejaquez/51d10cfb779d7f3d7d4a06632dc81b0e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
import 'package:provider/provider.dart'; | |
const Color darkBlue = Color.fromARGB(255, 18, 32, 47); | |
void main() { | |
runApp( | |
Languages() | |
); | |
} | |
class LanguageChangeProvider extends ChangeNotifier { | |
String valueFromLanguages = "Hello from the Languages Provided Service!"; | |
Locale currentLocal = Locale.fromSubtags(); | |
} | |
class Userid extends ChangeNotifier { | |
Locale currentLocal = Locale.fromSubtags(); | |
} | |
class AuthService { | |
Stream<Userid>? user = Stream.value(Userid()); | |
} | |
class Languages extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MultiProvider( | |
providers: [ | |
ChangeNotifierProvider<LanguageChangeProvider>( | |
create: (context) => LanguageChangeProvider(), | |
), | |
StreamProvider<Userid>.value( | |
value: AuthService().user, //the user is from services auth and non function stream | |
initialData: Userid(), | |
), | |
], | |
child: Builder(builder: (context) { | |
return MaterialApp( | |
locale: Provider.of<LanguageChangeProvider>(context, listen: true) | |
.currentLocal, | |
debugShowCheckedModeBanner: false, | |
color: Color(0xFF13294b), | |
title: 'Personal Expenses', | |
theme: ThemeData( | |
colorScheme: ColorScheme.light( | |
primary: const Color(0xFF13294b), | |
), | |
buttonTheme: ButtonThemeData(textTheme: ButtonTextTheme.primary), | |
accentColor: Colors.amber, | |
fontFamily: 'Quicksand', | |
textTheme: ThemeData.light().textTheme.copyWith( | |
headline6: TextStyle( | |
fontFamily: 'FjallaOne', | |
fontWeight: FontWeight.bold, | |
fontSize: 18, | |
color: Color(0xFF13294b), | |
), | |
button: TextStyle(color: Colors.white), | |
), | |
appBarTheme: AppBarTheme( | |
textTheme: ThemeData.light().textTheme.copyWith( | |
headline6: TextStyle( | |
fontFamily: 'FjallaOne', | |
fontSize: 20, | |
fontWeight: FontWeight.bold, | |
backgroundColor: Color(0xFF13294b), | |
), | |
), | |
), | |
), | |
home: Wrapper(), | |
); | |
}), | |
); | |
} | |
} | |
class Wrapper extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
body: Center( | |
child: Text(Provider.of<LanguageChangeProvider>(context).valueFromLanguages) | |
), | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment