mirror of
https://github.com/ChronosX88/wind.git
synced 2024-11-09 09:11:00 +00:00
Implement auto-inserting post number to comment text box on click
This commit is contained in:
parent
755679c90f
commit
18d4f2dc0b
@ -1,4 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:wind/thread_model.dart';
|
||||
|
||||
class MessageItemView extends StatelessWidget {
|
||||
const MessageItemView({Key? key, required this.item, required this.isOpPost})
|
||||
@ -48,7 +50,12 @@ class MessageItemView extends StatelessWidget {
|
||||
"#${item.number}",
|
||||
style: TextStyle(fontSize: 15, color: Colors.grey),
|
||||
),
|
||||
onTap: () => {},
|
||||
onTap: () {
|
||||
var model =
|
||||
Provider.of<ThreadModel>(context, listen: false);
|
||||
model.commentTextController.text +=
|
||||
">>${item.number}\n";
|
||||
},
|
||||
)
|
||||
],
|
||||
),
|
||||
|
@ -5,12 +5,7 @@ import 'package:wind/nntp_client.dart';
|
||||
class ThreadModel extends ChangeNotifier {
|
||||
NNTPClient? client;
|
||||
|
||||
String _commentText = "";
|
||||
String get commentText => _commentText;
|
||||
set commentText(String text) {
|
||||
_commentText = text;
|
||||
notifyListeners();
|
||||
}
|
||||
var commentTextController = TextEditingController(text: "");
|
||||
|
||||
Future<MessageItem> getPost(int number) async {
|
||||
var msg = await client!.getPost(number);
|
||||
|
@ -107,20 +107,22 @@ class SendMessageFormState extends State<SendMessageForm> {
|
||||
children: [
|
||||
Center(
|
||||
child: Column(children: [
|
||||
TextFormField(
|
||||
minLines: 5,
|
||||
keyboardType: TextInputType.multiline,
|
||||
maxLines: null,
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(), labelText: "Comment"),
|
||||
// The validator receives the text that the user has entered.
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Please enter some text';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
),
|
||||
Consumer<ThreadModel>(
|
||||
builder: ((context, value, child) => TextFormField(
|
||||
controller: value.commentTextController,
|
||||
minLines: 5,
|
||||
keyboardType: TextInputType.multiline,
|
||||
maxLines: null,
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(), labelText: "Comment"),
|
||||
// The validator receives the text that the user has entered.
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return 'Please enter some text';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
))),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 16.0),
|
||||
child: Row(
|
||||
|
Loading…
Reference in New Issue
Block a user