⬆️ Support latest version of server
This commit is contained in:
@ -2,15 +2,15 @@ import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:solian/exts.dart';
|
||||
import 'package:solian/models/post.dart';
|
||||
import 'package:solian/providers/content/feed.dart';
|
||||
import 'package:solian/providers/content/posts.dart';
|
||||
import 'package:solian/widgets/sized_container.dart';
|
||||
import 'package:solian/widgets/posts/post_item.dart';
|
||||
import 'package:solian/widgets/posts/post_replies.dart';
|
||||
|
||||
class PostDetailScreen extends StatefulWidget {
|
||||
final String alias;
|
||||
final String id;
|
||||
|
||||
const PostDetailScreen({super.key, required this.alias});
|
||||
const PostDetailScreen({super.key, required this.id});
|
||||
|
||||
@override
|
||||
State<PostDetailScreen> createState() => _PostDetailScreenState();
|
||||
@ -20,10 +20,10 @@ class _PostDetailScreenState extends State<PostDetailScreen> {
|
||||
Post? item;
|
||||
|
||||
Future<Post?> getDetail() async {
|
||||
final FeedProvider provider = Get.find();
|
||||
final PostProvider provider = Get.find();
|
||||
|
||||
try {
|
||||
final resp = await provider.getPost(widget.alias);
|
||||
final resp = await provider.getPost(widget.id);
|
||||
item = Post.fromJson(resp.body);
|
||||
} catch (e) {
|
||||
context.showErrorDialog(e).then((_) => Navigator.pop(context));
|
||||
|
@ -82,7 +82,6 @@ class _PostPublishScreenState extends State<PostPublishScreen> {
|
||||
List.empty(),
|
||||
'attachments': _attachments,
|
||||
'is_draft': _isDraft,
|
||||
if (widget.edit != null) 'alias': widget.edit!.alias,
|
||||
if (widget.reply != null) 'reply_to': widget.reply!.id,
|
||||
if (widget.repost != null) 'repost_to': widget.repost!.id,
|
||||
if (widget.realm != null) 'realm': widget.realm!.alias,
|
||||
@ -90,9 +89,9 @@ class _PostPublishScreenState extends State<PostPublishScreen> {
|
||||
|
||||
Response resp;
|
||||
if (widget.edit != null) {
|
||||
resp = await client.put('/posts/${widget.edit!.id}', payload);
|
||||
resp = await client.put('/stories/${widget.edit!.id}', payload);
|
||||
} else {
|
||||
resp = await client.post('/posts', payload);
|
||||
resp = await client.post('/stories', payload);
|
||||
}
|
||||
if (resp.statusCode != 200) {
|
||||
context.showErrorDialog(resp.bodyString);
|
||||
@ -105,8 +104,8 @@ class _PostPublishScreenState extends State<PostPublishScreen> {
|
||||
|
||||
void syncWidget() {
|
||||
if (widget.edit != null) {
|
||||
_contentController.text = widget.edit!.content;
|
||||
_attachments = widget.edit!.attachments ?? List.empty();
|
||||
_contentController.text = widget.edit!.body['content'];
|
||||
_attachments = widget.edit!.body['attachments'] ?? List.empty();
|
||||
_isDraft = widget.edit!.isDraft ?? false;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user