import 'dart:io'; import 'package:flutter/foundation.dart'; class HealthMetric { final DateTime timestamp; final double value; final String unit; const HealthMetric({ required this.timestamp, required this.value, required this.unit, }); } abstract class IHealthGateway { Future requestPermissions(); Future> fetchWeightHistory({ required DateTime start, required DateTime end, }); Future> fetchWorkouts({ required DateTime start, required DateTime end, }); } class PlatformHealthGateway implements IHealthGateway { @override Future requestPermissions() async { if (kIsWeb || (!Platform.isAndroid && !Platform.isIOS)) { return false; } return true; } @override Future> fetchWeightHistory({ required DateTime start, required DateTime end, }) async { if (kIsWeb || (!Platform.isAndroid && !Platform.isIOS)) { return []; } return []; } @override Future> fetchWorkouts({ required DateTime start, required DateTime end, }) async { if (kIsWeb || (!Platform.isAndroid && !Platform.isIOS)) { return []; } return []; } }