fixed warnings

This commit is contained in:
llsajjad
2025-08-11 13:30:53 +03:30
parent 3e2d7333df
commit 79ea6f7b83
5 changed files with 95 additions and 67 deletions
+2 -3
View File
@@ -13,9 +13,8 @@ class AuthRepository {
try {
final response = await _authService.login(email, password);
final user = UserModel(token: response['token'], name: response['name']);
return Result.ok(user); // در حالت موفقیت، یک Ok برمی‌گرداند
} catch (e) {
// در حالت خطا، یک Error برمی‌گرداند
return Result.ok(user);
} on Exception {
return Result.error(
AuthenticationException('Email or password is not correct.'),
);
@@ -1,6 +1,5 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:tm_app/core/utils/logger.dart';
import 'package:tm_app/core/utils/result.dart';
import 'package:tm_app/data/services/mock_data/tender_detail_mock.dart';
@@ -31,6 +30,4 @@ Future<Result<TenderDetailResponseModel>> getTenderDetail({
return Result.error(Exception(e));
}
}
}
+33 -19
View File
@@ -9,9 +9,38 @@ import '../../../core/utils/size_config.dart';
import '../../../view_models/auth_view_model.dart';
import '../widgets/widgets.dart';
class LoginDesktopPage extends StatelessWidget {
class LoginDesktopPage extends StatefulWidget {
const LoginDesktopPage({super.key});
@override
State<LoginDesktopPage> createState() => _LoginDesktopPageState();
}
class _LoginDesktopPageState extends State<LoginDesktopPage> {
late final AuthViewModel viewModel;
@override
void initState() {
super.initState();
viewModel = context.read<AuthViewModel>();
viewModel.addListener(_viewModelListener);
}
void _viewModelListener() {
if (viewModel.loggedInUser != null) {
HomeRouteData().go(context);
} else if (viewModel.errorMessage != null) {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text(viewModel.errorMessage!)));
}
}
@override
void dispose() {
viewModel.removeListener(_viewModelListener);
super.dispose();
}
@override
Widget build(BuildContext context) {
SizeConfig.init(context);
@@ -55,7 +84,6 @@ class LoginDesktopPage extends StatelessWidget {
borderRedus: 12,
),
SizedBox(height: 32.0.h()),
if (viewModel.isLoading)
BaseButton(
isEnabled: false,
@@ -65,25 +93,11 @@ class LoginDesktopPage extends StatelessWidget {
else
BaseButton(
isEnabled: viewModel.isLoginEnabled,
onPressed:
viewModel.isLoginEnabled
? () async {
onPressed: () async {
if (viewModel.isLoginEnabled) {
await viewModel.login();
if (viewModel.loggedInUser != null) {
HomeRouteData().go(context);
} else if (viewModel.errorMessage != null) {
ScaffoldMessenger.of(
context,
).showSnackBar(
SnackBar(
content: Text(
viewModel.errorMessage!,
),
),
);
}
}
: null,
},
),
],
);
+33 -15
View File
@@ -9,9 +9,40 @@ import '../../../core/utils/size_config.dart';
import '../../../view_models/auth_view_model.dart';
import '../widgets/widgets.dart';
class LoginTabletPage extends StatelessWidget {
class LoginTabletPage extends StatefulWidget {
const LoginTabletPage({super.key});
@override
State<LoginTabletPage> createState() => _LoginTabletPageState();
}
class _LoginTabletPageState extends State<LoginTabletPage> {
late final AuthViewModel viewModel;
@override
void initState() {
super.initState();
viewModel = context.read<AuthViewModel>();
viewModel.addListener(_viewModelListener);
}
void _viewModelListener() {
if (viewModel.loggedInUser != null) {
HomeRouteData().go(context);
}
if (viewModel.errorMessage != null) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(viewModel.errorMessage!)),
);
}
}
@override
void dispose() {
viewModel.removeListener(_viewModelListener);
super.dispose();
}
@override
Widget build(BuildContext context) {
SizeConfig.init(context);
@@ -31,7 +62,6 @@ class LoginTabletPage extends StatelessWidget {
SizedBox(height: 32.0.h()),
const LoginTitle(),
SizedBox(height: 32.0.h()),
LoginTextField(
controller: viewModel.usernameController,
focusNode: viewModel.usernameFocus,
@@ -42,7 +72,6 @@ class LoginTabletPage extends StatelessWidget {
prefixIconPadding: 4.0.w(),
),
SizedBox(height: 16.0.h()),
LoginTextField(
controller: viewModel.passwordController,
focusNode: viewModel.passwordFocus,
@@ -56,7 +85,6 @@ class LoginTabletPage extends StatelessWidget {
borderRedus: 12,
),
SizedBox(height: 32.0.h()),
if (viewModel.isLoading)
BaseButton(
isEnabled: false,
@@ -66,19 +94,9 @@ class LoginTabletPage extends StatelessWidget {
else
BaseButton(
isEnabled: viewModel.isLoginEnabled,
onPressed:
viewModel.isLoginEnabled
onPressed: viewModel.isLoginEnabled
? () async {
await viewModel.login();
if (viewModel.loggedInUser != null) {
HomeRouteData().go(context);
} else if (viewModel.errorMessage != null) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(viewModel.errorMessage!),
),
);
}
}
: null,
),
+1 -1
View File
@@ -38,7 +38,7 @@ class LoginTextField extends StatelessWidget {
child: TextField(
controller: controller,
focusNode: focusNode,
obscureText: isPassword ? obscureText : false,
obscureText: isPassword && obscureText,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: (fieldHeight != null ? (fieldHeight! / 2.8) : 16.0).h(),