更新法语语言包
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
class MessageTypeComponent extends StatelessWidget {
|
||||
final Map<String, dynamic> config;
|
||||
|
||||
const MessageTypeComponent({Key? key, required this.config}) : super(key: key);
|
||||
const MessageTypeComponent({Key? key, required this.config})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -30,10 +32,10 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
children: [
|
||||
// 标题栏
|
||||
_buildHeader(name, type),
|
||||
|
||||
|
||||
// 分隔线
|
||||
const Divider(height: 1, color: Color(0xFFEEEEEE)),
|
||||
|
||||
|
||||
// 数据列表
|
||||
_buildDataList(dataList),
|
||||
],
|
||||
@@ -57,7 +59,8 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 4.0),
|
||||
padding:
|
||||
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 4.0),
|
||||
decoration: BoxDecoration(
|
||||
color: _getTypeColor(type),
|
||||
borderRadius: BorderRadius.circular(20.0),
|
||||
@@ -79,10 +82,10 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
// 构建数据列表
|
||||
Widget _buildDataList(List<dynamic> dataList) {
|
||||
if (dataList.isEmpty) {
|
||||
return const Padding(
|
||||
return Padding(
|
||||
padding: EdgeInsets.all(16.0),
|
||||
child: Text(
|
||||
'暂无数据',
|
||||
'暂无数据'.tr,
|
||||
style: TextStyle(color: Colors.grey),
|
||||
),
|
||||
);
|
||||
@@ -110,7 +113,7 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
Widget _buildDataItem(Map<String, dynamic> item) {
|
||||
final String itemName = item['name']?.toString() ?? '未知';
|
||||
final int? id = item['id'];
|
||||
|
||||
|
||||
return Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0),
|
||||
child: Row(
|
||||
@@ -136,7 +139,7 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
// 数据内容
|
||||
Expanded(
|
||||
child: Column(
|
||||
@@ -150,9 +153,9 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
color: Color(0xFF333333),
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
const SizedBox(height: 4.0),
|
||||
|
||||
|
||||
// 动态显示其他字段
|
||||
..._buildExtraFields(item),
|
||||
],
|
||||
@@ -166,13 +169,13 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
// 构建额外字段显示
|
||||
List<Widget> _buildExtraFields(Map<String, dynamic> item) {
|
||||
final List<Widget> fields = [];
|
||||
|
||||
|
||||
// 遍历所有字段,排除已经显示的 id 和 name
|
||||
item.forEach((key, value) {
|
||||
if (key != 'id' && key != 'name' && value != null) {
|
||||
final String displayKey = _getDisplayKey(key);
|
||||
final String displayValue = _formatValue(value);
|
||||
|
||||
|
||||
fields.add(
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(top: 2.0),
|
||||
@@ -201,7 +204,7 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return fields;
|
||||
}
|
||||
|
||||
@@ -214,7 +217,7 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
'duration': '持续时间(秒)',
|
||||
'time': '时间',
|
||||
};
|
||||
|
||||
|
||||
return keyMap[key] ?? key;
|
||||
}
|
||||
|
||||
@@ -253,4 +256,4 @@ class MessageTypeComponent extends StatelessWidget {
|
||||
return '未知';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user