import 'package:comwell_key_app/authentication/authentication_repository.dart';
import 'package:comwell_key_app/base/base_cubit.dart';
import 'package:comwell_key_app/presentation/screens/webview/bloc/webview_state.dart';
import 'package:webview_flutter/webview_flutter.dart';
class WebviewCubit extends BaseCubit<WebviewState> {
late WebViewController controller;
final String url;
final String title;
final AuthenticationRepository _authRepository;
WebviewCubit(this._authRepository, {required this.url, this.title = ""}) : super(const WebviewState()) {
init();
}
void init() {
controller = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setNavigationDelegate(
NavigationDelegate(
onPageStarted: (String url) {
safeEmit(state.copyWith(isLoading: true));
},
onPageFinished: (String url) {
safeEmit(state.copyWith(isLoading: false));
},
onWebResourceError: (WebResourceError error) {
print('WebView error: ${error.description}');
},
),
);
// Load with headers
loadPage(url, "");
}
void loadPage(String url, String authToken) {
controller.loadRequest(
Uri.parse(url),
headers: {},
);
}
}