This commit is contained in:
2025-07-17 09:46:37 +02:00
parent 46193a64a7
commit ad1ab3e2b2
4 changed files with 81 additions and 25 deletions

View File

@@ -291,15 +291,16 @@ class _PackageToolOneState extends State<PackageToolOne> {
}
}),
const SizedBox(height: 10),
MihBusinessCard(
businessName: "Mzansi Innovation Hub",
cellNumber: "0788300006",
email: "yasien.meth@mzansi-innovation-hub.co.za",
gpsLocation: "-26.1853611, 28.134664",
website:
"https://app.mzansi-innovation-hub.co.za/privacy.html",
rating: 3.25,
),
// MihBusinessCard(
// businessid: "123456",
// businessName: "Mzansi Innovation Hub",
// cellNumber: "0788300006",
// email: "yasien.meth@mzansi-innovation-hub.co.za",
// gpsLocation: "-26.1853611, 28.134664",
// website:
// "https://app.mzansi-innovation-hub.co.za/privacy.html",
// rating: 3.25,
// ),
const SizedBox(height: 10),
Divider(
color:

View File

@@ -1,24 +1,32 @@
import 'package:custom_rating_bar/custom_rating_bar.dart';
import 'package:flutter/material.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_form.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_alert.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart';
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_text_form_field.dart';
import 'package:url_launcher/url_launcher.dart';
class MihBusinessCard extends StatefulWidget {
final String businessid;
final String businessName;
final String cellNumber;
final String email;
final String gpsLocation;
final String? website;
final double rating;
final double width;
const MihBusinessCard({
super.key,
required this.businessid,
required this.businessName,
required this.cellNumber,
required this.email,
required this.gpsLocation,
required this.rating,
this.website,
required this.width,
});
@override
@@ -26,6 +34,9 @@ class MihBusinessCard extends StatefulWidget {
}
class _MihBusinessCardState extends State<MihBusinessCard> {
final _formKey = GlobalKey<FormState>();
final TextEditingController _reviewTitleController = TextEditingController();
Future<void> _makePhoneCall(String phoneNumber) async {
final Uri url = Uri(scheme: 'tel', path: phoneNumber);
if (await canLaunchUrl(url)) {
@@ -324,6 +335,7 @@ class _MihBusinessCardState extends State<MihBusinessCard> {
@override
Widget build(BuildContext context) {
// double screenWidth = MediaQuery.of(context).size.width;
return Material(
color: MzansiInnovationHub.of(context)!
.theme
@@ -431,22 +443,21 @@ class _MihBusinessCardState extends State<MihBusinessCard> {
},
),
),
// Padding(
// padding: const EdgeInsets.symmetric(horizontal: 10.0),
// child: Divider(
// color: MzansiInnovationHub.of(context)!.theme.primaryColor(),
// ),
// ),
// _buildContactInfo(
// "Rate Us",
// "Let us know how we are doing.",
// Icons.star_rate_rounded,
// const Color(0xffe9e8a1),
// () {
// print("Opeining rating dialog");
// // _launchWebsite(widget.website);
// },
// ),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: Divider(
color: MzansiInnovationHub.of(context)!.theme.primaryColor(),
),
),
_buildContactInfo(
"Rate Us",
"Let us know how we are doing.",
Icons.star_rate_rounded,
const Color(0xffe9e8a1),
() {
addBusinessReviewRatingWindow(widget.width);
},
),
// Padding(
// padding: const EdgeInsets.symmetric(horizontal: 10.0),
// child: Divider(
@@ -475,4 +486,44 @@ class _MihBusinessCardState extends State<MihBusinessCard> {
),
);
}
void addBusinessReviewRatingWindow(double width) {
showDialog(
context: context,
builder: (context) => MihPackageWindow(
fullscreen: false,
windowTitle: "Add Review",
onWindowTapClose: () {
Navigator.of(context).pop();
},
windowBody: MihSingleChildScroll(
child: Padding(
padding:
MzansiInnovationHub.of(context)!.theme.screenType == "desktop"
? EdgeInsets.symmetric(horizontal: width * 0.05)
: EdgeInsets.symmetric(horizontal: width * 0),
child: MihForm(
formKey: _formKey,
formFields: [
MihTextFormField(
width: 200,
fillColor:
MzansiInnovationHub.of(context)!.theme.secondaryColor(),
inputColor:
MzansiInnovationHub.of(context)!.theme.primaryColor(),
controller: _reviewTitleController,
multiLineInput: false,
requiredText: false,
hintText: "Review Title",
validator: (value) {
return null;
},
),
],
),
),
),
),
);
}
}

View File

@@ -680,6 +680,7 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
SizedBox(
width: 700,
child: MihBusinessCard(
businessid: widget.arguments.business!.business_id,
businessName: widget.arguments.business!.Name,
cellNumber: widget.arguments.business!.contact_no,
email: widget.arguments.business!.bus_email,
@@ -688,6 +689,7 @@ class _MihBusinessDetailsState extends State<MihBusinessDetails> {
? double.parse(widget.arguments.business!.rating)
: 0,
website: widget.arguments.business!.website,
width: width,
),
),
const SizedBox(height: 30.0),

View File

@@ -162,6 +162,7 @@ class _MihBusinessDetailsViewState extends State<MihBusinessDetailsView> {
SizedBox(
width: 700,
child: MihBusinessCard(
businessid: widget.business.business_id,
businessName: widget.business.Name,
cellNumber: widget.business.contact_no,
email: widget.business.bus_email,
@@ -170,6 +171,7 @@ class _MihBusinessDetailsViewState extends State<MihBusinessDetailsView> {
? double.parse(widget.business.rating)
: 0,
website: widget.business.website,
width: width,
),
),
],