FurryChat/lib/views/auth_web_view.dart
Marcel b6d2ddaf7d feat!: Use new localisation setup from flutter 1.22
BREAKING CHANGE: This introduces that it might require up to 2 compiles for locals to work.
Also only arb files shall be checked into git.

Took 19 minutes
2020-10-03 11:11:07 +00:00

47 lines
1.3 KiB
Dart

import 'package:fluffychat/components/matrix.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:webview_flutter/webview_flutter.dart';
class AuthWebView extends StatelessWidget {
final String authType;
final String session;
final Function onAuthDone;
const AuthWebView(this.authType, this.session, this.onAuthDone);
@override
Widget build(BuildContext context) {
final url = Matrix.of(context).client.homeserver.toString() +
'/_matrix/client/r0/auth/$authType/fallback/web?session=$session';
if (kIsWeb) launch(url);
return Scaffold(
appBar: AppBar(
title: Text(L10n.of(context).authentication),
leading: IconButton(
icon: Icon(Icons.close),
onPressed: () {
Navigator.of(context).pop();
onAuthDone();
},
),
),
body: Column(
children: <Widget>[
LinearProgressIndicator(),
Expanded(
child: kIsWeb
? Center(child: Icon(Icons.link))
: WebView(
initialUrl: url,
javascriptMode: JavascriptMode.unrestricted,
),
),
],
),
);
}
}