import "package:flutter/material.dart"; import "package:prod/models/editor.dart"; import "package:prod/models/globalModel.dart"; import "package:prod/models/project.dart"; import "package:provider/provider.dart"; import "package:yaru/yaru.dart"; import "package:process_run/shell.dart"; class ProjectCard extends StatelessWidget { const ProjectCard(this.id, {super.key}); final int id; @override Widget build(BuildContext context) { GlobalModel gm = Provider.of(context); final Project prj = gm.nthPrj(id); return YaruBanner( padding: .only( left: kYaruPagePadding, top: kYaruPagePadding * 0.5, bottom: kYaruPagePadding, right: kYaruPagePadding, ), onHover: (st) => gm.setHoverShow(id, st), onTap: () { var shell = Shell(); Editor edt1 = gm.editors[0]; String comm = edt1.commandTemplate.replaceAll("\$path", prj.path.path); shell.run(comm); }, child: Center( child: Column( mainAxisAlignment: .start, crossAxisAlignment: .start, children: [ Text( "${prj.name}", style: TextStyle(fontSize: 30), overflow: .ellipsis, ), // Row( // mainAxisAlignment: .spaceBetween, // children: [ // Flexible( // child: Container( // ), // ), // ], // ), Row( spacing: 10, children: [ Text("${prj.language}"), prj.isGit ? Icon(Icons.commit) : Container(), ], ), gm.getHoverShow(id) ? Text("${prj.path.path}") : Container(), gm.getHoverShow(id) ? IconButton( icon: Icon(Icons.close), onPressed: () => gm.delPrj(id), style: IconButton.styleFrom( overlayColor: Color(0xffff0000), ), ) : Container(), ], ), ), ); } }