Files
PiliPlus/lib/common/widgets/custom_toast.dart
dom d27f5f315c drop
Signed-off-by: dom <githubaccount56556@proton.me>
2026-05-01 14:27:27 +08:00

63 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
class CustomToast extends StatelessWidget {
const CustomToast(this.msg, {super.key});
final String msg;
@override
Widget build(BuildContext context) {
final colorScheme = ColorScheme.of(context);
return Container(
margin: EdgeInsets.only(
bottom: MediaQuery.viewPaddingOf(context).bottom + 30,
),
padding: const EdgeInsets.symmetric(horizontal: 17, vertical: 10),
decoration: BoxDecoration(
color: colorScheme.primaryContainer,
borderRadius: const BorderRadius.all(Radius.circular(20)),
),
child: Text(
msg,
style: TextStyle(
fontSize: 13,
color: colorScheme.onPrimaryContainer,
),
),
);
}
}
class LoadingWidget extends StatelessWidget {
const LoadingWidget(this.msg, {super.key});
///loading msg
final String msg;
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
final onSurfaceVariant = theme.colorScheme.onSurfaceVariant;
return Container(
padding: const EdgeInsets.symmetric(horizontal: 30, vertical: 20),
decoration: BoxDecoration(
color: theme.dialogTheme.backgroundColor,
borderRadius: const BorderRadius.all(Radius.circular(15)),
),
child: Column(
spacing: 20,
mainAxisSize: MainAxisSize.min,
children: [
//loading animation
CircularProgressIndicator(
strokeWidth: 3,
valueColor: AlwaysStoppedAnimation(onSurfaceVariant),
),
//msg
Text(msg, style: TextStyle(color: onSurfaceVariant)),
],
),
);
}
}