mirror of
https://github.com/Iconica-Development/flutter_media_picker.git
synced 2025-05-18 16:33:45 +02:00
60 lines
1.4 KiB
Dart
60 lines
1.4 KiB
Dart
// SPDX-FileCopyrightText: 2022 Iconica
|
|
//
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_form/flutter_form.dart';
|
|
import 'package:flutter_media_picker/src/abstracts/media_picker_input.dart';
|
|
import 'package:flutter_media_picker/src/media_result.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
|
/// Input for text used by [MediaPicker].
|
|
class MediaPickerInputText implements MediaPickerInput {
|
|
MediaPickerInputText({
|
|
this.label = "Tekst",
|
|
this.checkPageSettings,
|
|
this.onComplete,
|
|
});
|
|
|
|
@override
|
|
String label;
|
|
|
|
@override
|
|
Future<MediaResult> onPressed(BuildContext context) async {
|
|
return MediaResult();
|
|
}
|
|
|
|
@override
|
|
Future<Widget> displayResult(MediaResult result) async {
|
|
return const DisplayText();
|
|
}
|
|
|
|
@override
|
|
Map<String, dynamic>? checkPageSettings;
|
|
|
|
@override
|
|
void Function(MediaResult value)? onComplete;
|
|
}
|
|
|
|
class DisplayText extends ConsumerStatefulWidget {
|
|
const DisplayText({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
ConsumerState<ConsumerStatefulWidget> createState() => _DisplayTextState();
|
|
}
|
|
|
|
class _DisplayTextState extends ConsumerState<DisplayText> {
|
|
final FlutterFormInputController<String> _controller =
|
|
FlutterFormInputPlainTextController(
|
|
id: 'title',
|
|
);
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return FlutterFormInputPlainText(
|
|
label: const Text('Titel'),
|
|
controller: _controller,
|
|
);
|
|
}
|
|
}
|