diff --git a/.github/workflows/build-deploy.yaml b/.github/workflows/build-deploy.yaml index 531b2c6..73bae47 100644 --- a/.github/workflows/build-deploy.yaml +++ b/.github/workflows/build-deploy.yaml @@ -37,7 +37,7 @@ jobs: - run: | cd build\windows\x64\runner\Release - Compress-Archive -Path * -DestinationPath WindowsRelease.zip + Compress-Archive -Path * -DestinationPath WindowsRelease.zip -CompressionLevel Optimal mkdir build move WindowsRelease.zip build shell: pwsh diff --git a/lib/main.dart b/lib/main.dart index 5d00f95..907f02e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -12,6 +12,7 @@ import 'package:madari_client/engine/engine.dart'; import 'package:madari_client/features/doc_viewer/container/doc_viewer.dart'; import 'package:madari_client/features/doc_viewer/types/doc_source.dart'; import 'package:madari_client/routes.dart'; +import 'package:matomo_tracker/matomo_tracker.dart'; import 'package:media_kit/media_kit.dart'; import 'package:path/path.dart' as path; import 'package:window_manager/window_manager.dart'; @@ -28,6 +29,13 @@ void main() async { print("Unable"); } + try { + await MatomoTracker.instance.initialize( + siteId: "3", + url: 'https://user.madari.media/matomo.php', + ); + } catch (e) {} + try { CachedQuery.instance.configFlutter( storage: await CachedStorage.ensureInitialized(), diff --git a/lib/main_web.dart b/lib/main_web.dart index 7220cda..67cd82b 100644 --- a/lib/main_web.dart +++ b/lib/main_web.dart @@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:madari_client/routes.dart'; +import 'package:matomo_tracker/matomo_tracker.dart'; import 'package:media_kit/media_kit.dart'; import 'engine/engine.dart'; @@ -16,6 +17,13 @@ void main() async { final pb = AppEngine.engine.pb; final userCollection = pb.collection("users"); + try { + await MatomoTracker.instance.initialize( + siteId: "3", + url: 'https://user.madari.media/matomo.php', + ); + } catch (e) {} + if (pb.authStore.isValid) { try { final user = await userCollection.getOne( diff --git a/lib/routes.dart b/lib/routes.dart index 9cb192a..271e207 100644 --- a/lib/routes.dart +++ b/lib/routes.dart @@ -4,6 +4,7 @@ import 'package:go_router/go_router.dart'; import 'package:madari_client/engine/engine.dart'; import 'package:madari_client/pages/library_view.page.dart'; import 'package:madari_client/pages/stremio_item.page.dart'; +import 'package:matomo_tracker/matomo_tracker.dart'; import 'features/connections/types/stremio/stremio_base.types.dart'; import 'pages/download.page.dart'; @@ -20,6 +21,9 @@ GoRouter createRouter() { return GoRouter( navigatorKey: rootNavigatorKey, initialLocation: '/', + observers: [ + matomoObserver, + ], refreshListenable: ValueNotifier(AppEngine.engine.pb.authStore.onChange), redirect: (context, state) => _routeGuard(context, state), routes: [ diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 1b243ba..b4056b9 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -7,6 +7,7 @@ import Foundation import bonsoir_darwin import connectivity_plus +import device_info_plus import file_selector_macos import flutter_inappwebview_macos import media_kit_libs_macos_video @@ -24,6 +25,7 @@ import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { SwiftBonsoirPlugin.register(with: registry.registrar(forPlugin: "SwiftBonsoirPlugin")) ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin")) + DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin")) MediaKitLibsMacosVideoPlugin.register(with: registry.registrar(forPlugin: "MediaKitLibsMacosVideoPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 673760f..0d0219c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -414,6 +414,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.10" + device_info_plus: + dependency: transitive + description: + name: device_info_plus + sha256: a7fd703482b391a87d60b6061d04dfdeab07826b96f9abd8f5ed98068acc0074 + url: "https://pub.dev" + source: hosted + version: "10.1.2" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2" + url: "https://pub.dev" + source: hosted + version: "7.0.2" drift: dependency: "direct main" description: @@ -933,6 +949,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.11.1" + matomo_tracker: + dependency: "direct main" + description: + name: matomo_tracker + sha256: "8706ca29389b836929415a52c3e6e94aaf8e37ceca23407ee215716fdb83466d" + url: "https://pub.dev" + source: hosted + version: "5.1.0" media_kit: dependency: "direct main" description: @@ -1820,6 +1844,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.9.0" + win32_registry: + dependency: transitive + description: + name: win32_registry + sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" + url: "https://pub.dev" + source: hosted + version: "1.1.5" window_manager: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 66a4ed6..d9314b2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,6 +10,7 @@ dependencies: sdk: flutter cupertino_icons: ^1.0.8 json_annotation: ^4.9.0 + matomo_tracker: ^5.1.0 http: ^1.2.2 cached_network_image: ^3.4.1 google_fonts: ^6.2.1 diff --git a/web/index.html b/web/index.html index 3022f2d..98003bb 100644 --- a/web/index.html +++ b/web/index.html @@ -90,6 +90,7 @@ +
Initializing App...