Skip to content

Commit

Permalink
fix: open MiAuth in app if iOS (#369)
Browse files Browse the repository at this point in the history
  • Loading branch information
poppingmoon authored Aug 26, 2024
1 parent 08ee466 commit 31db8c1
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 7 deletions.
3 changes: 1 addition & 2 deletions lib/repository/miauth_repository.dart
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@ class MiAuthRepository {
{
'name': 'Aria',
'permission': _permissions.map((e) => e.value).join(','),
if (defaultTargetPlatform
case TargetPlatform.android || TargetPlatform.iOS)
if (defaultTargetPlatform == TargetPlatform.android)
'callback': 'aria://aria/miauth',
},
);
Expand Down
12 changes: 8 additions & 4 deletions lib/util/launch_url.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:url_launcher/url_launcher.dart' as launcher;
import 'package:url_launcher/url_launcher.dart' as url_launcher;

import '../provider/general_settings_notifier_provider.dart';

Future<bool> launchUrl(WidgetRef ref, Uri url) {
return launcher.launchUrl(
Future<bool> launchUrl(
WidgetRef ref,
Uri url, {
url_launcher.LaunchMode? mode,
}) {
return url_launcher.launchUrl(
url,
mode: ref.read(generalSettingsNotifierProvider).launchMode,
mode: mode ?? ref.read(generalSettingsNotifierProvider).launchMode,
);
}
10 changes: 9 additions & 1 deletion lib/view/page/login_page.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import 'dart:ui';

import 'package:collection/collection.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:url_launcher/url_launcher.dart' hide launchUrl;

import '../../i18n/strings.g.dart';
import '../../provider/miauth_notifier_provider.dart';
Expand All @@ -25,7 +27,13 @@ class LoginPage extends HookConsumerWidget {
.toLowerCase();
final url =
ref.read(miAuthNotifierProvider.notifier).buildMiAuthUrl(trimmed);
launchUrl(ref, url);
launchUrl(
ref,
url,
mode: defaultTargetPlatform == TargetPlatform.iOS
? LaunchMode.inAppWebView
: null,
);
ref.context.push('/login/authenticate');
}

Expand Down

0 comments on commit 31db8c1

Please sign in to comment.