You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
this is the error found "======== Exception caught by widgets library =======================================================
The following message was thrown building ProfilePage(dirty, state: _ProfilePageState#266dd):
"AuthController" not found. You need to call "Get.put(AuthController())" or "Get.lazyPut(()=>AuthController())"
bool clearSharedData(){
sharedPreferences.remove(AppConstants.TOKEN);
sharedPreferences.remove(AppConstants.PASSWORD);
sharedPreferences.remove(AppConstants.PHONE);
apiClient.token="";
apiClient.updateHeader("");
return true;
}
}" and the error where it locate me is in this file is in Scaffold line 54 "import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'dart:math' as math;
import 'package:get/get.dart';
import 'package:journey/base/customer_loader.dart';
import 'package:journey/controller/user_controller.dart';
import 'package:journey/routes/router_helper.dart';
import 'controller/auth_controller.dart';
You have to register objects in order to resolve them (think Dependency Injection).
Your mistake is that you commented out registering your controller // Get.put(AuthController(authRepo: authRepo));
this is the error found "======== Exception caught by widgets library =======================================================
The following message was thrown building ProfilePage(dirty, state: _ProfilePageState#266dd):
"AuthController" not found. You need to call "Get.put(AuthController())" or "Get.lazyPut(()=>AuthController())"
The relevant error-causing widget was:
ProfilePage ProfilePage:file:///Users/ansi/Desktop/PROJECTS/Journey/lib/home_screen.dart:28:11
When the exception was thrown, this was the stack:
#0 GetInstance.find (package:get/get_instance/src/get_instance.dart:305:7)
#1 Inst.find (package:get/get_instance/src/extension_instance.dart:69:45)
#2 _ProfilePageState.build (package:journey/profile.dart:50:30)
#3 StatefulElement.build (package:flutter/src/widgets/framework.dart:5080:27)
#4 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4968:15)
#5 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#6 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#7 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4950:5)
#8 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5124:11)
#9 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4944:5)
#10 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3953:16)
#11 Element.updateChild (package:flutter/src/widgets/framework.dart:3676:20)
#12 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6384:14)
#13 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#14 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#15 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#16 StatelessElement.update (package:flutter/src/widgets/framework.dart:5044:5)
#17 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#18 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#19 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#20 StatelessElement.update (package:flutter/src/widgets/framework.dart:5044:5)
#21 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#22 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#23 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#24 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#25 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#26 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#27 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#28 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#29 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#30 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5981:32)
#31 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6537:17)
#32 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#33 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#34 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#35 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#36 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#37 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#38 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#39 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#40 StatefulElement.update (package:flutter/src/widgets/framework.dart:5156:5)
#41 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#42 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#43 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#44 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#45 StatefulElement.update (package:flutter/src/widgets/framework.dart:5156:5)
#46 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#47 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#48 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#49 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#50 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#51 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#52 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#53 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#54 StatefulElement.update (package:flutter/src/widgets/framework.dart:5156:5)
#55 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#56 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6384:14)
#57 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#58 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#59 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#60 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#61 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#62 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6384:14)
#63 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#64 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#65 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#66 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#67 StatefulElement.update (package:flutter/src/widgets/framework.dart:5156:5)
#68 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#69 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#70 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#71 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#72 StatefulElement.update (package:flutter/src/widgets/framework.dart:5156:5)
#73 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#74 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#75 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#76 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#77 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#78 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#79 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#80 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#81 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#82 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#83 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#84 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#85 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#86 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#87 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#88 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#89 StatefulElement.update (package:flutter/src/widgets/framework.dart:5156:5)
#90 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#91 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#92 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#93 ProxyElement.update (package:flutter/src/widgets/framework.dart:5301:5)
#94 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#95 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#96 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#97 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#98 StatefulElement.update (package:flutter/src/widgets/framework.dart:5156:5)
#99 Element.updateChild (package:flutter/src/widgets/framework.dart:3660:15)
#100 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4993:16)
#101 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5133:11)
#102 Element.rebuild (package:flutter/src/widgets/framework.dart:4690:5)
#103 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2743:19)
#104 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:863:21)
#105 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:381:5)
#106 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#107 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1218:9)
#108 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1076:5)
#109 _invoke (dart:ui/hooks.dart:145:13)
#110 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:338:5)
#111 _drawFrame (dart:ui/hooks.dart:112:31)"
and the codes of the auth controller
the files are below "import 'package:get/get.dart';
import 'package:journey/data/repository/auth_repo.dart';
import 'package:journey/model/response_model.dart';
import '../model/signup_body_model.dart';
class AuthController extends GetxController implements GetxService{
final AuthRepo authRepo;
AuthController({required this.authRepo});
bool _isLoading = false;
bool get isLoading => _isLoading;
//registration
Future registration(SignUpBody signUpBody) async {
_isLoading=true;
update();
Response response = await authRepo.registration(signUpBody);
late ResponseModel responseModel;
if(response.statusCode==200){
authRepo.saveUserToken(response.body["token"]);
responseModel = ResponseModel(true, response.body["token"]);
}else{
responseModel = ResponseModel(false, response.statusText!);
}
_isLoading=true;
update();
return responseModel;
}
//login
Future login(String email, String password) async {
print("Getting Token");
print(authRepo.getUserToken().toString());
_isLoading=true;
update();
Response response = await authRepo.login(email, password);
late ResponseModel responseModel;
if(response.statusCode==200){
print("Backend Token");
authRepo.saveUserToken(response.body["token"]);
print(response.body.toString());
responseModel = ResponseModel(true, response.body["token"]);
}else{
responseModel = ResponseModel(false, response.statusText!);
}
_isLoading=true;
update();
return responseModel;
}
void saveUserNumberAndPassword(String number, String password) async {
authRepo.saveUserNumberAndPassword(number, password);
}
bool userLoggedIn() {
return authRepo.userLoggedIn();
}
bool clearSharedData(){
return authRepo.clearSharedData();
}
}
" and the auth repo is "import 'package:shared_preferences/shared_preferences.dart';
import '../../constant.dart';
import '../../model/signup_body_model.dart';
import '../api/api_client.dart';
class AuthRepo{
final ApiClient apiClient;
final SharedPreferences sharedPreferences;
AuthRepo({
required this.apiClient,
required this.sharedPreferences
});
Future registration(SignUpBody signUpBody)async{
return await apiClient.postData(AppConstants.REGISTRATION_URI, signUpBody.toJson());
}
bool userLoggedIn() {
return sharedPreferences.containsKey(AppConstants.TOKEN);
}
//get user
Future getUserToken() async {
return await sharedPreferences.getString(AppConstants.TOKEN)??"None";
}
Future login(String email, String password)async{
return await apiClient.postData(AppConstants.LOGIN_URI, {"email":email, "password":password});
}
FuturesaveUserToken(String token) async{
apiClient.token = token;
apiClient.updateHeader(token);
return await sharedPreferences.setString(AppConstants.TOKEN, token);
}
Future saveUserNumberAndPassword(String number, String password) async {
try{
await sharedPreferences.setString(AppConstants.PHONE, number);
await sharedPreferences.setString(AppConstants.PASSWORD, password);
}catch(e){
throw e;
}
}
bool clearSharedData(){
sharedPreferences.remove(AppConstants.TOKEN);
sharedPreferences.remove(AppConstants.PASSWORD);
sharedPreferences.remove(AppConstants.PHONE);
apiClient.token="";
apiClient.updateHeader("");
return true;
}
}" and the error where it locate me is in this file is in Scaffold line 54 "import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'dart:math' as math;
import 'package:get/get.dart';
import 'package:journey/base/customer_loader.dart';
import 'package:journey/controller/user_controller.dart';
import 'package:journey/routes/router_helper.dart';
import 'controller/auth_controller.dart';
class ProfilePage extends StatefulWidget {
const ProfilePage({Key? key}) : super(key: key);
@OverRide
State createState() => _ProfilePageState();
}
class _ProfilePageState extends State {
// ignore: prefer_typing_uninitialized_variables
// int _streaksCount = 0;
//
// Future _fetchStreaksCount() async {
// try {
// final response = await Dio().get('http://192.168.204.79:5000/api/streaks');
// final data = response.data;
// final List streaks = data['streaks'];
// setState(() {
// _streaksCount = streaks.length;
// });
// } catch (error) {
// if (kDebugMode) {
// print(error);
// }
// }
// }
// @OverRide
// void didChangeDependencies() {
// super.didChangeDependencies();
// }
// @OverRide
// void initState(){
// super.initState();
// _fetchStreaksCount();
// // _checkAndIncrementValue();
// }
@OverRide
Widget build(BuildContext context) {
bool _userLoggedIn = Get.find().userLoggedIn();
if(_userLoggedIn){
Get.find().getUserInfo();
}
return Scaffold(
body: GetBuilder(builder: (userController){
return _userLoggedIn?(userController.isLoading? Center(
child: Stack(children: [
Positioned(
width: MediaQuery.of(context).size.width * 1,
height: MediaQuery.of(context).size.height * 0.35,
top: 0,
left: 0,
child: Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/images/woman.png'),
fit: BoxFit.cover),
),
),
),
Positioned(
width: 50,
height: 50,
top: MediaQuery.of(context).size.height * 0.03,
right: MediaQuery.of(context).size.width * 0.01,
child: GestureDetector(
onTap: () async{
Get.toNamed(RouterHelper.getSettingPage());
// Navigator.pushReplacement(
// context,
// MaterialPageRoute(
// builder: (BuildContext context) => const SettingPage(),
// ),
// );
},
child: Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/images/setting icon.png'),
),
),
),
),
),
Positioned(
width: 50,
height: 50,
top: MediaQuery.of(context).size.width * 0.7,
left: MediaQuery.of(context).size.width * 0.05,
child: Container(
decoration: const BoxDecoration(
color: Color.fromARGB(255, 204, 219, 82),
boxShadow: [
BoxShadow(
color: Colors.grey,
offset: Offset(0.0, 1.0), //(x,y)
blurRadius: 6.0,
),
],
),
child: IconButton(
icon: const Icon(
Icons.account_box_outlined,
color: Color.fromARGB(255, 0, 0, 0),
),
onPressed: () {},
),
),
),
Positioned(
width: 200,
height: 50,
top: MediaQuery.of(context).size.width * 0.7,
right: MediaQuery.of(context).size.width * 0,
child: Container(
alignment: FractionalOffset.center,
decoration: const BoxDecoration(
color: Color.fromARGB(255, 204, 219, 82),
boxShadow: [
BoxShadow(
color: Colors.grey,
offset: Offset(0.0, 1.0), //(x,y)
blurRadius: 6.0,
),
],
),
child: const Text(
'STATS',
//'',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.black),
),
),
),
Positioned(
width: 200,
height: 50,
top: 420,
left: -55,
child: Transform.rotate(
angle: math.pi / 2,
child: Container(
alignment: FractionalOffset.center,
decoration: const BoxDecoration(
color: Color.fromARGB(255, 246, 246, 246),
),
child: Text(
userController.userModel.fullname,
textAlign: TextAlign.center,
textDirection: TextDirection.ltr,
style: const TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.black),
),
),
),
),
Positioned(
width: MediaQuery.of(context).size.width / 1.8,
height: MediaQuery.of(context).size.height * 0.43,
top: MediaQuery.of(context).size.width * 0.8,
right: MediaQuery.of(context).size.width * 0.05,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Container(
padding: const EdgeInsets.all(5),
child: Column(
children: const [
Text(
'3,875',
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.black),
),
Text(
'Workouts',
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.normal,
color: Color.fromARGB(255, 163, 163, 163),
),
),
],
),
),
Container(
padding: const EdgeInsets.all(5),
child: Column(
children: const [
Text(
'streaksCount',
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
color: Colors.black),
),
Text(
'Streaks',
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.normal,
color: Color.fromARGB(255, 163, 163, 163),
),
),
],
),
),
],
),
Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: const EdgeInsets.all(5),
child: const Text(
'Achivements',
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.normal,
color: Color.fromARGB(255, 163, 163, 163),
),
),
),
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height / 3.1,
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/images/background.png'),
fit: BoxFit.cover,
),
),
),
],
),
],
),
)
]),
):CustomLoader()):Container(child: Center(child: Text("You must Login"),),);
}),
}
}
" and the main.dart is "import 'dart:ffi';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:get/get.dart';
import 'package:journey/data/repository/auth_repo.dart';
import 'package:journey/routes/router_helper.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'auth_logic.dart';
import 'controller/auth_controller.dart';
import 'data/api/api_client.dart';
//this is a test
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
// AuthRepo authRepo = AuthRepo(
// apiClient: ApiClient(appBaseUrl: 'http://192.168.30.79:5000', sharedPreferences: await SharedPreferences.getInstance()),
// sharedPreferences: await SharedPreferences.getInstance());
//
// Get.put(AuthController(authRepo: authRepo));
//open the database and store the reference
runApp(const MyApp());
}
@OverRide
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@OverRide
Widget build(BuildContext context) {
// GetBuilder(builder: (_){
//
// });
}
}
"
The text was updated successfully, but these errors were encountered: