diff --git a/assets/i18n/en-US.json b/assets/i18n/en-US.json index c63a559..e076c0b 100644 --- a/assets/i18n/en-US.json +++ b/assets/i18n/en-US.json @@ -156,6 +156,7 @@ "accountConnectionProviderGoogle": "Google", "accountConnectionProviderGithub": "GitHub", "accountConnectionProviderDiscord": "Discord", + "accountConnectionProviderAfdian": "Afdian", "checkIn": "Check In", "checkInNone": "Not checked-in yet", "checkInNoneHint": "Get your fortune tips and daily rewards by checking in.", diff --git a/assets/images/oidc/afdian.svg b/assets/images/oidc/afdian.svg new file mode 100644 index 0000000..74bc715 --- /dev/null +++ b/assets/images/oidc/afdian.svg @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/lib/screens/account/me/settings_connections.dart b/lib/screens/account/me/settings_connections.dart index 0605837..c85b5a2 100644 --- a/lib/screens/account/me/settings_connections.dart +++ b/lib/screens/account/me/settings_connections.dart @@ -28,6 +28,7 @@ Widget getProviderIcon(String provider, {double size = 24, Color? color}) { case 'google': case 'github': case 'discord': + case 'afdian': return SvgPicture.asset( 'assets/images/oidc/$providerLower.svg', width: size, @@ -51,6 +52,8 @@ String getLocalizedProviderName(String provider) { return 'accountConnectionProviderGithub'.tr(); case 'discord': return 'accountConnectionProviderDiscord'.tr(); + case 'afdian': + return 'accountConnectionProviderAfdian'.tr(); default: return provider; } @@ -141,7 +144,14 @@ class AccountConnectionNewSheet extends HookConsumerWidget { final selectedProvider = useState('apple'); // List of available providers - final providers = ['apple', 'microsoft', 'google', 'github', 'discord']; + final providers = [ + 'apple', + 'microsoft', + 'google', + 'github', + 'discord', + 'afdian', + ]; Future addConnection() async { final client = ref.watch(apiClientProvider); @@ -182,7 +192,8 @@ class AccountConnectionNewSheet extends HookConsumerWidget { case 'google': case 'github': case 'discord': - await Navigator.of(context).push( + case 'afdian': + await Navigator.of(context, rootNavigator: true).push( MaterialPageRoute( builder: (context) => OidcScreen( diff --git a/lib/screens/auth/login.dart b/lib/screens/auth/login.dart index e045d4a..21d23d9 100644 --- a/lib/screens/auth/login.dart +++ b/lib/screens/auth/login.dart @@ -652,7 +652,7 @@ class _LoginLookupScreen extends HookConsumerWidget { } Future withOidc(String provider) async { - final challengeId = await Navigator.of(context).push( + final challengeId = await Navigator.of(context, rootNavigator: true).push( MaterialPageRoute( builder: (context) => OidcScreen(provider: provider.toLowerCase()), ), diff --git a/lib/widgets/chat/call_overlay.dart b/lib/widgets/chat/call_overlay.dart index 8cec63c..552b73d 100644 --- a/lib/widgets/chat/call_overlay.dart +++ b/lib/widgets/chat/call_overlay.dart @@ -6,9 +6,9 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:island/pods/call.dart'; import 'package:island/route.gr.dart'; import 'package:island/widgets/chat/call_participant_tile.dart'; +import 'package:island/widgets/content/sheet.dart'; import 'package:styled_widget/styled_widget.dart'; import 'package:livekit_client/livekit_client.dart'; -import '../../widgets/content/sheet.dart'; class CallControlsBar extends HookConsumerWidget { const CallControlsBar({super.key}); @@ -150,9 +150,10 @@ class CallControlsBar extends HookConsumerWidget { context: context, builder: (BuildContext dialogContext) { return SheetScaffold( - titleText: deviceType == 'videoinput' - ? 'selectCamera'.tr() - : 'selectMicrophone'.tr(), + titleText: + deviceType == 'videoinput' + ? 'selectCamera'.tr() + : 'selectMicrophone'.tr(), child: ListView.builder( itemCount: devices.length, itemBuilder: (context, index) {