mirror of
https://github.com/vleeuwenmenno/supplements.git
synced 2025-09-11 18:29:12 +02:00
feat: Integrate ShadSonner for improved toast notifications across multiple screens
This commit is contained in:
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:shadcn_ui/shadcn_ui.dart';
|
||||
import 'package:supplements/providers/supplement_provider.dart';
|
||||
import 'package:supplements/services/notification_debug_store.dart';
|
||||
import 'package:supplements/services/simple_notification_service.dart';
|
||||
@@ -168,8 +169,10 @@ class _DebugNotificationsScreenState extends State<DebugNotificationsScreen> {
|
||||
await SimpleNotificationService.instance.cancelById(id);
|
||||
await _load();
|
||||
if (!mounted) return;
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('Canceled notification $id')),
|
||||
ShadSonner.of(context).show(
|
||||
ShadToast(
|
||||
title: Text('Canceled notification $id'),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -177,8 +180,10 @@ class _DebugNotificationsScreenState extends State<DebugNotificationsScreen> {
|
||||
await SimpleNotificationService.instance.cancelAll();
|
||||
await _load();
|
||||
if (!mounted) return;
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(content: Text('Canceled all notifications')),
|
||||
ShadSonner.of(context).show(
|
||||
const ShadToast(
|
||||
title: Text('Canceled all notifications'),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -186,15 +191,19 @@ class _DebugNotificationsScreenState extends State<DebugNotificationsScreen> {
|
||||
await NotificationDebugStore.instance.clear();
|
||||
await _load();
|
||||
if (!mounted) return;
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(content: Text('Cleared debug log')),
|
||||
ShadSonner.of(context).show(
|
||||
const ShadToast(
|
||||
title: Text('Cleared debug log'),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _copyToClipboard(String text) {
|
||||
Clipboard.setData(ClipboardData(text: text));
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(content: Text('Copied to clipboard')),
|
||||
ShadSonner.of(context).show(
|
||||
const ShadToast(
|
||||
title: Text('Copied to clipboard'),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -280,8 +289,10 @@ class _DebugNotificationsScreenState extends State<DebugNotificationsScreen> {
|
||||
isSingle: true, // This is a single notification
|
||||
);
|
||||
if (!mounted) return;
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(content: Text('Test snooze notification sent!')),
|
||||
ShadSonner.of(context).show(
|
||||
const ShadToast(
|
||||
title: Text('Test snooze notification sent!'),
|
||||
),
|
||||
);
|
||||
},
|
||||
child: const Text('Send Test Snooze Notification'),
|
||||
|
Reference in New Issue
Block a user