Add Dialog with Pageview to select new house, and then drop a pin where the house is, then zoom map to that area.
This commit is contained in:
16
lib/screens/list_property/intro_page.dart
Normal file
16
lib/screens/list_property/intro_page.dart
Normal file
@@ -0,0 +1,16 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
Widget buildFirstPage(void Function() nextPage) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
const Text("Let's add a new property"),
|
||||
const SizedBox(height: 20),
|
||||
const Spacer(),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [TextButton(onPressed: nextPage, child: const Text("Next"))],
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
22
lib/screens/list_property/property_address.dart
Normal file
22
lib/screens/list_property/property_address.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
Widget buildSecondPage(
|
||||
TextEditingController addressController,
|
||||
void Function() nextPage,
|
||||
) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
TextFormField(
|
||||
controller: addressController,
|
||||
decoration: const InputDecoration(labelText: 'Property Address'),
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
const Spacer(),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [TextButton(onPressed: nextPage, child: const Text("Next"))],
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
28
lib/screens/list_property/signs_and_radius.dart
Normal file
28
lib/screens/list_property/signs_and_radius.dart
Normal file
@@ -0,0 +1,28 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
Widget buildSummaryPage(
|
||||
TextEditingController addressController,
|
||||
TextEditingController signsController,
|
||||
String? selectedRadius,
|
||||
void Function() nextPage,
|
||||
) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const Text("Summary", style: TextStyle(fontWeight: FontWeight.bold)),
|
||||
const SizedBox(height: 10),
|
||||
Text("Address: ${addressController.text}"),
|
||||
Text("Signs: ${signsController.text}"),
|
||||
Text("Radius: ${selectedRadius ?? 'Not selected'}"),
|
||||
const SizedBox(height: 20),
|
||||
const Spacer(),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
TextButton(onPressed: nextPage, child: const Text("Finish")),
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
26
lib/screens/list_property/third_page.dart
Normal file
26
lib/screens/list_property/third_page.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
Widget buildThirdPage(
|
||||
TextEditingController signsController,
|
||||
void Function() nextPage,
|
||||
DropdownButtonFormField<String> radiusField,
|
||||
) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
TextFormField(
|
||||
controller: signsController,
|
||||
decoration: const InputDecoration(labelText: 'Number of Signs'),
|
||||
keyboardType: TextInputType.number,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
radiusField,
|
||||
const SizedBox(height: 20),
|
||||
const Spacer(),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [TextButton(onPressed: nextPage, child: const Text("Next"))],
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user