myhomie_app/lib/Components/string_input_container.dart

65 lines
1.9 KiB
Dart

import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:myhomie_app/Components/rounded_input_field.dart';
import 'package:myhomie_app/constants.dart';
class StringInputContainer extends StatelessWidget {
final Color color;
final Color textColor;
final String label;
final String? initialValue;
final ValueChanged<String>? onChanged;
final bool isUrl;
final bool isSmall;
final int maxLength;
final double fontSize;
final double fontSizeText;
const StringInputContainer({
Key? key,
this.color = kMainColor,
this.textColor = Colors.black,
required this.label,
this.initialValue,
this.onChanged,
this.isUrl = false,
this.isSmall = false,
this.maxLength = 50,
this.fontSize = 25,
this.fontSizeText = 20,
}) : super(key: key);
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
return Container(
child: Row(
children: [
Align(
alignment: AlignmentDirectional.centerStart,
child: AutoSizeText(
label,
style: TextStyle(fontSize: fontSize, fontWeight: FontWeight.w300),
maxLines: 2,
maxFontSize: fontSize,
textAlign: TextAlign.center,
),
),
Padding(
padding: const EdgeInsets.all(10.0),
child: Container(
width: isUrl ? size.width *0.6 : isSmall ? size.width *0.1 : size.width *0.65,
child: RoundedInputField(
color: color,
textColor: textColor,
fontSize: fontSizeText,
initialValue: initialValue,
onChanged: onChanged,
maxLength: maxLength,
),
),
),
],
),
);
}
}