Skip to content

Commit

Permalink
✨ Web compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
redDwarf03 committed Apr 8, 2024
1 parent 4e5f332 commit 19830a1
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 16 deletions.
10 changes: 7 additions & 3 deletions lib/pages/get_wallet_page.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import 'dart:io';
import 'dart:math';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:url_launcher/url_launcher.dart';
Expand Down Expand Up @@ -48,9 +50,11 @@ class GetWalletPage extends StatelessWidget {
return WalletsList(
itemList: itemsToShow,
onTapWallet: (data) {
final url = Platform.isIOS
? data.listing.appStore
: data.listing.playStore;
final url = kIsWeb
? data.listing.webappLink
: Platform.isIOS
? data.listing.appStore
: data.listing.playStore;
if ((url ?? '').isNotEmpty) {
urlUtils.instance.launchUrl(
Uri.parse(url!),
Expand Down
2 changes: 2 additions & 0 deletions lib/services/explorer_service/explorer_service.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'dart:math';

import 'package:collection/collection.dart';
Expand Down Expand Up @@ -197,6 +198,7 @@ class ExplorerService implements IExplorerService {

Future<List<NativeAppData>> _fetchNativeAppData() async {
try {
if (kIsWeb) return [];
final apiUrl = await coreUtils.instance.getApiUrl();
final headers = coreUtils.instance.getAPIHeaders(projectId, _referer);
final uri = Platform.isIOS
Expand Down
1 change: 1 addition & 0 deletions lib/services/magic_service/magic_service.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:async';
import 'dart:convert';
import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
Expand Down
25 changes: 15 additions & 10 deletions lib/utils/platform/platform_utils.dart
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:web3modal_flutter/utils/platform/i_platform_utils.dart';
import 'package:web3modal_flutter/web3modal_flutter.dart';

class PlatformUtils extends IPlatformUtils {
@override
PlatformExact getPlatformExact() {
if (Platform.isAndroid) {
if (kIsWeb) {
return PlatformExact.web;
} else if (Platform.isAndroid) {
return PlatformExact.android;
} else if (Platform.isIOS) {
return PlatformExact.iOS;
Expand All @@ -16,22 +19,24 @@ class PlatformUtils extends IPlatformUtils {
return PlatformExact.macOS;
} else if (Platform.isWindows) {
return PlatformExact.windows;
} else if (kIsWeb) {
} else {
return PlatformExact.web;
}
return PlatformExact.web;
}

@override
PlatformType getPlatformType() {
if (Platform.isAndroid || Platform.isIOS) {
return PlatformType.mobile;
} else if (Platform.isLinux || Platform.isMacOS || Platform.isWindows) {
return PlatformType.desktop;
} else if (kIsWeb) {
if (kIsWeb) {
return PlatformType.web;
} else {
if (Platform.isAndroid || Platform.isIOS) {
return PlatformType.mobile;
} else if (Platform.isLinux || Platform.isMacOS || Platform.isWindows) {
return PlatformType.desktop;
} else {
return PlatformType.mobile;
}
}
return PlatformType.mobile;
}

@override
Expand Down
7 changes: 5 additions & 2 deletions lib/widgets/lists/list_items/download_wallet_item.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher_string.dart';

Expand All @@ -19,10 +22,10 @@ class DownloadWalletItem extends StatelessWidget {
if (webOnly) {
return walletInfo.listing.homepage;
}
if (Platform.isIOS) {
if (kIsWeb == false && Platform.isIOS) {
return walletInfo.listing.appStore ?? '';
}
if (Platform.isAndroid) {
if (kIsWeb == false && Platform.isAndroid) {
return walletInfo.listing.playStore ?? '';
}
return '';
Expand Down
3 changes: 2 additions & 1 deletion lib/widgets/w3m_connect_wallet_button.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:web3modal_flutter/services/magic_service/magic_service_singleton.dart';
import 'package:web3modal_flutter/services/w3m_service/i_w3m_service.dart';
Expand Down Expand Up @@ -55,7 +56,7 @@ class _W3MConnectWalletButtonState extends State<W3MConnectWalletButton> {
alignment: AlignmentDirectional.center,
children: [
// if (_state == ConnectButtonState.connected)
if (Platform.isIOS && emailEnabled)
if (kIsWeb == false && Platform.isIOS && emailEnabled)
SizedBox(
width: 1.0,
height: 1.0,
Expand Down

0 comments on commit 19830a1

Please sign in to comment.