Files
apskel-owner-flutter/lib/presentation/pages/home/widgets/feature_tile.dart
T

60 lines
1.7 KiB
Dart
Raw Normal View History

2025-08-12 20:44:27 +07:00
import 'package:flutter/material.dart';
import '../../../../common/theme/theme.dart';
import '../../../components/spacer/spacer.dart';
class HomeFeatureTile extends StatelessWidget {
final String title;
2026-05-12 15:47:38 +07:00
final String iconPath;
2025-08-12 20:44:27 +07:00
final Function() onTap;
const HomeFeatureTile({
super.key,
required this.title,
2026-05-12 15:47:38 +07:00
required this.iconPath,
2025-08-12 20:44:27 +07:00
required this.onTap,
});
@override
Widget build(BuildContext context) {
return Expanded(
child: InkWell(
onTap: onTap,
borderRadius: BorderRadius.circular(AppValue.radius),
child: Container(
2025-08-15 16:31:29 +07:00
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 6),
2025-08-12 20:44:27 +07:00
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
width: 56,
height: 56,
decoration: BoxDecoration(
gradient: LinearGradient(
2026-05-12 15:47:38 +07:00
colors: [AppColor.primary.withOpacity(0.1), AppColor.primary.withOpacity(0.05)],
2025-08-12 20:44:27 +07:00
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
borderRadius: BorderRadius.circular(16),
),
2026-05-12 15:47:38 +07:00
child: Image.asset(iconPath),
2025-08-12 20:44:27 +07:00
),
const SpaceHeight(12),
Text(
title,
style: AppStyle.sm.copyWith(
fontWeight: FontWeight.w600,
color: AppColor.textPrimary,
letterSpacing: -0.2,
),
textAlign: TextAlign.center,
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
],
),
),
),
);
}
}