manager-app/lib/Components/multi_string_input_container.dart
2021-05-06 22:27:22 +02:00

70 lines
2.2 KiB
Dart

import 'dart:convert';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/multi_input_modal.dart';
import 'package:manager_app/Components/rounded_input_field.dart';
import 'package:manager_app/constants.dart';
import 'package:managerapi/api.dart';
class MultiStringContainer extends StatelessWidget {
final Color color;
final String label;
final List<TranslationDTO> initialValue;
final Function onGetResult;
final int maxLines;
const MultiStringContainer({
Key key,
this.color = kSecond,
this.label,
this.initialValue,
this.onGetResult,
this.maxLines,
}) : super(key: key);
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
return Container(
child: Row(
children: [
Align(
alignment: AlignmentDirectional.centerStart,
child: Text(label, style: TextStyle(fontSize: 25, fontWeight: FontWeight.w300))
),
Padding(
padding: const EdgeInsets.all(10.0),
child: Container(
width: size.width *0.15,
child: InkWell(
onTap: () {
List<TranslationDTO> newValues = new List<TranslationDTO>();
// Make a copy
initialValue.forEach((value) {
newValues.add(TranslationDTO.fromJson(jsonDecode(jsonEncode(value))));
});
showMultiStringInput(label, initialValue, newValues, onGetResult, maxLines, context);
},
child: Container(
decoration: BoxDecoration(
color: color,
borderRadius: BorderRadius.circular(50),
),
child: Padding(
padding: const EdgeInsets.only(left: 5, right: 5, top: 15, bottom: 15),
child: Center(
child: AutoSizeText(
"Changer les traductions",
maxLines: 2,
)
),
)
),
),
),
),
],
),
);
}
}