import 'package:admin/models/my_files.dart'; import 'package:flutter/material.dart'; // import 'package:flutter_svg/flutter_svg.dart'; import '../../../constants.dart'; class FileInfoCard extends StatelessWidget { const FileInfoCard({ Key? key, required this.info, }) : super(key: key); final CloudStorageInfo info; @override Widget build(BuildContext context) { return Container( padding: EdgeInsets.all(defaultPadding), decoration: BoxDecoration( color: secondaryColor, borderRadius: const BorderRadius.all(Radius.circular(10)), ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Container( padding: EdgeInsets.all(defaultPadding * 0.75), height: 40, width: 40, decoration: BoxDecoration( color: info.color!.withOpacity(0.1), borderRadius: const BorderRadius.all(Radius.circular(10)), ), // child: SvgPicture.asset( // info.svgSrc!, // colorFilter: ColorFilter.mode( // info.color ?? Colors.black, BlendMode.srcIn), // ), ), Icon(Icons.more_vert, color: Colors.white54) ], ), Text( info.title!, maxLines: 1, overflow: TextOverflow.ellipsis, ), ProgressLine( color: info.color, percentage: info.percentage, ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( "${info.numOfFiles} Alunos", style: Theme.of(context) .textTheme .bodySmall! .copyWith(color: Colors.white70), ), Text( info.totalStorage!, style: Theme.of(context) .textTheme .bodySmall! .copyWith(color: Colors.white), ), ], ) ], ), ); } } class ProgressLine extends StatelessWidget { const ProgressLine({ Key? key, this.color = primaryColor, required this.percentage, }) : super(key: key); final Color? color; final int? percentage; @override Widget build(BuildContext context) { return Stack( children: [ Container( width: double.infinity, height: 5, decoration: BoxDecoration( color: color!.withOpacity(0.1), borderRadius: BorderRadius.all(Radius.circular(10)), ), ), LayoutBuilder( builder: (context, constraints) => Container( width: constraints.maxWidth * (percentage! / 100), height: 5, decoration: BoxDecoration( color: color, borderRadius: BorderRadius.all(Radius.circular(10)), ), ), ), ], ); } }