feat: 优化前端 UI 组件与交互体验

- 优化日历、待办、消息等页面交互
- 更新 ChatBloc 与 UI Schema 渲染
- 优化联系人、首页、设置页面体验
This commit is contained in:
qzl
2026-03-16 16:11:28 +08:00
parent a75c868bca
commit 4b92772535
18 changed files with 1591 additions and 1780 deletions
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import '../../../../core/di/injection.dart';
import '../../../../core/theme/design_tokens.dart';
import '../../../../shared/widgets/app_loading_indicator.dart';
import '../../../../shared/widgets/toast/index.dart';
import '../../../../shared/widgets/app_button.dart';
import '../../../../shared/widgets/page_header.dart' as widgets;
@@ -289,7 +290,7 @@ class _ContactsScreenState extends State<ContactsScreen> {
const Center(
child: Padding(
padding: EdgeInsets.all(20),
child: CircularProgressIndicator(),
child: AppLoadingIndicator(size: 22),
),
)
else if (_friends.isEmpty)
@@ -367,7 +368,13 @@ class _ContactsScreenState extends State<ContactsScreen> {
child: _isSearching
? const Padding(
padding: EdgeInsets.all(10),
child: CircularProgressIndicator(strokeWidth: 2),
child: AppLoadingIndicator(
size: 16,
strokeWidth: 2,
color: AppColors.blue500,
trackColor: AppColors.blue100,
withContainer: false,
),
)
: const Icon(Icons.search, size: 16, color: AppColors.blue500),
),
@@ -399,7 +406,7 @@ class _ContactsScreenState extends State<ContactsScreen> {
if (_isSearching)
Container(
padding: const EdgeInsets.all(20),
child: const Center(child: CircularProgressIndicator()),
child: const Center(child: AppLoadingIndicator(size: 22)),
)
else if (_searchResults.isEmpty)
Container(
@@ -773,13 +780,12 @@ class _ContactsScreenState extends State<ContactsScreen> {
),
),
child: _sendingRequestUserId == userId
? const SizedBox(
width: 16,
height: 16,
child: CircularProgressIndicator(
strokeWidth: 2,
color: AppColors.white,
),
? const AppLoadingIndicator(
size: 16,
strokeWidth: 2,
color: AppColors.white,
trackColor: AppColors.blue300,
withContainer: false,
)
: const Text(
'发送',