⬆️ Support latest version of server

This commit is contained in:
2024-07-23 18:09:41 +08:00
parent 3545a0737d
commit e91b4b0947
26 changed files with 88 additions and 1277 deletions

View File

@ -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));

View File

@ -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;
}
}