fix platform specific code not working on web

This commit is contained in:
2026-02-25 12:05:07 +02:00
parent 281ea863e8
commit 5135629b33
11 changed files with 29 additions and 14 deletions

View File

@@ -1,5 +1,6 @@
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart';
@@ -159,7 +160,7 @@ class _CurrencyExchangeRateState extends State<CurrencyExchangeRate> {
),
SizedBox(height: 10),
Consumer(builder: (context, bannerAdDisplay, child) {
if (Platform.isAndroid || Platform.isIOS) {
if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) {
return MihBannerAd();
} else {
return const SizedBox(height: 0);

View File

@@ -231,7 +231,7 @@ class _TipCalcState extends State<TipCalc> {
),
SizedBox(height: 10),
Consumer(builder: (context, bannerAdDisplay, child) {
if (Platform.isAndroid || Platform.isIOS) {
if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) {
return MihBannerAd();
} else {
return const SizedBox(height: 0);

View File

@@ -1,6 +1,7 @@
import 'dart:async';
import 'dart:io';
import 'dart:math';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@@ -852,7 +853,7 @@ class _MineSweeperGameState extends State<MineSweeperGame> {
],
),
),
_timer != null && (Platform.isAndroid || Platform.isIOS)
_timer != null && !kIsWeb && (Platform.isAndroid || Platform.isIOS)
? MihBannerAd()
: SizedBox(),
SizedBox(height: 15),

View File

@@ -129,7 +129,7 @@ class _MihAiChatState extends State<MihAiChat> with WidgetsBindingObserver {
}
if (textToSpeak != null) {
if (Platform.isLinux) {
if (!kIsWeb && Platform.isLinux) {
// Linux Workaround: Use Speech Dispatcher (standard on most distros)
// '-t female1' is optional for voice variety
Process.run('spd-say', [textToSpeak]);
@@ -204,7 +204,7 @@ class _MihAiChatState extends State<MihAiChat> with WidgetsBindingObserver {
// }
void stopTTS(MzansiAiProvider aiProvider) {
if (Platform.isLinux) {
if (!kIsWeb && Platform.isLinux) {
Process.run('spd-say', ['-S']); // The -S flag stops current speech
} else {
_flutterTts.stop();
@@ -213,7 +213,7 @@ class _MihAiChatState extends State<MihAiChat> with WidgetsBindingObserver {
}
Future<void> initTts(MzansiAiProvider aiProvider) async {
if (Platform.isLinux) return;
if (!kIsWeb && Platform.isLinux) return;
try {
await _flutterTts.setSpeechRate(!kIsWeb ? 0.55 : 1);
// await _flutterTts.setLanguage("en-US");
@@ -284,7 +284,7 @@ class _MihAiChatState extends State<MihAiChat> with WidgetsBindingObserver {
@override
void dispose() {
if (!Platform.isLinux) {
if (!kIsWeb && !Platform.isLinux) {
_flutterTts.stop();
}
WidgetsBinding.instance.removeObserver(this);

View File

@@ -547,7 +547,7 @@ class _BuildLoyaltyCardListState extends State<BuildLoyaltyCardList> {
),
),
SizedBox(height: 10),
if (Platform.isAndroid || Platform.isIOS) MihBannerAd()
if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) MihBannerAd()
// MihBannerAd(),
],
),