I’m getting the following errors. I have confirmed Flutter SDK is installed correctly.
Undefined name ‘FontWeight’.
Try correcting the name to one that is defined, or defining the name.
I tried flutter doctor, checking to see if Dart and Flutter were installed correctly. Confirmed I have the latest version. I checked this file pubspec.yaml
<code>import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'profile.dart';
class FindVendorsScreen extends StatelessWidget {
final String currentUserId = FirebaseAuth.instance.currentUser!.uid;
Stream<QuerySnapshot> _getVendorsFromMyEvents() {
return FirebaseFirestore.instance
.collection('applications')
.where('organizerId', isEqualTo: currentUserId)
.where('status', isEqualTo: 'approved')
.snapshots();
}
Stream<QuerySnapshot> _getAllVendors() {
return FirebaseFirestore.instance.collection('users').where('isVendor', isEqualTo: true).snapshots();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Find Vendors'),
),
body: SingleChildScrollView(
child: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'Vendors from My Events',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
),
StreamBuilder<QuerySnapshot>(
stream: _getVendorsFromMyEvents(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var applications = snapshot.data!.docs;
var vendorIds = applications.map((doc) => doc['userId'] as String).toList();
return vendorIds.isEmpty
? Center(child: Text('No vendors found.'))
: StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection('users')
.where(FieldPath.documentId, whereIn: vendorIds)
.snapshots(),
builder: (context, vendorSnapshot) {
if (!vendorSnapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var vendors = vendorSnapshot.data!.docs;
return ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: vendors.length,
itemBuilder: (context, index) {
var vendor = vendors[index];
var vendorData = vendor.data() as Map<String, dynamic>;
return ListTile(
title: Text('${vendorData['firstName']} ${vendorData['lastName']}'),
subtitle: Text(vendorData['store'] ?? 'No store information'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProfileScreen(userId: vendor.id),
),
);
},
);
},
);
},
);
},
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'All Vendors',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
),
StreamBuilder<QuerySnapshot>(
stream: _getAllVendors(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var vendors = snapshot.data!.docs;
if (vendors.isEmpty) {
return Center(child: Text('No vendors found.'));
}
return ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: vendors.length,
itemBuilder: (context, index) {
var vendor = vendors[index];
var vendorData = vendor.data() as Map<String, dynamic>;
return ListTile(
title: Text('${vendorData['firstName']} ${vendorData['lastName']}'),
subtitle: Text(vendorData['store'] ?? 'No store information'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProfileScreen(userId: vendor.id),
),
);
},
);
},
);
},
),
],
),
),
);
}
}
</code>
<code>import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'profile.dart';
class FindVendorsScreen extends StatelessWidget {
final String currentUserId = FirebaseAuth.instance.currentUser!.uid;
Stream<QuerySnapshot> _getVendorsFromMyEvents() {
return FirebaseFirestore.instance
.collection('applications')
.where('organizerId', isEqualTo: currentUserId)
.where('status', isEqualTo: 'approved')
.snapshots();
}
Stream<QuerySnapshot> _getAllVendors() {
return FirebaseFirestore.instance.collection('users').where('isVendor', isEqualTo: true).snapshots();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Find Vendors'),
),
body: SingleChildScrollView(
child: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'Vendors from My Events',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
),
StreamBuilder<QuerySnapshot>(
stream: _getVendorsFromMyEvents(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var applications = snapshot.data!.docs;
var vendorIds = applications.map((doc) => doc['userId'] as String).toList();
return vendorIds.isEmpty
? Center(child: Text('No vendors found.'))
: StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection('users')
.where(FieldPath.documentId, whereIn: vendorIds)
.snapshots(),
builder: (context, vendorSnapshot) {
if (!vendorSnapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var vendors = vendorSnapshot.data!.docs;
return ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: vendors.length,
itemBuilder: (context, index) {
var vendor = vendors[index];
var vendorData = vendor.data() as Map<String, dynamic>;
return ListTile(
title: Text('${vendorData['firstName']} ${vendorData['lastName']}'),
subtitle: Text(vendorData['store'] ?? 'No store information'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProfileScreen(userId: vendor.id),
),
);
},
);
},
);
},
);
},
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'All Vendors',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
),
StreamBuilder<QuerySnapshot>(
stream: _getAllVendors(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var vendors = snapshot.data!.docs;
if (vendors.isEmpty) {
return Center(child: Text('No vendors found.'));
}
return ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: vendors.length,
itemBuilder: (context, index) {
var vendor = vendors[index];
var vendorData = vendor.data() as Map<String, dynamic>;
return ListTile(
title: Text('${vendorData['firstName']} ${vendorData['lastName']}'),
subtitle: Text(vendorData['store'] ?? 'No store information'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProfileScreen(userId: vendor.id),
),
);
},
);
},
);
},
),
],
),
),
);
}
}
</code>
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'profile.dart';
class FindVendorsScreen extends StatelessWidget {
final String currentUserId = FirebaseAuth.instance.currentUser!.uid;
Stream<QuerySnapshot> _getVendorsFromMyEvents() {
return FirebaseFirestore.instance
.collection('applications')
.where('organizerId', isEqualTo: currentUserId)
.where('status', isEqualTo: 'approved')
.snapshots();
}
Stream<QuerySnapshot> _getAllVendors() {
return FirebaseFirestore.instance.collection('users').where('isVendor', isEqualTo: true).snapshots();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Find Vendors'),
),
body: SingleChildScrollView(
child: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'Vendors from My Events',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
),
StreamBuilder<QuerySnapshot>(
stream: _getVendorsFromMyEvents(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var applications = snapshot.data!.docs;
var vendorIds = applications.map((doc) => doc['userId'] as String).toList();
return vendorIds.isEmpty
? Center(child: Text('No vendors found.'))
: StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection('users')
.where(FieldPath.documentId, whereIn: vendorIds)
.snapshots(),
builder: (context, vendorSnapshot) {
if (!vendorSnapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var vendors = vendorSnapshot.data!.docs;
return ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: vendors.length,
itemBuilder: (context, index) {
var vendor = vendors[index];
var vendorData = vendor.data() as Map<String, dynamic>;
return ListTile(
title: Text('${vendorData['firstName']} ${vendorData['lastName']}'),
subtitle: Text(vendorData['store'] ?? 'No store information'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProfileScreen(userId: vendor.id),
),
);
},
);
},
);
},
);
},
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'All Vendors',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
),
StreamBuilder<QuerySnapshot>(
stream: _getAllVendors(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(child: CircularProgressIndicator());
}
var vendors = snapshot.data!.docs;
if (vendors.isEmpty) {
return Center(child: Text('No vendors found.'));
}
return ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: vendors.length,
itemBuilder: (context, index) {
var vendor = vendors[index];
var vendorData = vendor.data() as Map<String, dynamic>;
return ListTile(
title: Text('${vendorData['firstName']} ${vendorData['lastName']}'),
subtitle: Text(vendorData['store'] ?? 'No store information'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ProfileScreen(userId: vendor.id),
),
);
},
);
},
);
},
),
],
),
),
);
}
}