diff --git a/assets/images/oidc/discord.svg b/assets/images/oidc/discord.svg
new file mode 100644
index 0000000..3e52154
--- /dev/null
+++ b/assets/images/oidc/discord.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/images/oidc/github.svg b/assets/images/oidc/github.svg
new file mode 100644
index 0000000..37fa923
--- /dev/null
+++ b/assets/images/oidc/github.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/images/oidc/microsoft.svg b/assets/images/oidc/microsoft.svg
index 5334aa7..13307b7 100644
--- a/assets/images/oidc/microsoft.svg
+++ b/assets/images/oidc/microsoft.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 52c5629..acaa896 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -1,15 +1,5 @@
PODS:
- Alamofire (5.10.2)
- - AppAuth (1.7.6):
- - AppAuth/Core (= 1.7.6)
- - AppAuth/ExternalUserAgent (= 1.7.6)
- - AppAuth/Core (1.7.6)
- - AppAuth/ExternalUserAgent (1.7.6):
- - AppAuth/Core
- - AppCheckCore (11.2.0):
- - GoogleUtilities/Environment (~> 8.0)
- - GoogleUtilities/UserDefaults (~> 8.0)
- - PromisesObjC (~> 2.4)
- connectivity_plus (0.0.1):
- Flutter
- croppy (0.0.1):
@@ -105,20 +95,9 @@ PODS:
- gal (1.0.0):
- Flutter
- FlutterMacOS
- - google_sign_in_ios (0.0.1):
- - AppAuth (>= 1.7.4)
- - Flutter
- - FlutterMacOS
- - GoogleSignIn (~> 8.0)
- - GTMSessionFetcher (>= 3.4.0)
- GoogleDataTransport (10.1.0):
- nanopb (~> 3.30910.0)
- PromisesObjC (~> 2.4)
- - GoogleSignIn (8.0.0):
- - AppAuth (< 2.0, >= 1.7.3)
- - AppCheckCore (~> 11.0)
- - GTMAppAuth (< 5.0, >= 4.1.1)
- - GTMSessionFetcher/Core (~> 3.3)
- GoogleUtilities/AppDelegateSwizzler (8.1.0):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
@@ -143,14 +122,6 @@ PODS:
- GoogleUtilities/UserDefaults (8.1.0):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- - GTMAppAuth (4.1.1):
- - AppAuth/Core (~> 1.7)
- - GTMSessionFetcher/Core (< 4.0, >= 3.3)
- - GTMSessionFetcher (3.5.0):
- - GTMSessionFetcher/Full (= 3.5.0)
- - GTMSessionFetcher/Core (3.5.0)
- - GTMSessionFetcher/Full (3.5.0):
- - GTMSessionFetcher/Core
- image_picker_ios (0.0.1):
- Flutter
- irondash_engine_context (0.0.1):
@@ -241,7 +212,6 @@ DEPENDENCIES:
- flutter_udid (from `.symlinks/plugins/flutter_udid/ios`)
- flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`)
- gal (from `.symlinks/plugins/gal/darwin`)
- - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- irondash_engine_context (from `.symlinks/plugins/irondash_engine_context/ios`)
- Kingfisher (~> 8.0)
@@ -264,8 +234,6 @@ DEPENDENCIES:
SPEC REPOS:
trunk:
- Alamofire
- - AppAuth
- - AppCheckCore
- DKImagePickerController
- DKPhotoGallery
- Firebase
@@ -274,10 +242,7 @@ SPEC REPOS:
- FirebaseInstallations
- FirebaseMessaging
- GoogleDataTransport
- - GoogleSignIn
- GoogleUtilities
- - GTMAppAuth
- - GTMSessionFetcher
- Kingfisher
- nanopb
- OrderedSet
@@ -317,8 +282,6 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_webrtc/ios"
gal:
:path: ".symlinks/plugins/gal/darwin"
- google_sign_in_ios:
- :path: ".symlinks/plugins/google_sign_in_ios/darwin"
image_picker_ios:
:path: ".symlinks/plugins/image_picker_ios/ios"
irondash_engine_context:
@@ -356,8 +319,6 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Alamofire: 7193b3b92c74a07f85569e1a6c4f4237291e7496
- AppAuth: d4f13a8fe0baf391b2108511793e4b479691fb73
- AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd
croppy: 979e8ddc254f4642bffe7d52dc7193354b27ba30
device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
@@ -379,12 +340,8 @@ SPEC CHECKSUMS:
flutter_udid: f7c3884e6ec2951efe4f9de082257fc77c4d15e9
flutter_webrtc: fd0d3bdef8766a0736dbbe2e5b7e85f1f3c52117
gal: baecd024ebfd13c441269ca7404792a7152fde89
- google_sign_in_ios: b48bb9af78576358a168361173155596c845f0b9
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
- GoogleSignIn: ce8c89bb9b37fb624b92e7514cc67335d1e277e4
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
- GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
- GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
irondash_engine_context: 8e58ca8e0212ee9d1c7dc6a42121849986c88486
Kingfisher: 0621d0ac0c78fecb19f6dc5303bde2b52abaf2f5
diff --git a/lib/screens/account/me/settings.dart b/lib/screens/account/me/settings.dart
index 9c38fb5..d86d2c7 100644
--- a/lib/screens/account/me/settings.dart
+++ b/lib/screens/account/me/settings.dart
@@ -174,7 +174,14 @@ class AccountSettingsScreen extends HookConsumerWidget {
)
: Text(connection.providedIdentifier),
leading: CircleAvatar(
- child: Icon(getProviderIcon(connection.provider)),
+ child: getProviderIcon(
+ connection.provider,
+ size: 16,
+ color:
+ Theme.of(
+ context,
+ ).colorScheme.onPrimaryContainer,
+ ),
).padding(top: 4),
trailing: const Icon(Symbols.chevron_right),
isThreeLine: true,
diff --git a/lib/screens/account/me/settings_connections.dart b/lib/screens/account/me/settings_connections.dart
index 34dc2e3..6dd5e5c 100644
--- a/lib/screens/account/me/settings_connections.dart
+++ b/lib/screens/account/me/settings_connections.dart
@@ -1,7 +1,7 @@
-import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
+import 'package:flutter_svg/flutter_svg.dart';
import 'package:gap/gap.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:island/models/auth.dart';
@@ -17,20 +17,24 @@ import 'package:sign_in_with_apple/sign_in_with_apple.dart';
import 'package:styled_widget/styled_widget.dart';
// Helper function to get provider icon and localized name
-IconData getProviderIcon(String provider) {
- switch (provider.toLowerCase()) {
+Widget getProviderIcon(String provider, {double size = 24, Color? color}) {
+ final providerLower = provider.toLowerCase();
+
+ // Check if we have an SVG for this provider
+ switch (providerLower) {
case 'apple':
- return Icons.apple;
case 'microsoft':
- return Symbols.window; // Microsoft icon alternative
case 'google':
- return Symbols.g_translate; // Google icon alternative
case 'github':
- return Symbols.code; // GitHub icon
case 'discord':
- return Symbols.forum; // Discord icon alternative
+ return SvgPicture.asset(
+ 'assets/images/oidc/$providerLower.svg',
+ width: size,
+ height: size,
+ color: color,
+ );
default:
- return Symbols.link;
+ return Icon(Symbols.link, size: size);
}
}
@@ -84,7 +88,11 @@ class AccountConnectionSheet extends HookConsumerWidget {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
- Icon(getProviderIcon(connection.provider), size: 32),
+ getProviderIcon(
+ connection.provider,
+ size: 32,
+ color: Theme.of(context).colorScheme.onSurface,
+ ),
const Gap(8),
Text(getLocalizedProviderName(connection.provider)).tr(),
const Gap(4),
@@ -161,15 +169,15 @@ class AccountConnectionNewSheet extends HookConsumerWidget {
case 'google':
case 'github':
case 'discord':
- final token = await Navigator.of(context).push(
+ await Navigator.of(context).push(
MaterialPageRoute(
builder:
(context) => OidcScreen(
provider: selectedProvider.value.toLowerCase(),
+ title: 'Connect with ${selectedProvider.value}',
),
),
);
- print(token);
break;
default:
showSnackBar(context, 'accountConnectionAddError'.tr());
@@ -186,7 +194,11 @@ class AccountConnectionNewSheet extends HookConsumerWidget {
DropdownButtonFormField(
value: selectedProvider.value,
decoration: InputDecoration(
- prefixIcon: Icon(getProviderIcon(selectedProvider.value)),
+ prefixIcon: getProviderIcon(
+ selectedProvider.value,
+ size: 16,
+ color: Theme.of(context).colorScheme.onSurface,
+ ).padding(all: 16),
labelText: 'accountConnectionProvider'.tr(),
border: const OutlineInputBorder(),
),
@@ -304,8 +316,9 @@ class AccountConnectionsSheet extends HookConsumerWidget {
return false;
},
child: ListTile(
- leading: Icon(
- getProviderIcon(connection.provider),
+ leading: getProviderIcon(
+ connection.provider,
+ color: Theme.of(context).colorScheme.onSurface,
),
title:
Text(
diff --git a/lib/screens/auth/login.dart b/lib/screens/auth/login.dart
index d747a69..282b42d 100644
--- a/lib/screens/auth/login.dart
+++ b/lib/screens/auth/login.dart
@@ -11,8 +11,6 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_otp_text_field/flutter_otp_text_field.dart';
-import 'package:flutter_svg/svg.dart';
-import 'package:google_sign_in/google_sign_in.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:gap/gap.dart';
import 'package:island/models/auth.dart';
@@ -20,6 +18,7 @@ import 'package:island/pods/config.dart';
import 'package:island/pods/network.dart';
import 'package:island/pods/userinfo.dart';
import 'package:island/pods/websocket.dart';
+import 'package:island/screens/account/me/settings_connections.dart';
import 'package:island/services/notify.dart';
import 'package:island/services/udid.dart';
import 'package:island/widgets/alert.dart';
@@ -271,7 +270,6 @@ class _LoginCheckScreen extends HookConsumerWidget {
],
decoration: InputDecoration(
isDense: true,
- border: const OutlineInputBorder(),
labelText: 'password'.tr(),
),
onTapOutside: (_) => FocusManager.instance.primaryFocus?.unfocus(),
@@ -292,14 +290,12 @@ class _LoginCheckScreen extends HookConsumerWidget {
textStyle: Theme.of(context).textTheme.titleLarge!,
),
const Gap(12),
- Card(
- child: ListTile(
- leading: Icon(
- kFactorTypes[factor!.type]?.$3 ?? Symbols.question_mark,
- ),
- title: Text(kFactorTypes[factor!.type]?.$1 ?? 'unknown').tr(),
- subtitle: Text(kFactorTypes[factor!.type]?.$2 ?? 'unknown').tr(),
+ ListTile(
+ leading: Icon(
+ kFactorTypes[factor!.type]?.$3 ?? Symbols.question_mark,
),
+ title: Text(kFactorTypes[factor!.type]?.$1 ?? 'unknown').tr(),
+ subtitle: Text(kFactorTypes[factor!.type]?.$2 ?? 'unknown').tr(),
),
const Gap(12),
Row(
@@ -604,25 +600,6 @@ class _LoginLookupScreen extends HookConsumerWidget {
}
}
- Future withGoogle() async {
- // TODO This crashes for no reason
- GoogleSignIn gsi = GoogleSignIn(
- clientId:
- kIsWeb
- ? '961776991058-963m1qin2vtp8fv693b5fdrab5hmpl89.apps.googleusercontent.com'
- : (Platform.isIOS || Platform.isMacOS)
- ? '961776991058-stt7et4qvn3cpscl4r61gl1hnlatqkig.apps.googleusercontent.com'
- : '961776991058-r4iv9qoio57ul7utbfpgfrda2etvtch8.apps.googleusercontent.com',
- scopes: ['openid', 'https://www.googleapis.com/auth/userinfo.email'],
- );
-
- try {
- var ga = await gsi.signIn();
- } catch (err) {
- showErrorAlert(err);
- }
- }
-
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -658,28 +635,13 @@ class _LoginLookupScreen extends HookConsumerWidget {
Text("loginOr").tr().fontSize(11).opacity(0.85),
const Gap(8),
Spacer(),
- // IconButton.filledTonal(
- // // onPressed: withGoogle,
- // padding: EdgeInsets.zero,
- // icon: SvgPicture.asset(
- // 'assets/images/oidc/google.svg',
- // width: 16,
- // height: 16,
- // ),
- // tooltip: 'Google',
- // ),
IconButton.filledTonal(
onPressed: withApple,
padding: EdgeInsets.zero,
- icon: SvgPicture.asset(
- 'assets/images/oidc/apple.svg',
- width: 16,
- height: 16,
- color:
- MediaQuery.of(context).platformBrightness ==
- Brightness.light
- ? Colors.black54
- : Colors.white,
+ icon: getProviderIcon(
+ "apple",
+ size: 16,
+ color: Theme.of(context).colorScheme.onPrimaryContainer,
),
tooltip: 'Apple Account',
),
diff --git a/lib/screens/auth/oidc.native.dart b/lib/screens/auth/oidc.native.dart
index 57d27d6..c499873 100644
--- a/lib/screens/auth/oidc.native.dart
+++ b/lib/screens/auth/oidc.native.dart
@@ -1,36 +1,55 @@
+import 'dart:io';
+
+import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:island/pods/config.dart';
+import 'package:island/pods/network.dart';
import 'package:island/widgets/app_scaffold.dart';
class OidcScreen extends ConsumerStatefulWidget {
final String provider;
+ final String? title;
- const OidcScreen({super.key, required this.provider});
+ const OidcScreen({super.key, required this.provider, this.title});
@override
- ConsumerState createState() => _OIDCScreenState();
+ ConsumerState createState() => _OidcScreenState();
}
-class _OIDCScreenState extends ConsumerState {
- InAppWebViewController? _webViewController;
+class _OidcScreenState extends ConsumerState {
String? authToken;
@override
Widget build(BuildContext context) {
final serverUrl = ref.watch(serverUrlProvider);
+ final token = ref.watch(tokenProvider);
return AppScaffold(
- appBar: AppBar(title: Text('login').tr()),
+ appBar: AppBar(
+ title: widget.title != null ? Text(widget.title!) : Text('login').tr(),
+ ),
body: InAppWebView(
+ initialSettings: InAppWebViewSettings(
+ userAgent:
+ kIsWeb
+ ? null
+ : Platform.isIOS
+ ? 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1'
+ : Platform.isAndroid
+ ? 'Mozilla/5.0 (Linux; Android 13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36'
+ : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
+ ),
initialUrlRequest: URLRequest(
- url: WebUri('$serverUrl/auth/login/${widget.provider}'),
+ url: WebUri(
+ (token?.token.isNotEmpty ?? false)
+ ? '$serverUrl/auth/login/${widget.provider}?tk=${token!.token}'
+ : '$serverUrl/auth/login/${widget.provider}',
+ ),
),
onWebViewCreated: (controller) {
- _webViewController = controller;
-
// Register a handler to receive the token from JavaScript
controller.addJavaScriptHandler(
handlerName: 'tokenHandler',
diff --git a/lib/screens/auth/oidc.web.dart b/lib/screens/auth/oidc.web.dart
index fa3ad21..c27e3de 100644
--- a/lib/screens/auth/oidc.web.dart
+++ b/lib/screens/auth/oidc.web.dart
@@ -4,20 +4,22 @@ import 'dart:ui_web' as ui;
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:island/pods/config.dart';
+import 'package:island/pods/network.dart';
import 'package:island/widgets/app_scaffold.dart';
import 'package:web/web.dart' as web;
import 'package:flutter/material.dart';
class OidcScreen extends ConsumerStatefulWidget {
final String provider;
+ final String? title;
- const OidcScreen({super.key, required this.provider});
+ const OidcScreen({super.key, required this.provider, this.title});
@override
- ConsumerState createState() => _OIDCScreenState();
+ ConsumerState createState() => _OidcScreenState();
}
-class _OIDCScreenState extends ConsumerState {
+class _OidcScreenState extends ConsumerState {
bool _isInitialized = false;
final String _viewType = 'oidc-iframe';
@@ -29,15 +31,19 @@ class _OIDCScreenState extends ConsumerState {
if (message.startsWith("token=")) {
String token = message.replaceFirst("token=", "");
// Return the token and close the screen
- if (context.mounted) Navigator.pop(context, token);
+ if (mounted) Navigator.pop(context, token);
}
}
});
// Create the iframe for the OIDC login
+ final token = ref.watch(tokenProvider);
final iframe =
web.HTMLIFrameElement()
- ..src = '$serverUrl/auth/login/${widget.provider}'
+ ..src =
+ (token?.token.isNotEmpty ?? false)
+ ? '$serverUrl/auth/login/${widget.provider}?tk=${token!.token}'
+ : '$serverUrl/auth/login/${widget.provider}'
..style.border = 'none'
..width = '100%'
..height = '100%';
@@ -68,7 +74,9 @@ class _OIDCScreenState extends ConsumerState {
@override
Widget build(BuildContext context) {
return AppScaffold(
- appBar: AppBar(title: Text('login').tr()),
+ appBar: AppBar(
+ title: widget.title != null ? Text(widget.title!) : Text('login').tr(),
+ ),
body:
_isInitialized
? HtmlElementView(viewType: _viewType)
diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
index 3dfea74..8824bf0 100644
--- a/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -18,7 +18,6 @@ import flutter_timezone
import flutter_udid
import flutter_webrtc
import gal
-import google_sign_in_ios
import irondash_engine_context
import livekit_client
import media_kit_libs_macos_video
@@ -50,7 +49,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FlutterUdidPlugin.register(with: registry.registrar(forPlugin: "FlutterUdidPlugin"))
FlutterWebRTCPlugin.register(with: registry.registrar(forPlugin: "FlutterWebRTCPlugin"))
GalPlugin.register(with: registry.registrar(forPlugin: "GalPlugin"))
- FLTGoogleSignInPlugin.register(with: registry.registrar(forPlugin: "FLTGoogleSignInPlugin"))
IrondashEngineContextPlugin.register(with: registry.registrar(forPlugin: "IrondashEngineContextPlugin"))
LiveKitPlugin.register(with: registry.registrar(forPlugin: "LiveKitPlugin"))
MediaKitLibsMacosVideoPlugin.register(with: registry.registrar(forPlugin: "MediaKitLibsMacosVideoPlugin"))
diff --git a/macos/Podfile.lock b/macos/Podfile.lock
new file mode 100644
index 0000000..a0b9107
--- /dev/null
+++ b/macos/Podfile.lock
@@ -0,0 +1,362 @@
+PODS:
+ - AppAuth (1.7.6):
+ - AppAuth/Core (= 1.7.6)
+ - AppAuth/ExternalUserAgent (= 1.7.6)
+ - AppAuth/Core (1.7.6)
+ - AppAuth/ExternalUserAgent (1.7.6):
+ - AppAuth/Core
+ - AppCheckCore (11.2.0):
+ - GoogleUtilities/Environment (~> 8.0)
+ - GoogleUtilities/UserDefaults (~> 8.0)
+ - PromisesObjC (~> 2.4)
+ - bitsdojo_window_macos (0.0.1):
+ - FlutterMacOS
+ - connectivity_plus (0.0.1):
+ - FlutterMacOS
+ - croppy (0.0.1):
+ - FlutterMacOS
+ - device_info_plus (0.0.1):
+ - FlutterMacOS
+ - file_picker (0.0.1):
+ - FlutterMacOS
+ - file_selector_macos (0.0.1):
+ - FlutterMacOS
+ - Firebase/CoreOnly (11.13.0):
+ - FirebaseCore (~> 11.13.0)
+ - Firebase/Messaging (11.13.0):
+ - Firebase/CoreOnly
+ - FirebaseMessaging (~> 11.13.0)
+ - firebase_core (3.14.0):
+ - Firebase/CoreOnly (~> 11.13.0)
+ - FlutterMacOS
+ - firebase_messaging (15.2.7):
+ - Firebase/CoreOnly (~> 11.13.0)
+ - Firebase/Messaging (~> 11.13.0)
+ - firebase_core
+ - FlutterMacOS
+ - FirebaseCore (11.13.0):
+ - FirebaseCoreInternal (~> 11.13.0)
+ - GoogleUtilities/Environment (~> 8.1)
+ - GoogleUtilities/Logger (~> 8.1)
+ - FirebaseCoreInternal (11.13.0):
+ - "GoogleUtilities/NSData+zlib (~> 8.1)"
+ - FirebaseInstallations (11.13.0):
+ - FirebaseCore (~> 11.13.0)
+ - GoogleUtilities/Environment (~> 8.1)
+ - GoogleUtilities/UserDefaults (~> 8.1)
+ - PromisesObjC (~> 2.4)
+ - FirebaseMessaging (11.13.0):
+ - FirebaseCore (~> 11.13.0)
+ - FirebaseInstallations (~> 11.0)
+ - GoogleDataTransport (~> 10.0)
+ - GoogleUtilities/AppDelegateSwizzler (~> 8.1)
+ - GoogleUtilities/Environment (~> 8.1)
+ - GoogleUtilities/Reachability (~> 8.1)
+ - GoogleUtilities/UserDefaults (~> 8.1)
+ - nanopb (~> 3.30910.0)
+ - flutter_inappwebview_macos (0.0.1):
+ - FlutterMacOS
+ - OrderedSet (~> 6.0.3)
+ - flutter_platform_alert (0.0.1):
+ - FlutterMacOS
+ - flutter_timezone (0.1.0):
+ - FlutterMacOS
+ - flutter_udid (0.0.1):
+ - FlutterMacOS
+ - SAMKeychain
+ - flutter_webrtc (0.14.0):
+ - FlutterMacOS
+ - WebRTC-SDK (= 125.6422.07)
+ - FlutterMacOS (1.0.0)
+ - gal (1.0.0):
+ - Flutter
+ - FlutterMacOS
+ - google_sign_in_ios (0.0.1):
+ - AppAuth (>= 1.7.4)
+ - Flutter
+ - FlutterMacOS
+ - GoogleSignIn (~> 8.0)
+ - GTMSessionFetcher (>= 3.4.0)
+ - GoogleDataTransport (10.1.0):
+ - nanopb (~> 3.30910.0)
+ - PromisesObjC (~> 2.4)
+ - GoogleSignIn (8.0.0):
+ - AppAuth (< 2.0, >= 1.7.3)
+ - AppCheckCore (~> 11.0)
+ - GTMAppAuth (< 5.0, >= 4.1.1)
+ - GTMSessionFetcher/Core (~> 3.3)
+ - GoogleUtilities/AppDelegateSwizzler (8.1.0):
+ - GoogleUtilities/Environment
+ - GoogleUtilities/Logger
+ - GoogleUtilities/Network
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Environment (8.1.0):
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Logger (8.1.0):
+ - GoogleUtilities/Environment
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Network (8.1.0):
+ - GoogleUtilities/Logger
+ - "GoogleUtilities/NSData+zlib"
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Reachability
+ - "GoogleUtilities/NSData+zlib (8.1.0)":
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/Privacy (8.1.0)
+ - GoogleUtilities/Reachability (8.1.0):
+ - GoogleUtilities/Logger
+ - GoogleUtilities/Privacy
+ - GoogleUtilities/UserDefaults (8.1.0):
+ - GoogleUtilities/Logger
+ - GoogleUtilities/Privacy
+ - GTMAppAuth (4.1.1):
+ - AppAuth/Core (~> 1.7)
+ - GTMSessionFetcher/Core (< 4.0, >= 3.3)
+ - GTMSessionFetcher (3.5.0):
+ - GTMSessionFetcher/Full (= 3.5.0)
+ - GTMSessionFetcher/Core (3.5.0)
+ - GTMSessionFetcher/Full (3.5.0):
+ - GTMSessionFetcher/Core
+ - irondash_engine_context (0.0.1):
+ - FlutterMacOS
+ - livekit_client (2.4.8):
+ - flutter_webrtc
+ - FlutterMacOS
+ - WebRTC-SDK (= 125.6422.07)
+ - media_kit_libs_macos_video (1.0.4):
+ - FlutterMacOS
+ - media_kit_video (0.0.1):
+ - FlutterMacOS
+ - nanopb (3.30910.0):
+ - nanopb/decode (= 3.30910.0)
+ - nanopb/encode (= 3.30910.0)
+ - nanopb/decode (3.30910.0)
+ - nanopb/encode (3.30910.0)
+ - OrderedSet (6.0.3)
+ - package_info_plus (0.0.1):
+ - FlutterMacOS
+ - pasteboard (0.0.1):
+ - FlutterMacOS
+ - path_provider_foundation (0.0.1):
+ - Flutter
+ - FlutterMacOS
+ - PromisesObjC (2.4.0)
+ - record_macos (1.0.0):
+ - FlutterMacOS
+ - SAMKeychain (1.5.3)
+ - shared_preferences_foundation (0.0.1):
+ - Flutter
+ - FlutterMacOS
+ - sign_in_with_apple (0.0.1):
+ - FlutterMacOS
+ - sqflite_darwin (0.0.4):
+ - Flutter
+ - FlutterMacOS
+ - sqlite3 (3.50.1):
+ - sqlite3/common (= 3.50.1)
+ - sqlite3/common (3.50.1)
+ - sqlite3/dbstatvtab (3.50.1):
+ - sqlite3/common
+ - sqlite3/fts5 (3.50.1):
+ - sqlite3/common
+ - sqlite3/math (3.50.1):
+ - sqlite3/common
+ - sqlite3/perf-threadsafe (3.50.1):
+ - sqlite3/common
+ - sqlite3/rtree (3.50.1):
+ - sqlite3/common
+ - sqlite3_flutter_libs (0.0.1):
+ - Flutter
+ - FlutterMacOS
+ - sqlite3 (~> 3.50.1)
+ - sqlite3/dbstatvtab
+ - sqlite3/fts5
+ - sqlite3/math
+ - sqlite3/perf-threadsafe
+ - sqlite3/rtree
+ - super_native_extensions (0.0.1):
+ - FlutterMacOS
+ - url_launcher_macos (0.0.1):
+ - FlutterMacOS
+ - volume_controller (0.0.1):
+ - FlutterMacOS
+ - wakelock_plus (0.0.1):
+ - FlutterMacOS
+ - WebRTC-SDK (125.6422.07)
+
+DEPENDENCIES:
+ - bitsdojo_window_macos (from `Flutter/ephemeral/.symlinks/plugins/bitsdojo_window_macos/macos`)
+ - connectivity_plus (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos`)
+ - croppy (from `Flutter/ephemeral/.symlinks/plugins/croppy/macos`)
+ - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`)
+ - file_picker (from `Flutter/ephemeral/.symlinks/plugins/file_picker/macos`)
+ - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`)
+ - firebase_core (from `Flutter/ephemeral/.symlinks/plugins/firebase_core/macos`)
+ - firebase_messaging (from `Flutter/ephemeral/.symlinks/plugins/firebase_messaging/macos`)
+ - flutter_inappwebview_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_inappwebview_macos/macos`)
+ - flutter_platform_alert (from `Flutter/ephemeral/.symlinks/plugins/flutter_platform_alert/macos`)
+ - flutter_timezone (from `Flutter/ephemeral/.symlinks/plugins/flutter_timezone/macos`)
+ - flutter_udid (from `Flutter/ephemeral/.symlinks/plugins/flutter_udid/macos`)
+ - flutter_webrtc (from `Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos`)
+ - FlutterMacOS (from `Flutter/ephemeral`)
+ - gal (from `Flutter/ephemeral/.symlinks/plugins/gal/darwin`)
+ - google_sign_in_ios (from `Flutter/ephemeral/.symlinks/plugins/google_sign_in_ios/darwin`)
+ - irondash_engine_context (from `Flutter/ephemeral/.symlinks/plugins/irondash_engine_context/macos`)
+ - livekit_client (from `Flutter/ephemeral/.symlinks/plugins/livekit_client/macos`)
+ - media_kit_libs_macos_video (from `Flutter/ephemeral/.symlinks/plugins/media_kit_libs_macos_video/macos`)
+ - media_kit_video (from `Flutter/ephemeral/.symlinks/plugins/media_kit_video/macos`)
+ - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`)
+ - pasteboard (from `Flutter/ephemeral/.symlinks/plugins/pasteboard/macos`)
+ - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
+ - record_macos (from `Flutter/ephemeral/.symlinks/plugins/record_macos/macos`)
+ - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
+ - sign_in_with_apple (from `Flutter/ephemeral/.symlinks/plugins/sign_in_with_apple/macos`)
+ - sqflite_darwin (from `Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin`)
+ - sqlite3_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/darwin`)
+ - super_native_extensions (from `Flutter/ephemeral/.symlinks/plugins/super_native_extensions/macos`)
+ - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
+ - volume_controller (from `Flutter/ephemeral/.symlinks/plugins/volume_controller/macos`)
+ - wakelock_plus (from `Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos`)
+
+SPEC REPOS:
+ trunk:
+ - AppAuth
+ - AppCheckCore
+ - Firebase
+ - FirebaseCore
+ - FirebaseCoreInternal
+ - FirebaseInstallations
+ - FirebaseMessaging
+ - GoogleDataTransport
+ - GoogleSignIn
+ - GoogleUtilities
+ - GTMAppAuth
+ - GTMSessionFetcher
+ - nanopb
+ - OrderedSet
+ - PromisesObjC
+ - SAMKeychain
+ - sqlite3
+ - WebRTC-SDK
+
+EXTERNAL SOURCES:
+ bitsdojo_window_macos:
+ :path: Flutter/ephemeral/.symlinks/plugins/bitsdojo_window_macos/macos
+ connectivity_plus:
+ :path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos
+ croppy:
+ :path: Flutter/ephemeral/.symlinks/plugins/croppy/macos
+ device_info_plus:
+ :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos
+ file_picker:
+ :path: Flutter/ephemeral/.symlinks/plugins/file_picker/macos
+ file_selector_macos:
+ :path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos
+ firebase_core:
+ :path: Flutter/ephemeral/.symlinks/plugins/firebase_core/macos
+ firebase_messaging:
+ :path: Flutter/ephemeral/.symlinks/plugins/firebase_messaging/macos
+ flutter_inappwebview_macos:
+ :path: Flutter/ephemeral/.symlinks/plugins/flutter_inappwebview_macos/macos
+ flutter_platform_alert:
+ :path: Flutter/ephemeral/.symlinks/plugins/flutter_platform_alert/macos
+ flutter_timezone:
+ :path: Flutter/ephemeral/.symlinks/plugins/flutter_timezone/macos
+ flutter_udid:
+ :path: Flutter/ephemeral/.symlinks/plugins/flutter_udid/macos
+ flutter_webrtc:
+ :path: Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos
+ FlutterMacOS:
+ :path: Flutter/ephemeral
+ gal:
+ :path: Flutter/ephemeral/.symlinks/plugins/gal/darwin
+ google_sign_in_ios:
+ :path: Flutter/ephemeral/.symlinks/plugins/google_sign_in_ios/darwin
+ irondash_engine_context:
+ :path: Flutter/ephemeral/.symlinks/plugins/irondash_engine_context/macos
+ livekit_client:
+ :path: Flutter/ephemeral/.symlinks/plugins/livekit_client/macos
+ media_kit_libs_macos_video:
+ :path: Flutter/ephemeral/.symlinks/plugins/media_kit_libs_macos_video/macos
+ media_kit_video:
+ :path: Flutter/ephemeral/.symlinks/plugins/media_kit_video/macos
+ package_info_plus:
+ :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos
+ pasteboard:
+ :path: Flutter/ephemeral/.symlinks/plugins/pasteboard/macos
+ path_provider_foundation:
+ :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
+ record_macos:
+ :path: Flutter/ephemeral/.symlinks/plugins/record_macos/macos
+ shared_preferences_foundation:
+ :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
+ sign_in_with_apple:
+ :path: Flutter/ephemeral/.symlinks/plugins/sign_in_with_apple/macos
+ sqflite_darwin:
+ :path: Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin
+ sqlite3_flutter_libs:
+ :path: Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/darwin
+ super_native_extensions:
+ :path: Flutter/ephemeral/.symlinks/plugins/super_native_extensions/macos
+ url_launcher_macos:
+ :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
+ volume_controller:
+ :path: Flutter/ephemeral/.symlinks/plugins/volume_controller/macos
+ wakelock_plus:
+ :path: Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos
+
+SPEC CHECKSUMS:
+ AppAuth: d4f13a8fe0baf391b2108511793e4b479691fb73
+ AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
+ bitsdojo_window_macos: 7959fb0ca65a3ccda30095c181ecb856fae48ea9
+ connectivity_plus: 4adf20a405e25b42b9c9f87feff8f4b6fde18a4e
+ croppy: d9bfc8c02f3cd1851f669a421df298a474b78f43
+ device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76
+ file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a
+ file_selector_macos: 6280b52b459ae6c590af5d78fc35c7267a3c4b31
+ Firebase: 3435bc66b4d494c2f22c79fd3aae4c1db6662327
+ firebase_core: 1095fcf33161d99bc34aa10f7c0d89414a208d15
+ firebase_messaging: 6417056ffb85141607618ddfef9fec9f3caab3ea
+ FirebaseCore: c692c7f1c75305ab6aff2b367f25e11d73aa8bd0
+ FirebaseCoreInternal: 29d7b3af4aaf0b8f3ed20b568c13df399b06f68c
+ FirebaseInstallations: 0ee9074f2c1e86561ace168ee1470dc67aabaf02
+ FirebaseMessaging: 195bbdb73e6ca1dbc76cd46e73f3552c084ef6e4
+ flutter_inappwebview_macos: c2d68649f9f8f1831bfcd98d73fd6256366d9d1d
+ flutter_platform_alert: 8fa7a7c21f95b26d08b4a3891936ca27e375f284
+ flutter_timezone: d59eea86178cbd7943cd2431cc2eaa9850f935d8
+ flutter_udid: d26e455e8c06174e6aff476e147defc6cae38495
+ flutter_webrtc: a7eeb54859e672228c28f4b48b1fb61561976ea3
+ FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
+ gal: baecd024ebfd13c441269ca7404792a7152fde89
+ google_sign_in_ios: b48bb9af78576358a168361173155596c845f0b9
+ GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
+ GoogleSignIn: ce8c89bb9b37fb624b92e7514cc67335d1e277e4
+ GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
+ GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
+ GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
+ irondash_engine_context: 893c7d96d20ce361d7e996f39d360c4c2f9869ba
+ livekit_client: 6a35243df3da61750c98e266e02dedcf5d25c888
+ media_kit_libs_macos_video: 85a23e549b5f480e72cae3e5634b5514bc692f65
+ media_kit_video: fa6564e3799a0a28bff39442334817088b7ca758
+ nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
+ OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
+ package_info_plus: f0052d280d17aa382b932f399edf32507174e870
+ pasteboard: 278d8100149f940fb795d6b3a74f0720c890ecb7
+ path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
+ PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
+ record_macos: 295d70bd5fb47145df78df7b80e6697cd18403c0
+ SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c
+ shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
+ sign_in_with_apple: 6673c03c9e3643f6c8d33601943fbfa9ae99f94e
+ sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
+ sqlite3: 1d85290c3321153511f6e900ede7a1608718bbd5
+ sqlite3_flutter_libs: e7fc8c9ea2200ff3271f08f127842131746b70e2
+ super_native_extensions: c2795d6d9aedf4a79fae25cb6160b71b50549189
+ url_launcher_macos: 0fba8ddabfc33ce0a9afe7c5fef5aab3d8d2d673
+ volume_controller: 5c068e6d085c80dadd33fc2c918d2114b775b3dd
+ wakelock_plus: 21ddc249ac4b8d018838dbdabd65c5976c308497
+ WebRTC-SDK: dff00a3892bc570b6014e046297782084071657e
+
+PODFILE CHECKSUM: 346bfb2deb41d4a6ebd6f6799f92188bde2d246f
+
+COCOAPODS: 1.16.2
diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj
index 85590e4..db6dfd2 100644
--- a/macos/Runner.xcodeproj/project.pbxproj
+++ b/macos/Runner.xcodeproj/project.pbxproj
@@ -57,7 +57,7 @@
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; };
- 33CC10ED2044A3C60003C045 /* island.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = island.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 33CC10ED2044A3C60003C045 /* Solian.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Solian.app; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; };
@@ -150,7 +150,7 @@
33CC10EE2044A3C60003C045 /* Products */ = {
isa = PBXGroup;
children = (
- 33CC10ED2044A3C60003C045 /* island.app */,
+ 33CC10ED2044A3C60003C045 /* Solian.app */,
331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
);
name = Products;
@@ -242,7 +242,7 @@
);
name = Runner;
productName = Runner;
- productReference = 33CC10ED2044A3C60003C045 /* island.app */;
+ productReference = 33CC10ED2044A3C60003C045 /* Solian.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -384,14 +384,10 @@
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
);
- inputPaths = (
- );
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
);
- outputPaths = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
@@ -427,14 +423,10 @@
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
- inputPaths = (
- );
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
- outputPaths = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig
index 312c805..34681e2 100644
--- a/macos/Runner/Configs/AppInfo.xcconfig
+++ b/macos/Runner/Configs/AppInfo.xcconfig
@@ -5,10 +5,10 @@
// 'flutter create' template.
// The application's name. By default this is also the title of the Flutter window.
-PRODUCT_NAME = island
+PRODUCT_NAME = Solian
// The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = dev.solsynth.solian
// The copyright displayed in application information
-PRODUCT_COPYRIGHT = Copyright © 2025 com.example. All rights reserved.
+PRODUCT_COPYRIGHT = Copyright © 2025 Solsynth LLC. All rights reserved.
diff --git a/pubspec.lock b/pubspec.lock
index 8476725..93b7416 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -997,54 +997,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.2.1"
- google_identity_services_web:
- dependency: transitive
- description:
- name: google_identity_services_web
- sha256: "5d187c46dc59e02646e10fe82665fc3884a9b71bc1c90c2b8b749316d33ee454"
- url: "https://pub.dev"
- source: hosted
- version: "0.3.3+1"
- google_sign_in:
- dependency: "direct main"
- description:
- name: google_sign_in
- sha256: d0a2c3bcb06e607bb11e4daca48bd4b6120f0bbc4015ccebbe757d24ea60ed2a
- url: "https://pub.dev"
- source: hosted
- version: "6.3.0"
- google_sign_in_android:
- dependency: transitive
- description:
- name: google_sign_in_android
- sha256: d5e23c56a4b84b6427552f1cf3f98f716db3b1d1a647f16b96dbb5b93afa2805
- url: "https://pub.dev"
- source: hosted
- version: "6.2.1"
- google_sign_in_ios:
- dependency: transitive
- description:
- name: google_sign_in_ios
- sha256: "102005f498ce18442e7158f6791033bbc15ad2dcc0afa4cf4752e2722a516c96"
- url: "https://pub.dev"
- source: hosted
- version: "5.9.0"
- google_sign_in_platform_interface:
- dependency: transitive
- description:
- name: google_sign_in_platform_interface
- sha256: "5f6f79cf139c197261adb6ac024577518ae48fdff8e53205c5373b5f6430a8aa"
- url: "https://pub.dev"
- source: hosted
- version: "2.5.0"
- google_sign_in_web:
- dependency: transitive
- description:
- name: google_sign_in_web
- sha256: "460547beb4962b7623ac0fb8122d6b8268c951cf0b646dd150d60498430e4ded"
- url: "https://pub.dev"
- source: hosted
- version: "0.12.4+4"
graphs:
dependency: transitive
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index ed865a3..ccf7028 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -115,7 +115,6 @@ dependencies:
fl_chart: ^1.0.0
sign_in_with_apple: ^7.0.1
flutter_svg: ^2.1.0
- google_sign_in: ^6.3.0
dev_dependencies:
flutter_test: