From e129e58752cec8799264f0d50dad706f6bcc46bc Mon Sep 17 00:00:00 2001 From: amirrezaghabeli Date: Mon, 15 Sep 2025 10:40:24 +0330 Subject: [PATCH] fixed web link --- lib/core/config/web_url_strategy.dart | 11 +++++++++++ lib/core/config/web_url_strategy_stub.dart | 4 ++++ lib/core/config/web_url_strategy_web.dart | 6 ++++++ lib/main.dart | 8 +++----- 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 lib/core/config/web_url_strategy.dart create mode 100644 lib/core/config/web_url_strategy_stub.dart create mode 100644 lib/core/config/web_url_strategy_web.dart diff --git a/lib/core/config/web_url_strategy.dart b/lib/core/config/web_url_strategy.dart new file mode 100644 index 0000000..5bf1215 --- /dev/null +++ b/lib/core/config/web_url_strategy.dart @@ -0,0 +1,11 @@ +import 'package:flutter/foundation.dart'; + +import 'web_url_strategy_stub.dart' + if (dart.library.html) 'web_url_strategy_web.dart'; + +// Web-specific URL strategy configuration +void configureWebUrlStrategy() { + if (kIsWeb) { + setWebUrlStrategy(); + } +} diff --git a/lib/core/config/web_url_strategy_stub.dart b/lib/core/config/web_url_strategy_stub.dart new file mode 100644 index 0000000..7718f6d --- /dev/null +++ b/lib/core/config/web_url_strategy_stub.dart @@ -0,0 +1,4 @@ +// Stub implementation for non-web platforms +void setWebUrlStrategy() { + // No-op for non-web platforms +} diff --git a/lib/core/config/web_url_strategy_web.dart b/lib/core/config/web_url_strategy_web.dart new file mode 100644 index 0000000..38cff79 --- /dev/null +++ b/lib/core/config/web_url_strategy_web.dart @@ -0,0 +1,6 @@ +import 'package:flutter_web_plugins/flutter_web_plugins.dart'; + +// Web-specific implementation +void setWebUrlStrategy() { + setUrlStrategy(PathUrlStrategy()); +} diff --git a/lib/main.dart b/lib/main.dart index 79787cd..71f98bb 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,11 +4,11 @@ import 'dart:ui'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; import 'package:provider/provider.dart'; import 'package:provider/single_child_widget.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:tm_app/core/config/dependencies.dart'; +import 'package:tm_app/core/config/web_url_strategy.dart'; import 'package:tm_app/core/services/cache_init.dart'; import 'package:tm_app/core/theme/theme_provider.dart'; @@ -22,10 +22,6 @@ void main() async { // Initialize SVG cache await CacheInit.init(); - if (kIsWeb) { - setUrlStrategy(PathUrlStrategy()); - } - await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); // Initialize the logger @@ -40,6 +36,8 @@ void main() async { Provider(create: (context) => prefs), ...providersRemote, ]; + // Configure web URL strategy if running on web + configureWebUrlStrategy(); runApp(MultiProvider(providers: providers, child: const MyApp())); }