A framework for building convergent cross-platform Nextcloud clients using Flutter.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.5 KiB

part of '../neon_news.dart';
3 years ago
class NewsMoveFeedDialog extends StatefulWidget {
const NewsMoveFeedDialog({
required this.folders,
required this.feed,
super.key,
});
final List<news.Folder> folders;
final news.Feed feed;
3 years ago
@override
State<NewsMoveFeedDialog> createState() => _NewsMoveFeedDialogState();
}
class _NewsMoveFeedDialogState extends State<NewsMoveFeedDialog> {
final formKey = GlobalKey<FormState>();
news.Folder? folder;
3 years ago
void submit() {
if (formKey.currentState!.validate()) {
Navigator.of(context).pop([folder?.id]);
}
}
@override
Widget build(final BuildContext context) => NeonDialog(
title: Text(NewsLocalizations.of(context).feedMove),
3 years ago
children: [
Form(
key: formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
NewsFolderSelect(
folders: widget.folders,
value: widget.feed.folderId != null
? widget.folders.singleWhere((final folder) => folder.id == widget.feed.folderId)
: null,
onChanged: (final f) {
setState(() {
folder = f;
});
},
),
ElevatedButton(
onPressed: submit,
child: Text(NewsLocalizations.of(context).feedMove),
3 years ago
),
],
),
),
],
);
}