import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; class EndpointService extends ChangeNotifier { EndpointService() { _load(); } static const String defaultBaseUrl = 'https://mileograph.co.uk/api/v1'; static const String _prefsKey = 'api_base_url'; String _baseUrl = defaultBaseUrl; bool _loaded = false; String get baseUrl => _baseUrl; bool get isLoaded => _loaded; Future _load() async { final prefs = await SharedPreferences.getInstance(); final saved = prefs.getString(_prefsKey); if (saved != null && saved.trim().isNotEmpty) { _baseUrl = saved; } _loaded = true; notifyListeners(); } Future setBaseUrl(String url) async { final trimmed = url.trim(); if (trimmed.isEmpty) return; _baseUrl = trimmed; final prefs = await SharedPreferences.getInstance(); await prefs.setString(_prefsKey, _baseUrl); notifyListeners(); } }