TKK_E32230148/lib/widgets/ui_helpers.dart

99 lines
2.4 KiB
Dart

import 'package:flutter/material.dart';
class ModernCard extends StatelessWidget {
final Widget child;
final EdgeInsetsGeometry padding;
const ModernCard({
super.key,
required this.child,
this.padding = const EdgeInsets.all(20),
});
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
padding: padding,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(28),
color: const Color(0xff111111),
border: Border.all(
color: Colors.white.withOpacity(0.05),
),
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.5),
blurRadius: 25,
offset: const Offset(0, 10),
),
],
),
child: child,
);
}
}
class InfoTile extends StatelessWidget {
final IconData icon;
final String title;
final String value;
const InfoTile({
super.key,
required this.icon,
required this.title,
required this.value,
});
@override
Widget build(BuildContext context) {
return Container(
padding: const EdgeInsets.all(18),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Colors.black,
),
child: Row(
children: [
Container(
padding: const EdgeInsets.all(14),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16),
color: Colors.blueAccent.withOpacity(0.15),
),
child: Icon(
icon,
color: Colors.blueAccent,
),
),
const SizedBox(width: 15),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
title,
style: const TextStyle(
color: Colors.white38,
fontSize: 12,
),
),
const SizedBox(height: 6),
Text(
value,
style: const TextStyle(
color: Colors.white,
fontSize: 17,
fontWeight: FontWeight.w600,
),
),
],
),
),
],
),
);
}
}