libretranslatr

This commit is contained in:
y1lm0z
2026-07-14 17:37:17 +03:00
parent 1b8149a4cf
commit 8a562e5bf6
46 changed files with 2040 additions and 106 deletions
+33
View File
@@ -0,0 +1,33 @@
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
import '../models/history_item.dart';
class HistoryService {
static const _key = 'translation_history';
static const _maxItems = 200;
Future<List<HistoryItem>> getAll() async {
final prefs = await SharedPreferences.getInstance();
final raw = prefs.getStringList(_key) ?? [];
return raw
.map((s) => HistoryItem.fromJson(jsonDecode(s) as Map<String, dynamic>))
.toList()
.reversed
.toList(); // en yeni en üstte
}
Future<void> add(HistoryItem item) async {
final prefs = await SharedPreferences.getInstance();
final raw = prefs.getStringList(_key) ?? [];
raw.add(jsonEncode(item.toJson()));
final trimmed = raw.length > _maxItems
? raw.sublist(raw.length - _maxItems)
: raw;
await prefs.setStringList(_key, trimmed);
}
Future<void> clear() async {
final prefs = await SharedPreferences.getInstance();
await prefs.remove(_key);
}
}