import 'package:flutter/material.dart'; void main() { runApp(const MainApp()); } class MainApp extends StatelessWidget { const MainApp({super.key}); @override Widget build(BuildContext context) { return const MaterialApp( home: MainPage(), ); } } class Contact { final String address; final bool isOpen; const Contact({required this.address, required this.isOpen}); } class MainPage extends StatelessWidget { const MainPage({super.key}); final List contacts = const [ Contact(address: "Living Room Window", isOpen: false), Contact(address: "Front Door", isOpen: true), Contact(address: "Back Door", isOpen: false), Contact(address: "Garage Window", isOpen: true), ]; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text("Contacts")), body: ListView.builder( itemCount: contacts.length, itemBuilder: (context, index) { final contact = contacts[index]; return ContactTile(contact: contact); }, ), ); } } class ContactTile extends StatelessWidget { final Contact contact; const ContactTile({super.key, required this.contact}); @override Widget build(BuildContext context) { return ListTile( leading: Icon( contact.isOpen ? Icons.meeting_room : Icons.door_front_door, color: contact.isOpen ? Colors.red : Colors.green, ), title: Text(contact.address), ); } }