style(ui): 统一页面字号间距与状态样式
This commit is contained in:
1 parent
df5fbe5b08
commit
c5bfd006fa
23 files changed
+542
-569
No files matched your search
@@ -13,6 +13,7 @@ import '../../core/formatting/error_text.dart';
|
||||
import '../../core/formatting/localized_date_time.dart';
|
||||
import '../../core/platform/haptics.dart';
|
||||
import '../../core/theme/app_colors.dart';
|
||||
import '../../core/theme/app_dimens.dart';
|
||||
import '../../core/theme/app_theme.dart';
|
||||
import '../../core/widgets/auth_gate.dart';
|
||||
import '../../core/widgets/empty_state.dart';
|
||||
@@ -60,9 +61,12 @@ class _DownloadsPageState extends State<DownloadsPage> {
|
||||
foregroundColor: Colors.white,
|
||||
title: Text(l10n.downloads),
|
||||
),
|
||||
body: signedIn
|
||||
? _DownloadsBody(downloads: context.watch<DownloadController>())
|
||||
: const AuthGatePanel(),
|
||||
body: SafeArea(
|
||||
top: false,
|
||||
child: signedIn
|
||||
? _DownloadsBody(downloads: context.watch<DownloadController>())
|
||||
: const AuthGatePanel(),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -194,11 +198,11 @@ class _PolicyPanel extends StatelessWidget {
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
return Container(
|
||||
key: const Key('download-policy'),
|
||||
padding: const EdgeInsets.fromLTRB(14, 14, 14, 10),
|
||||
padding: const EdgeInsets.fromLTRB(16, 16, 16, 12),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColors.card,
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
border: Border.all(color: const Color(0xFF2A2C33)),
|
||||
borderRadius: BorderRadius.circular(AppDimens.innerRadius),
|
||||
border: Border.all(color: AppColors.outlineVariantDark),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -219,15 +223,21 @@ class _PolicyPanel extends StatelessWidget {
|
||||
const SizedBox(height: 6),
|
||||
Text(
|
||||
policy.expirePolicyText,
|
||||
style: const TextStyle(color: Color(0xFFB7B3B8), fontSize: 12),
|
||||
style: const TextStyle(
|
||||
color: AppColors.muted,
|
||||
fontSize: AppDimens.caption,
|
||||
),
|
||||
),
|
||||
const Divider(height: 22, color: Color(0xFF2A2C33)),
|
||||
const Divider(height: 22, color: AppColors.outlineVariantDark),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Text(
|
||||
l10n.downloadWifiOnly,
|
||||
style: const TextStyle(color: Colors.white, fontSize: 13),
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: AppDimens.body,
|
||||
),
|
||||
),
|
||||
),
|
||||
Switch(
|
||||
@@ -242,7 +252,10 @@ class _PolicyPanel extends StatelessWidget {
|
||||
Expanded(
|
||||
child: Text(
|
||||
l10n.downloadQuality,
|
||||
style: const TextStyle(color: Colors.white, fontSize: 13),
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: AppDimens.body,
|
||||
),
|
||||
),
|
||||
),
|
||||
DropdownButton<String>(
|
||||
@@ -302,7 +315,7 @@ class _LicenseTile extends StatelessWidget {
|
||||
padding: const EdgeInsets.all(12),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColors.card,
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
borderRadius: BorderRadius.circular(AppDimens.innerRadius),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -355,10 +368,12 @@ class _LicenseTile extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
borderRadius: BorderRadius.circular(AppDimens.progressRadius),
|
||||
child: LinearProgressIndicator(
|
||||
minHeight: 4,
|
||||
minHeight: AppDimens.progressHeight,
|
||||
value: (license.progressPercent / 100).clamp(0.0, 1.0),
|
||||
backgroundColor: Colors.white24,
|
||||
valueColor: const AlwaysStoppedAnimation(AppColors.blueSoft),
|
||||
),
|
||||
),
|
||||
if (license.expireAt != null) ...[
|
||||
@@ -367,7 +382,10 @@ class _LicenseTile extends StatelessWidget {
|
||||
l10n.downloadExpiresAt(
|
||||
formatLocalizedDateTime(context, license.expireAt!),
|
||||
),
|
||||
style: const TextStyle(color: Color(0xFF8D8990), fontSize: 11),
|
||||
style: const TextStyle(
|
||||
color: AppColors.muted,
|
||||
fontSize: AppDimens.caption,
|
||||
),
|
||||
),
|
||||
],
|
||||
],
|
||||
|
||||
Reference in new issue
Block a user