refactor: 死代码清理 + 趋势图重构 + 侧边栏交互优化 + 智能体卡片去延迟
- 死代码清理: 删除 AppCard/AppMenuItem/AppTabChip/AppButtons 等 4 个未使用 Widget 文件; 清理 common_widgets/enterprise_widgets/app_status_badge 中未使用 class; 移除 HealthService 等未使用方法; 后端移除 ExerciseService.CreateFromItemsAsync/HealthArchiveService.GetOrCreateAsync/MedicationAgentHandler 死分支/ChatRequest DTO - 趋势图: 直线折线 + 渐变填充 + 阴影; 去网格; X 轴日+月份; Y 轴整数刻度最多 4 个; 点击数据点/录入记录显示上方浮层; 选中点变实心 - 侧边栏: 对话记录改单选删除(灰底高亮); 操作栏浮层修复触摸问题; 常用功能/健康仪表盘间距收紧; _Panel 去外框 - 智能体: 欢迎卡片去掉 400ms 延迟; 胶囊去阴影 - 其他: api_client IP 适配; 多页面 UI 微调; 新增 chat_provider/prelaunch_guardrails 测试
This commit is contained in:
@@ -24,7 +24,8 @@ class ConversationListItem {
|
||||
title: json['title']?.toString(),
|
||||
summary: json['summary']?.toString(),
|
||||
messageCount: (json['messageCount'] as num?)?.toInt() ?? 0,
|
||||
updatedAt: DateTime.tryParse(json['updatedAt']?.toString() ?? '') ??
|
||||
updatedAt:
|
||||
DateTime.tryParse(json['updatedAt']?.toString() ?? '') ??
|
||||
DateTime.now(),
|
||||
);
|
||||
}
|
||||
@@ -33,15 +34,20 @@ class ConversationListItem {
|
||||
class ConversationHistoryNotifier
|
||||
extends AsyncNotifier<List<ConversationListItem>> {
|
||||
@override
|
||||
Future<List<ConversationListItem>> build() => _fetch();
|
||||
Future<List<ConversationListItem>> build() {
|
||||
ref.watch(chatProvider.select((state) => state.conversationId));
|
||||
return _fetch();
|
||||
}
|
||||
|
||||
Future<List<ConversationListItem>> _fetch() async {
|
||||
final api = ref.read(apiClientProvider);
|
||||
final res = await api.get('/api/ai/conversations');
|
||||
final raw = (res.data['data'] as List?) ?? const [];
|
||||
final currentConversationId = ref.read(chatProvider).conversationId;
|
||||
return raw
|
||||
.whereType<Map>()
|
||||
.map((m) => ConversationListItem.fromJson(Map<String, dynamic>.from(m)))
|
||||
.where((item) => item.id != currentConversationId)
|
||||
.toList();
|
||||
}
|
||||
|
||||
@@ -79,7 +85,8 @@ class ConversationHistoryNotifier
|
||||
}
|
||||
}
|
||||
|
||||
final conversationHistoryProvider = AsyncNotifierProvider<
|
||||
ConversationHistoryNotifier, List<ConversationListItem>>(
|
||||
ConversationHistoryNotifier.new,
|
||||
);
|
||||
final conversationHistoryProvider =
|
||||
AsyncNotifierProvider<
|
||||
ConversationHistoryNotifier,
|
||||
List<ConversationListItem>
|
||||
>(ConversationHistoryNotifier.new);
|
||||
|
||||
Reference in New Issue
Block a user