Better reaction panel

This commit is contained in:
2024-11-23 18:04:30 +08:00
parent b8a1e5b5c0
commit 0ed8c2373d
13 changed files with 95 additions and 32 deletions

View File

@ -130,7 +130,7 @@ class _ChatManageScreenState extends State<ChatManageScreen> {
LoadingIndicator(isActive: _isBusy),
if (_editingChannel != null)
MaterialBanner(
leading: const Icon(Icons.edit),
leading: const Icon(Symbols.edit),
leadingPadding: const EdgeInsets.only(left: 10, right: 20),
dividerColor: Colors.transparent,
content: Text(

View File

@ -173,7 +173,13 @@ class _ExploreScreenState extends State<ExploreScreen> {
onFetchData: _fetchPosts,
itemBuilder: (context, idx) {
return GestureDetector(
child: PostItem(data: _posts[idx], maxWidth: 640),
child: PostItem(
data: _posts[idx],
maxWidth: 640,
onChanged: (data) {
setState(() => _posts[idx] = data);
},
),
onTap: () {
GoRouter.of(context).pushNamed(
'postDetail',

View File

@ -135,7 +135,7 @@ class _NotificationScreenState extends State<NotificationScreen> {
title: Text('screenNotification').tr(),
actions: [
IconButton(
icon: const Icon(Icons.checklist),
icon: const Icon(Symbols.checklist),
onPressed: _isSubmitting ? null : _markAllAsRead,
),
],

View File

@ -113,6 +113,9 @@ class _PostDetailScreenState extends State<PostDetailScreen> {
data: _data!,
maxWidth: 640,
showComments: false,
onChanged: (data) {
setState(() => _data = data);
},
),
),
const SliverToBoxAdapter(child: Divider(height: 1)),
@ -144,7 +147,6 @@ class _PostDetailScreenState extends State<PostDetailScreen> {
child: PostMiniEditor(
postReplyId: _data!.id,
onPost: () {
_childListKey.currentState!.refresh();
setState(() {
_data = _data!.copyWith(
metric: _data!.metric.copyWith(
@ -152,6 +154,7 @@ class _PostDetailScreenState extends State<PostDetailScreen> {
),
);
});
_childListKey.currentState!.refresh();
},
),
),

View File

@ -292,7 +292,8 @@ class _PostEditorScreenState extends State<PostEditorScreen> {
]),
children: <Widget>[
PostItem(
data: _writeController.repostingPost!)
data: _writeController.repostingPost!,
)
],
),
),

View File

@ -81,8 +81,8 @@ class _RealmScreenState extends State<RealmScreen> {
actions: [
IconButton(
icon: !_isCompactView
? const Icon(Icons.view_list)
: const Icon(Icons.view_module),
? const Icon(Symbols.view_list)
: const Icon(Symbols.view_module),
onPressed: () {
setState(() => _isCompactView = !_isCompactView);
},

View File

@ -191,7 +191,7 @@ class _RealmManageScreenState extends State<RealmManageScreen> {
LoadingIndicator(isActive: _isBusy),
if (_editingRealm != null)
MaterialBanner(
leading: const Icon(Icons.edit),
leading: const Icon(Symbols.edit),
leadingPadding: const EdgeInsets.only(left: 10, right: 20),
dividerColor: Colors.transparent,
content: Text(