feat(notification): 通知标题和正文支持多语言
- 通知静态配置支持 title/body i18n - 前端通知列表和详情页展示本地化内容 - 新增数据库迁移脚本 - 更新通知协议文档
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../features/notifications/data/models/notification_item.dart';
|
||||
import '../../theme/design_tokens.dart';
|
||||
import '../../utils/time_format.dart';
|
||||
|
||||
class NotificationDetailBottomSheet extends StatefulWidget {
|
||||
const NotificationDetailBottomSheet({
|
||||
@@ -76,7 +77,7 @@ class _NotificationDetailBottomSheetState
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: AppSpacing.lg),
|
||||
child: Text(
|
||||
_formatTime(widget.item.createdAt),
|
||||
formatRelativeTime(context, widget.item.createdAt),
|
||||
style: textTheme.labelSmall?.copyWith(color: colors.outline),
|
||||
),
|
||||
),
|
||||
@@ -97,16 +98,6 @@ class _NotificationDetailBottomSheetState
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
String _formatTime(DateTime dt) {
|
||||
final now = DateTime.now();
|
||||
final diff = now.difference(dt);
|
||||
if (diff.inMinutes < 1) return '刚刚';
|
||||
if (diff.inHours < 1) return '${diff.inMinutes}分钟前';
|
||||
if (diff.inDays < 1) return '${diff.inHours}小时前';
|
||||
if (diff.inDays < 30) return '${diff.inDays}天前';
|
||||
return '${dt.month}/${dt.day}';
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> showNotificationDetailBottomSheet({
|
||||
|
||||
Reference in New Issue
Block a user