import 'package:pocketbase/pocketbase.dart';
import 'package:shared_preferences/shared_preferences.dart';

const _kAuthKey = 'pb_auth';

class PocketBaseClient {
  PocketBaseClient._({required this.pb});
  static PocketBaseClient? _instance;
  static PocketBaseClient get instance => _instance!;
  final PocketBase pb;

  static Future<void> init() async {
    final prefs = await SharedPreferences.getInstance();
    final stored = prefs.getString(_kAuthKey);

    final store = AsyncAuthStore(
      save: (String data) => prefs.setString(_kAuthKey, data),
      initial: stored,
    );

    _instance = PocketBaseClient._(
      pb: PocketBase('https://pocket.kovaksoft.com', authStore: store),
    );
  }
}
