import 'package:shared_preferences/shared_preferences.dart'; /// Vertical continuous scroll vs horizontal page turns. enum ReaderMode { webtoon, paged; String get storageValue => this == ReaderMode.paged ? 'paged' : 'webtoon'; static ReaderMode fromStorage(String? raw) { return raw == 'paged' ? ReaderMode.paged : ReaderMode.webtoon; } } /// Global / per-title paged-reader tap/swipe direction. enum ReadingDirection { ltr, rtl; String get storageValue => name; static ReadingDirection fromStorage(String? raw) { return raw == 'rtl' ? ReadingDirection.rtl : ReadingDirection.ltr; } } class ReaderDirection { static const prefKey = 'reader_reading_direction'; static Future load() async { final prefs = await SharedPreferences.getInstance(); return ReadingDirection.fromStorage(prefs.getString(prefKey)); } static Future save(ReadingDirection direction) async { final prefs = await SharedPreferences.getInstance(); await prefs.setString(prefKey, direction.storageValue); } }