load static method

Future<void> load([
  1. FlutterSecureStorage storage = const FlutterSecureStorage()
])

Load credentials. Call once at startup, before Supabase.initialize.

Implementation

static Future<void> load([
  FlutterSecureStorage storage = const FlutterSecureStorage(),
]) async {
  // 1. Check secure storage for user-saved custom credentials.
  final savedUrl = await storage.read(key: _urlKey);
  final savedKey = await storage.read(key: _anonKeyKey);

  if (savedUrl != null &&
      savedUrl.isNotEmpty &&
      savedKey != null &&
      savedKey.isNotEmpty) {
    _url = savedUrl;
    _anonKey = savedKey;
    _mode = InstanceMode.custom;
    return;
  }

  // 2. Fall back to compile-time demo values.
  if (_compileTimeUrl.isNotEmpty && _compileTimeAnonKey.isNotEmpty) {
    _url = _compileTimeUrl;
    _anonKey = _compileTimeAnonKey;
    _mode = InstanceMode.demo;
    return;
  }

  // 3. Nothing available.
  _url = '';
  _anonKey = '';
  _mode = InstanceMode.unconfigured;
}