Commit ca074a22 authored by Ilham Maulana's avatar Ilham Maulana 💻

feat: create loading widget

parent 79c9cf73
...@@ -74,10 +74,10 @@ class AuthProvider with ChangeNotifier { ...@@ -74,10 +74,10 @@ class AuthProvider with ChangeNotifier {
} }
Future<void> signOut() async { Future<void> signOut() async {
isLoading = true;
final token = await getAccessToken(); final token = await getAccessToken();
try { try {
setLoading(true);
final response = await http.get( final response = await http.get(
Uri.parse('$baseUrl/auth/logout'), Uri.parse('$baseUrl/auth/logout'),
headers: { headers: {
...@@ -94,7 +94,7 @@ class AuthProvider with ChangeNotifier { ...@@ -94,7 +94,7 @@ class AuthProvider with ChangeNotifier {
debugPrint("Logout failed: ${response.statusCode} ${response.body}"); debugPrint("Logout failed: ${response.statusCode} ${response.body}");
} }
isLoading = false; setLoading(false);
notifyListeners(); notifyListeners();
} catch (error) { } catch (error) {
debugPrint("Logout failed $error"); debugPrint("Logout failed $error");
......
...@@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; ...@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:library_app/src/providers/auth_provider.dart'; import 'package:library_app/src/providers/auth_provider.dart';
import 'package:library_app/src/screens/form_screen.dart'; import 'package:library_app/src/screens/form_screen.dart';
import 'package:library_app/src/widgets/loading.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class LoginForm extends StatefulWidget { class LoginForm extends StatefulWidget {
...@@ -134,14 +135,7 @@ class _LoginForm extends State<LoginForm> { ...@@ -134,14 +135,7 @@ class _LoginForm extends State<LoginForm> {
); );
}, },
child: authProvider.isLoading child: authProvider.isLoading
? const SizedBox( ? const Loading()
width: 20.0,
height: 20.0,
child: CircularProgressIndicator(
color: Colors.white,
strokeWidth: 3.0,
),
)
: const Text("Submit"), : const Text("Submit"),
), ),
), ),
......
import 'package:flutter/material.dart';
class Loading extends StatelessWidget {
const Loading({super.key});
@override
Widget build(BuildContext context) {
return const SizedBox(
width: 20.0,
height: 20.0,
child: CircularProgressIndicator(
color: Colors.white,
strokeWidth: 3.0,
),
);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment