- 通过 qemu-user-static 实现 ARM64 主机编译 Android APK (51MB) - 修复 Gradle: Aliyun 镜像 + PREFER_SETTINGS + JVM 内存 1536M - 部署 APK 到 configs/downloads/, Web 下载接口已验证 (HTTP 200) - 新增 Flutter TODO.md: 10项待优化 (P0/P1/P2 分级) - 新增 pm_soul.md, 更新 routes.rs APK 下载路由 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
56 lines
1.5 KiB
Dart
56 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../theme/app_colors.dart';
|
|
|
|
class StatusCard extends StatelessWidget {
|
|
const StatusCard({
|
|
required this.title,
|
|
required this.value,
|
|
required this.subtitle,
|
|
required this.icon,
|
|
required this.accentColor,
|
|
super.key,
|
|
});
|
|
|
|
final String title;
|
|
final String value;
|
|
final String subtitle;
|
|
final IconData icon;
|
|
final Color accentColor;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Card(
|
|
child: Padding(
|
|
padding: const EdgeInsets.all(AppSpacing.md),
|
|
child: Row(
|
|
children: [
|
|
Container(
|
|
width: 48,
|
|
height: 48,
|
|
decoration: BoxDecoration(
|
|
color: accentColor.withValues(alpha: 0.16),
|
|
borderRadius: BorderRadius.circular(AppRadius.medium),
|
|
),
|
|
child: Icon(icon, color: accentColor),
|
|
),
|
|
const SizedBox(width: AppSpacing.md),
|
|
Expanded(
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
Text(title, style: Theme.of(context).textTheme.bodyMedium),
|
|
const SizedBox(height: AppSpacing.xs),
|
|
Text(value, style: Theme.of(context).textTheme.headlineSmall),
|
|
const SizedBox(height: AppSpacing.xs),
|
|
Text(subtitle, style: Theme.of(context).textTheme.bodySmall),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|