didvan-app/lib/pages/home/widgets/category_item.dart

62 lines
1.8 KiB
Dart

import 'package:didvan/config/design_config.dart';
import 'package:didvan/widgets/animated_visibility.dart';
import 'package:didvan/widgets/didvan/text.dart';
import 'package:flutter/material.dart';
class CategoryItem extends StatelessWidget {
final String title;
final String asset;
final bool isColapsed;
const CategoryItem({
Key? key,
required this.title,
required this.asset,
required this.isColapsed,
}) : super(key: key);
@override
Widget build(BuildContext context) {
final Size ds = MediaQuery.of(context).size;
return Center(
child: AnimatedContainer(
duration: DesignConfig.defaultAnimationDuration,
padding: isColapsed ? const EdgeInsets.all(4) : EdgeInsets.zero,
width: isColapsed ? 100 : ds.width / 3,
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: DesignConfig.lowBorderRadius,
border: isColapsed
? Border.all(color: DesignConfig.darkPrimaryColor2)
: null,
),
child: Column(
children: [
AnimatedVisibility(
duration: DesignConfig.defaultAnimationDuration,
isVisible: !isColapsed,
child: Container(
width: ds.width / 5,
height: ds.width / 5,
decoration: DesignConfig.actionCardDecoration,
padding: const EdgeInsets.all(8),
child: Image.asset(
asset,
),
),
),
const SizedBox(
height: 8,
),
DidvanText(
title,
style: Theme.of(context).textTheme.subtitle2,
color: DesignConfig.darkPrimaryColor2,
),
],
),
),
);
}
}