here in my code the problem with the consumer Auth, i found a similar q here but nor relevant with my error i tried to much ways to solve it, can anyone help please?
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider.value(value: Auth()),
ChangeNotifierProxyProvider<Auth, ProductProvider>(
update: (ctx, auth, previousprod) => ProductProvider(
auth.token, previousprod == null ? [] : previousprod.items),
),
ChangeNotifierProvider.value(
value: Cart(),
),
ChangeNotifierProvider.value(
value: Order(),
)
],
child: Consumer<Auth>(
builder: (ctx, auth, _) => MaterialApp(
debugShowCheckedModeBanner: false,
title: 'MyShop',
theme: ThemeData(
primarySwatch: Colors.purple,
accentColor: Colors.deepOrange,
fontFamily: 'Lato'),
home: auth.isAuth ? ProductOverviewScreen : AuthScreen(),
routes: {
// '/':(ctx)=> ProductOverviewScreen(),
ProductDetailScreen.routName: (ctx) => ProductDetailScreen(),
CartScreen.routName: (ctx) => CartScreen(),
OrderScreen.routName: (ctx) => OrderScreen(),
ProductOverviewScreen.routName: (ctx) => ProductOverviewScreen(),
UserProductsScreen.routName: (ctx) => UserProductsScreen(),
EditProductScreen.routName: (ctx) => EditProductScreen(),
},
),
));
}
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider.value(value: Auth()),
ChangeNotifierProxyProvider<Auth, ProductProvider>(
update: (ctx, auth, previousprod) => ProductProvider(
auth.token, previousprod == null ? [] : previousprod.items),
),
ChangeNotifierProvider.value(
value: Cart(),
),
ChangeNotifierProvider.value(
value: Order(),
)
],
child: Consumer<Auth>(
builder: (ctx, auth, _) => MaterialApp(
debugShowCheckedModeBanner: false,
title: 'MyShop',
theme: ThemeData(
primarySwatch: Colors.purple,
accentColor: Colors.deepOrange,
fontFamily: 'Lato'),
home: auth.isAuth ? ProductOverviewScreen() : AuthScreen(),
routes: {
// '/':(ctx)=> ProductOverviewScreen(),
ProductDetailScreen.routName: (ctx) => ProductDetailScreen(),
CartScreen.routName: (ctx) => CartScreen(),
OrderScreen.routName: (ctx) => OrderScreen(),
ProductOverviewScreen.routName: (ctx) => ProductOverviewScreen(),
UserProductsScreen.routName: (ctx) => UserProductsScreen(),
EditProductScreen.routName: (ctx) => EditProductScreen(),
},
),
));
}
}