fix : ui fix after release 1.3.3

This commit is contained in:
2025-07-16 18:31:47 +03:30
parent 3566e5820d
commit c28a0e6630
22 changed files with 229 additions and 203 deletions

View File

@@ -2,14 +2,14 @@ import 'package:flutter/foundation.dart';
import 'package:rasadyar_core/core.dart';
class HiveLocalStorage implements ILocalStorage {
HiveLocalStorage() {
Hive.initFlutter();
}
final Map<String, Box> _boxes = {};
@override
Future init() async => await Hive.initFlutter();
Future init() async {
if (kIsWeb) {
Hive.init('hive_storage_rasadyar');
} else {
await Hive.initFlutter();
}
}
@override
Future<void> openBox<T>(
@@ -20,13 +20,13 @@ class HiveLocalStorage implements ILocalStorage {
Uint8List? bytes,
String? collection,
}) async {
if (!_boxes.containsKey(boxName)) {
final box = await Hive.openBox<T>(
var exist = await Hive.boxExists(boxName);
if (!exist || !Hive.isBoxOpen(boxName)) {
await Hive.openBox<T>(
boxName,
encryptionCipher: encryptionCipher,
crashRecovery: crashRecovery,
);
_boxes[boxName] = box;
}
}
@@ -42,10 +42,10 @@ class HiveLocalStorage implements ILocalStorage {
}
@override
T? readBox<T>({required String boxName}) {
List<T>? readBox<T>({required String boxName}) {
try {
Box? box = getBox(boxName);
return box?.values as T?;
Box? box = getBox<T>(boxName);
return box?.values.cast<T>().toList();
} on Exception catch (e) {
eLog(e);
return null;
@@ -53,55 +53,51 @@ class HiveLocalStorage implements ILocalStorage {
}
@override
Future<void> add({required String boxName, required dynamic value}) async {
Box<dynamic>? box = getBox(boxName);
Future<void> add<T>({required String boxName, required dynamic value}) async {
Box<dynamic>? box = getBox<T>(boxName);
await box?.add(value);
}
@override
Future<void> addAll({required String boxName, required Iterable values}) async {
Box<dynamic>? box = getBox(boxName);
Future<void> addAll<T>({required String boxName, required Iterable values}) async {
Box<dynamic>? box = getBox<T>(boxName);
await box?.addAll(values);
}
Box<T>? getBox<T>(String boxName) {
final box = _boxes[boxName];
if (box is Box<T>) {
return box;
} else {
throw Exception('Box $boxName is not of exist');
}
final box = Hive.box<T>(boxName);
return box;
}
@override
Future<void> clear(String boxName) async {
await _boxes[boxName]?.clear();
await Hive.box(boxName).clear();
}
@override
Future<void> close(String boxName) async => await _boxes[boxName]?.close();
Future<void> close(String boxName) async => await Hive.box(boxName).close();
@override
Future<void> deleteValue({required String boxName, required String key}) async {
Box<dynamic>? box = getBox(boxName);
Future<void> deleteValue<T>({required String boxName, required String key}) async {
Box<dynamic>? box = getBox<T>(boxName);
await box?.delete(key);
}
@override
Future<void> save({required String boxName, required String key, required value}) async {
Box<dynamic>? box = getBox(boxName);
Future<void> save<T>({required String boxName, required String key, required value}) async {
Box<dynamic>? box = getBox<T>(boxName);
await box?.put(key, value);
}
@override
Future<void> saveAll({required String boxName, required Map entries}) async {
Box<dynamic>? box = getBox(boxName);
Future<void> saveAll<T>({required String boxName, required Map entries}) async {
Box<dynamic>? box = getBox<T>(boxName);
await box?.putAll(entries);
}
@override
Future<void> saveAt({required String boxName, required int index, required value}) async {
Box<dynamic>? box = getBox(boxName);
Future<void> saveAt<T>({required String boxName, required int index, required value}) async {
Box<dynamic>? box = getBox<T>(boxName);
await box?.putAt(index, value);
}
}

View File

@@ -15,32 +15,21 @@ abstract class ILocalStorage<E> {
T? read<T>({required String boxName, required String key});
T? readBox<T>({required String boxName});
List<T>? readBox<T>({required String boxName});
Future<void> deleteValue({required String boxName, required String key});
Future<void> deleteValue<T>({required String boxName, required String key});
Future<void> add({required String boxName, required E value});
Future<void> add<T>({required String boxName, required E value});
Future<void> addAll({required String boxName, required Iterable<E> values});
Future<void> addAll<T>({required String boxName, required Iterable<E> values});
Future<void> clear(String boxName);
Future<void> close(String boxName);
Future<void> save({
required String boxName,
required String key,
required dynamic value,
});
Future<void> save<T>({required String boxName, required String key, required dynamic value});
Future<void> saveAt({
required String boxName,
required int index,
required dynamic value,
});
Future<void> saveAt<T>({required String boxName, required int index, required dynamic value});
Future<void> saveAll({
required String boxName,
required Map<dynamic, E> entries,
});
Future<void> saveAll<T>({required String boxName, required Map<dynamic, E> entries});
}

View File

@@ -15,10 +15,12 @@ class DioRemote implements IHttpClient {
if (kDebugMode) {
dio.interceptors.add(
PrettyDioLogger(
requestHeader: true,
responseHeader: true,
requestBody: true,
responseBody: true,
request: false,
enabled: false,
requestHeader: false,
responseHeader: false,
requestBody: false,
responseBody: false,
),
);
}

View File

@@ -100,11 +100,11 @@ class AppFonts {
);
static const TextStyle yekan10 = TextStyle(
static TextStyle yekan10 = TextStyle(
// Rounded from 10.24
fontFamily: yekan,
fontWeight: regular,
fontSize: 10,
fontSize: 10.sp,
height: _height,
);