Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
volume_field.dart
Go to the documentation of this file.
1import 'package:connect/core/localization/app_localizations.dart';
2
3import '../../../../../../core/constants/app_values.dart';
4import '/core/ui/theme/color_palette.dart';
5import 'package:flutter/material.dart';
6import 'package:flutter_screenutil/flutter_screenutil.dart';
7
8class VolumeField extends StatelessWidget {
9 const VolumeField({
10 super.key,
11 required this.controller,
12 this.isActive = true,
13 });
14
15 final TextEditingController controller;
16 final bool isActive;
17
18 @override
19 Widget build(BuildContext context) {
20 return Column(
21 crossAxisAlignment: CrossAxisAlignment.start,
22 children: [
23 Container(
24 padding: EdgeInsets.symmetric(horizontal: 15.sp, vertical: 6.sp),
25 decoration: BoxDecoration(
26 borderRadius: BorderRadius.circular(5),
27 color: ColorPalette.grey.withOpacity(0.1),
28 ),
29 child: SizedBox(
30 width: 100.sp,
31 child: Row(
32 mainAxisSize: MainAxisSize.min,
33 children: [
34 Flexible(
35 child: TextFormField(
37 style: Theme.of(context)
38 .textTheme
39 .displaySmall
40 ?.copyWith(fontSize: 12.sp),
41 decoration: InputDecoration(
42 contentPadding: EdgeInsets.zero,
44 AppLocalizations.of(context).translate('Quantity'),
45 hintStyle: Theme.of(context)
46 .textTheme
47 .bodySmall
48 ?.copyWith(color: ColorPalette.grey),
49 border: InputBorder.none,
50 ),
51 validator: (value) {
52 if (value == null || value.isEmpty) {
53 return AppLocalizations.of(context)
54 .translate('Quantity is required');
55 }
56 final numValue = num.tryParse(value);
57 if (numValue == null) {
58 return AppLocalizations.of(context)
59 .translate('Enter a valid number');
60 }
61 if (numValue <= 0) {
62 return AppLocalizations.of(context)
63 .translate('Enter a positive number');
64 }
65 return null;
66 },
67 ),
68 ),
69 SizedBox(width: 5.sp),
70 Text(
72 style: Theme.of(context).textTheme.bodySmall,
73 )
74 ],
75 ),
76 ),
77 ),
78 ],
79 );
80 }
81}
String translate(String key)
static AppLocalizations of(BuildContext context)
static const String measureentUnit
static const grey
final bool isActive
final TextEditingController controller
final Widget child
override Widget build(BuildContext context)
const VolumeField({ super.key, required this.controller, this.isActive=true, })