import 'package:flutter/material.dart'; import 'package:konectar_events/utils/util.dart'; import 'package:konectar_events/widgets/custombutton.dart'; import 'package:konectar_events/widgets/customeventsappbar.dart'; import 'package:konectar_events/widgets/eventdetailscontainer.dart'; import 'package:konectar_events/widgets/eventdetailslistview.dart'; class EventsDetails extends StatefulWidget { const EventsDetails({super.key}); @override State createState() => _EventsDetailsState(); } class _EventsDetailsState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: EventsAppBar(), body: Padding( padding: const EdgeInsets.all(8.0), child: LayoutBuilder(builder: (BuildContext context, BoxConstraints viewportConstraints) { return SingleChildScrollView( child: ConstrainedBox( constraints: BoxConstraints( minHeight: viewportConstraints.maxHeight, ), child: Column( mainAxisSize: MainAxisSize.min, children: [ Padding( padding: const EdgeInsets.all(8.0), child: EventDetailsContainer( isEventDetail: true, ), ), expandableDetails(), SizedBox( height: 20, ), Padding( padding: const EdgeInsets.all(8.0), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, children: [ Text( 'Event Speakers', style: TextStyle( fontSize: isTablet ? 18 : 16, fontWeight: FontWeight.bold), ), CustomButton( backgroundColor: Colors.green, onPressed: () {}, textColor: Colors.black, title: "Add To My Contacts", fontsize: 16, ) // const SizedBox( // width: 10, // ), // ], ), ), EventsDetailsDataTable(), ], ), ), ); }), ), ); } Widget expandableDetails() { return isTablet ? Container( margin: EdgeInsets.symmetric(vertical: 20.0), height: 200.0, child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ _topicCard("Top 3 topics", " 1. Hematologic Neoplasms \n 2. Antibodies, Bispecific \n 3. Multiple Myeloma"), _topicCard("Speakers with most sessions", " 1. James A. Davis \n 2. Sandra Cuellar \n 3. Allison Butts"), _topicCard("Sponsors", " 1. Amgen Inc \n 2. Bristol-Myers Squibb Company \n 3. Genmab A/S") ], )) : SizedBox( height: MediaQuery.of(context).size.height * 0.45, child: Column(children: [ listViewTopicCard("Top 3 topics", " 1. Hematologic Neoplasms \n 2. Antibodies, Bispecific \n 3. Multiple Myeloma"), listViewTopicCard("Speakers with most sessions", " 1. James A. Davis \n 2. Sandra Cuellar \n 3. Allison Butts"), listViewTopicCard("Sponsors", " 1. Amgen Inc \n 2. Bristol-Myers Squibb Company \n 3. Genmab A/S ") ]), ); } Widget _topicCard(String title, String content) { return SizedBox( width: MediaQuery.of(context).size.width / 3.2, child: Card( child: Padding( padding: const EdgeInsets.only(top: 18.0, left: 3.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Center( child: Text( title, style: TextStyle(fontSize: 16), maxLines: 2, ), ), SizedBox( height: 20, ), Text( content, style: TextStyle(fontSize: 16), maxLines: 6, ), ], ), ), ), ); } Widget listViewTopicCard(String title, String content) { return Container( width: double.infinity, padding: EdgeInsets.all(10.0), child: Card( elevation: 2.0, child: Theme( data: Theme.of(context).copyWith(dividerColor: Colors.transparent), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Center(child: Text(title)), Text( content, style: TextStyle(fontSize: 16), ), ], ), ), ), ); } }