forked from yaso_meth/mih-project
store
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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,
|
||||
),
|
||||
),
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user