Files
syncrow-web/lib/pages/common/info_dialog.dart
2024-08-24 16:37:10 +03:00

74 lines
2.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
class InfoDialog extends StatelessWidget {
final String title;
final String content;
final Size? size;
final List<Widget>? actions;
InfoDialog({
required this.title,
required this.content,
this.actions,
this.size,
});
@override
Widget build(BuildContext context) {
return AlertDialog(
alignment: Alignment.center,
content: SizedBox(
height: size!.height * 0.25,
child: Column(
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
child: SvgPicture.asset(
Assets.deviceNoteIcon,
height: 35,
width: 35,
),
),
Text(
title,
style: Theme.of(context).textTheme.headlineLarge!.copyWith(
fontSize: 30,
fontWeight: FontWeight.w400,
color: Colors.black),
),
],
),
const SizedBox(
width: 15,
),
Text(
content,
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.bodyMedium!.copyWith(
color: ColorsManager.grayColor,
fontWeight: FontWeight.w400,
fontSize: 18),
),
],
),
),
actionsAlignment: MainAxisAlignment.center,
actions: actions ??
<Widget>[
TextButton(
onPressed: () {
Navigator.of(context).pop();
},
child: const Text('OK'),
),
],
);
}
}