mirror of
https://gitlab.com/famedly/fluffychat.git
synced 2024-12-27 08:32:33 +01:00
72 lines
2.2 KiB
Dart
72 lines
2.2 KiB
Dart
|
import 'package:flutter/cupertino.dart';
|
||
|
import 'package:flutter/material.dart';
|
||
|
|
||
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||
|
|
||
|
import 'package:fluffychat/pages/chat/add_widget_tile.dart';
|
||
|
|
||
|
class AddWidgetTileView extends StatelessWidget {
|
||
|
final AddWidgetTileState controller;
|
||
|
|
||
|
const AddWidgetTileView({Key? key, required this.controller})
|
||
|
: super(key: key);
|
||
|
|
||
|
@override
|
||
|
Widget build(BuildContext context) {
|
||
|
return ExpansionTile(
|
||
|
title: Text(L10n.of(context)!.addWidget),
|
||
|
leading: const Icon(Icons.add),
|
||
|
initiallyExpanded: controller.initiallyExpanded,
|
||
|
children: [
|
||
|
CupertinoSegmentedControl(
|
||
|
groupValue: controller.widgetType,
|
||
|
padding: const EdgeInsets.all(8),
|
||
|
children: {
|
||
|
'm.etherpad': Text(L10n.of(context)!.widgetEtherpad),
|
||
|
'm.jitsi': Text(L10n.of(context)!.widgetJitsi),
|
||
|
'm.video': Text(L10n.of(context)!.widgetVideo),
|
||
|
'm.custom': Text(L10n.of(context)!.widgetCustom),
|
||
|
}.map((key, value) => MapEntry(
|
||
|
key,
|
||
|
Padding(
|
||
|
padding: const EdgeInsets.symmetric(horizontal: 4.0),
|
||
|
child: value,
|
||
|
))),
|
||
|
onValueChanged: controller.setWidgetType,
|
||
|
),
|
||
|
Padding(
|
||
|
padding: const EdgeInsets.all(8.0),
|
||
|
child: TextField(
|
||
|
controller: controller.nameController,
|
||
|
autofocus: true,
|
||
|
decoration: InputDecoration(
|
||
|
prefixIcon: const Icon(Icons.label),
|
||
|
label: Text(L10n.of(context)!.widgetName),
|
||
|
errorText: controller.nameError,
|
||
|
),
|
||
|
),
|
||
|
),
|
||
|
Padding(
|
||
|
padding: const EdgeInsets.all(8.0),
|
||
|
child: TextField(
|
||
|
controller: controller.urlController,
|
||
|
decoration: InputDecoration(
|
||
|
prefixIcon: const Icon(Icons.add_link),
|
||
|
label: Text(L10n.of(context)!.link),
|
||
|
errorText: controller.urlError,
|
||
|
),
|
||
|
),
|
||
|
),
|
||
|
ButtonBar(
|
||
|
children: [
|
||
|
TextButton(
|
||
|
onPressed: controller.addWidget,
|
||
|
child: Text(L10n.of(context)!.addWidget),
|
||
|
),
|
||
|
],
|
||
|
)
|
||
|
],
|
||
|
);
|
||
|
}
|
||
|
}
|