Add location permissions to AndroidManifest.xml and manual text input fields for legal documents (FSSAI, GSTIN, Udhyog, PAN)
This commit is contained in:
parent
8096cad270
commit
4b35077fba
|
|
@ -3,6 +3,8 @@
|
||||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:label="pozo_app"
|
android:label="pozo_app"
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,10 @@ class _BusinessSetupScreenState extends State<BusinessSetupScreen> {
|
||||||
final TextEditingController _nameController = TextEditingController();
|
final TextEditingController _nameController = TextEditingController();
|
||||||
final TextEditingController _gstinController = TextEditingController();
|
final TextEditingController _gstinController = TextEditingController();
|
||||||
final TextEditingController _addressController = TextEditingController();
|
final TextEditingController _addressController = TextEditingController();
|
||||||
|
final TextEditingController _fssaiController = TextEditingController();
|
||||||
|
final TextEditingController _udhyogController = TextEditingController();
|
||||||
|
final TextEditingController _panController = TextEditingController();
|
||||||
|
final TextEditingController _aadharController = TextEditingController();
|
||||||
|
|
||||||
String _selectedCategory = 'supermarket';
|
String _selectedCategory = 'supermarket';
|
||||||
bool _isNameValid = false;
|
bool _isNameValid = false;
|
||||||
|
|
@ -64,9 +68,30 @@ class _BusinessSetupScreenState extends State<BusinessSetupScreen> {
|
||||||
_nameController.dispose();
|
_nameController.dispose();
|
||||||
_gstinController.dispose();
|
_gstinController.dispose();
|
||||||
_addressController.dispose();
|
_addressController.dispose();
|
||||||
|
_fssaiController.dispose();
|
||||||
|
_udhyogController.dispose();
|
||||||
|
_panController.dispose();
|
||||||
|
_aadharController.dispose();
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TextEditingController _getControllerForDoc(String docName) {
|
||||||
|
switch (docName) {
|
||||||
|
case 'GSTIN':
|
||||||
|
return _gstinController;
|
||||||
|
case 'FSSAI':
|
||||||
|
return _fssaiController;
|
||||||
|
case 'Udhyog Aadhar':
|
||||||
|
return _udhyogController;
|
||||||
|
case 'PAN':
|
||||||
|
return _panController;
|
||||||
|
case 'Aadhar':
|
||||||
|
return _aadharController;
|
||||||
|
default:
|
||||||
|
return TextEditingController();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
final List<Map<String, dynamic>> _categories = [
|
final List<Map<String, dynamic>> _categories = [
|
||||||
{'id': 'supermarket', 'name': 'Supermarket', 'icon': Icons.shopping_cart},
|
{'id': 'supermarket', 'name': 'Supermarket', 'icon': Icons.shopping_cart},
|
||||||
{'id': 'restaurant', 'name': 'Restaurant', 'icon': Icons.restaurant},
|
{'id': 'restaurant', 'name': 'Restaurant', 'icon': Icons.restaurant},
|
||||||
|
|
@ -428,6 +453,43 @@ class _BusinessSetupScreenState extends State<BusinessSetupScreen> {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
|
Text(
|
||||||
|
'Enter $docName Number (Optional if photo uploaded)',
|
||||||
|
style: theme.textTheme.bodySmall?.copyWith(
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
color: Colors.grey[700],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 6),
|
||||||
|
TextField(
|
||||||
|
controller: _getControllerForDoc(docName),
|
||||||
|
textCapitalization: TextCapitalization.characters,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: 'e.g. Enter $docName number',
|
||||||
|
prefixIcon: Icon(icon, size: 16, color: Colors.grey[500]),
|
||||||
|
),
|
||||||
|
style: const TextStyle(fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 16),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(child: Divider(color: Colors.grey[300])),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 8.0),
|
||||||
|
child: Text(
|
||||||
|
'OR UPLOAD PHOTO',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 10,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
color: Colors.grey[500],
|
||||||
|
letterSpacing: 0.5,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(child: Divider(color: Colors.grey[300])),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(height: 12),
|
||||||
if (isUploaded) ...[
|
if (isUploaded) ...[
|
||||||
Container(
|
Container(
|
||||||
padding: const EdgeInsets.all(12),
|
padding: const EdgeInsets.all(12),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue