Initial and done prolly

This commit is contained in:
Andrew 2025-01-05 16:01:21 +07:00
commit 6f88b9966f
175 changed files with 15445 additions and 0 deletions

View file

@ -0,0 +1,17 @@
import 'package:get/get.dart';
import 'package:groceries_manager/db/database.dart';
class DBService extends GetxService {
static DBService get to => Get.find();
late final AppDatabase db;
DBService();
Future<void> init() async {
db = AppDatabase();
await db.doWhenOpened((_) {
print("Database loaded");
});
}
}

View file

@ -0,0 +1,100 @@
import 'package:flutter/scheduler.dart';
import 'package:flutter/widgets.dart';
import 'package:get/get.dart';
import 'package:toastification/toastification.dart';
class ToasterService extends GetxService {
static ToasterService get to => Get.find();
void show({
required String title,
required String message,
ToastificationType type = ToastificationType.info,
ToastificationStyle style = ToastificationStyle.flat,
AlignmentGeometry alignment = Alignment.bottomLeft,
ToastificationCallbacks callbacks = const ToastificationCallbacks(),
Duration? autoCloseDuration = const Duration(seconds: 2),
}) {
if (Get.context?.mounted != true) return;
SchedulerBinding.instance.addPostFrameCallback((_) {
toastification.show(
context: Get.context,
type: type,
style: style,
title: Text(title),
description: Text(message),
alignment: alignment,
autoCloseDuration: autoCloseDuration,
closeOnClick: false,
callbacks: callbacks,
);
});
}
void info({
required String title,
required String message,
ToastificationStyle style = ToastificationStyle.flat,
AlignmentGeometry alignment = Alignment.bottomLeft,
ToastificationCallbacks callbacks = const ToastificationCallbacks(),
Duration? autoCloseDuration = const Duration(seconds: 2),
}) {
show(
title: title,
message: message,
style: style,
alignment: alignment,
callbacks: callbacks,
autoCloseDuration: autoCloseDuration,
);
}
void waring({
required String title,
required String message,
ToastificationStyle style = ToastificationStyle.flat,
AlignmentGeometry alignment = Alignment.bottomLeft,
ToastificationCallbacks callbacks = const ToastificationCallbacks(),
Duration? autoCloseDuration = const Duration(seconds: 2),
}) {
show(
title: title,
message: message,
style: style,
alignment: alignment,
callbacks: callbacks,
autoCloseDuration: autoCloseDuration,
);
}
void success({
required String title,
required String message,
ToastificationStyle style = ToastificationStyle.flat,
AlignmentGeometry alignment = Alignment.bottomLeft,
ToastificationCallbacks callbacks = const ToastificationCallbacks(),
Duration? autoCloseDuration = const Duration(seconds: 2),
}) {
show(
title: title,
message: message,
type: ToastificationType.success,
);
}
void error({
required String title,
required String message,
ToastificationStyle style = ToastificationStyle.flat,
AlignmentGeometry alignment = Alignment.bottomLeft,
ToastificationCallbacks callbacks = const ToastificationCallbacks(),
Duration? autoCloseDuration = const Duration(seconds: 2),
}) {
show(
title: title,
message: message,
type: ToastificationType.error,
);
}
}