manager-app/lib/Components/text_form_input_container.dart
Thomas Fransolet a54952e5f4 MISC
2026-07-10 16:54:26 +02:00

69 lines
2.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:manager_app/constants.dart';
class TextFormInputContainer extends StatelessWidget {
final Color color;
final String label;
final String initialValue;
final bool isTitle;
final int maxLines;
final ValueChanged<String> onChanged;
const TextFormInputContainer({
Key? key,
this.color = kSecond,
required this.label,
required this.initialValue,
required this.isTitle,
this.maxLines = 5,
required this.onChanged
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Row(
children: [
Align(
alignment: AlignmentDirectional.centerStart,
child: Text(label, style: const TextStyle(fontSize: 20, fontWeight: FontWeight.w300)),
),
Expanded(
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Container(
decoration: BoxDecoration(
color: color,
borderRadius: BorderRadius.circular(5),
border: Border.all(width: 0.5, color: kSecond),
),
child: Padding(
padding: const EdgeInsets.all(10.0),
child: TextFormField(
keyboardType: TextInputType.multiline,
textInputAction: TextInputAction.newline,
minLines: 1,
maxLines: maxLines,
initialValue: initialValue,
onChanged: onChanged,
maxLength: isTitle ? 50 : 2000,
cursorColor: kPrimaryColor,
decoration: const InputDecoration(
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: kPrimaryColor),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: kSecond),
),
border: UnderlineInputBorder(
borderSide: BorderSide(color: kPrimaryColor),
),
),
),
),
),
),
),
],
);
}
}