Popup comments

This commit is contained in:
2024-04-16 20:36:47 +08:00
parent 0814c17407
commit bb5a10c4c4
5 changed files with 122 additions and 37 deletions

View File

@ -12,14 +12,14 @@ import 'package:solian/widgets/indent_wrapper.dart';
import 'package:solian/widgets/posts/attachment_editor.dart';
class CommentPostArguments {
final Post related;
final Post? related;
final Post? editing;
CommentPostArguments({required this.related, this.editing});
CommentPostArguments({this.related, this.editing});
}
class CommentEditorScreen extends StatefulWidget {
final Post related;
final Post? related;
final Post? editing;
const CommentEditorScreen({super.key, required this.related, this.editing});
@ -50,9 +50,10 @@ class _CommentEditorScreenState extends State<CommentEditorScreen> {
final auth = context.read<AuthProvider>();
if (!await auth.isAuthorized()) return;
final relatedDataset = '${widget.related.modelType}s';
final alias = widget.related?.alias ?? 'not-found';
final relatedDataset = '${widget.related?.modelType ?? 'comment'}s';
final uri = widget.editing == null
? getRequestUri('interactive', '/api/p/$relatedDataset/${widget.related.alias}/comments')
? getRequestUri('interactive', '/api/p/$relatedDataset/$alias/comments')
: getRequestUri('interactive', '/api/p/comments/${widget.editing!.id}');
final req = Request(widget.editing == null ? "POST" : "PUT", uri);