Commit d058b647541158a7e1b630463302165e0a9ccd48

Authored by 刘宏哲
1 parent 3735d0da

feat(app): bug fixed

... ... @@ -157,18 +157,27 @@ class _FriendEditRemarkDialogState extends State<FriendEditRemarkDialog> {
borderRadius: BorderRadius.circular(24.dp),
),
padding: EdgeInsets.symmetric(horizontal: 16.dp),
child: Text(
widget.confirmText,
maxLines: 1,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.center,
style: const TextStyle(
color: Colors.white,
fontSize: 14,
fontWeight: FontWeight.w500,
height: 1.2,
),
),
child: _isSubmitting
? SizedBox(
width: 18.dp,
height: 18.dp,
child: const CircularProgressIndicator(
color: Colors.white,
strokeWidth: 2,
),
)
: Text(
widget.confirmText,
maxLines: 1,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.center,
style: const TextStyle(
color: Colors.white,
fontSize: 14,
fontWeight: FontWeight.w500,
height: 1.2,
),
),
),
),
);
... ...
... ... @@ -546,20 +546,20 @@ class _TrendMetric extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(label,
style: const TextStyle(color: Color(0xFF78787D), fontSize: 11)),
style: const TextStyle(color: Color(0xFF78787D), fontSize: 12)),
const SizedBox(height: 3),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Text(context.l10n.hrvTrendDayValue(value),
style: const TextStyle(
fontSize: 25, fontWeight: FontWeight.w600, height: 1)),
fontSize: 26, fontWeight: FontWeight.w600, height: 1)),
if (context.l10n.hrvTrendDayUnit.isNotEmpty)
Padding(
padding: const EdgeInsets.only(left: 4, bottom: 2),
child: Text(context.l10n.hrvTrendDayUnit,
style: const TextStyle(
fontSize: 11, fontWeight: FontWeight.w500)),
fontSize: 12, fontWeight: FontWeight.w500)),
),
],
),
... ... @@ -579,7 +579,7 @@ class _TrendMetric extends StatelessWidget {
Flexible(
child: Text(
comparison,
style: TextStyle(color: comparisonColor, fontSize: 10),
style: TextStyle(color: comparisonColor, fontSize: 12),
),
),
],
... ... @@ -847,7 +847,7 @@ class _DistributionCard extends StatelessWidget {
),
const SizedBox(height: 28),
SizedBox(
width: 216,
width: 230,
child: _DistributionGrid(report: report),
),
const SizedBox(height: 20),
... ... @@ -877,14 +877,14 @@ class _DistributionGrid extends StatelessWidget {
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, constraints) {
const spacing = 16.0;
const spacing = 14.0;
return Wrap(
spacing: spacing,
runSpacing: 16,
runSpacing: 19,
children: [
for (final level in HrvStressLevel.values)
SizedBox(
width: 100,
width: 105,
child: _DistributionItem(level: level, report: report),
),
],
... ...
... ... @@ -72,19 +72,23 @@ class PremiumActivatedView extends GetView<PremiumActivatedController> {
SizedBox(height: 150.h),
const _FloatingPremiumIcon(),
SizedBox(height: 84.h),
Text(
context.l10n.premiumActivatedTitle,
style: const TextStyle(
fontSize: 20,
color: Color(0xFF0F0F11),
fontWeight: FontWeightExt.semibold),
textAlign: TextAlign.center,
Padding(
padding: const EdgeInsets.symmetric(horizontal: 24.0),
child: Text(
context.l10n.premiumActivatedTitle,
style: const TextStyle(
fontSize: 20,
color: Color(0xFF0F0F11),
fontWeight: FontWeightExt.semibold),
textAlign: TextAlign.center,
),
),
SizedBox(height: 8),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 24.0),
child: Text(context.l10n.premiumActivatedDescription,
style: const TextStyle(fontSize: 14, color: Color(0xFF0F0F11)),
style:
const TextStyle(fontSize: 14, color: Color(0xFF0F0F11)),
textAlign: TextAlign.center),
),
Expanded(child: Container()),
... ...
... ... @@ -340,8 +340,9 @@ class PurchaseController extends GetxController {
}
PurchasePlan _buildPlan(PayProduct product, [AppleProductInfo? appleInfo]) {
var productName = appleInfo?.productName ?? _nonEmpty(product.name) ?? '';
return PurchasePlan(
title: _nonEmpty(product.name) ?? '',
title: productName,
subtitle: _planSubtitle(product, appleInfo),
price: appleInfo == null ? '' : _displayPrice(appleInfo),
badge: _nonEmpty(product.content?.label) ?? '',
... ...
... ... @@ -20,8 +20,11 @@ class ReportDateFormatter {
static String yearMonthDay(DateTime date, String localeName) =>
DateFormat.yMMMd(localeName).format(date);
/// Uses the same locale-aware month/day formatting as [monthDay], then
/// appends the abbreviated weekday. This preserves locale-specific date
/// literals (for example, the Chinese "日").
static String monthDayWithWeekday(DateTime date, String localeName) =>
DateFormat('MMMd · EEE', localeName).format(date);
'${monthDay(date, localeName)} · ${DateFormat.E(localeName).format(date)}';
static String pickerYear(int value, String localeName) =>
year(DateTime(value), localeName);
... ...
... ... @@ -679,7 +679,7 @@
"purchaseCurrencySymbol": "¥",
"purchaseProductInfoUnavailable": "Product information is unavailable. Please try again later.",
"purchaseOrderInfoUnavailable": "Order information is unavailable. Please try again later.",
"purchaseMonthlyUnitPrice": "Only {unitPrice} per month",
"purchaseMonthlyUnitPrice": "Only {unitPrice}/month",
"purchaseApplePaymentInvalidOrder": "Invalid UUID format.",
"purchaseApplePaymentProductNotFound": "Failed to find product by product ID.",
"purchaseApplePaymentCancelled": "The user cancelled the payment.",
... ... @@ -1070,4 +1070,4 @@
"cannotUseCurrentPassword": "You can't use the current password",
"thisEmailIsAlreadyLinkedToAnotherAccountPleaseUseADifferentEmail": "This email is already linked to another account. Please use a different email.",
"loggedOutTokenInvalid": "Logged Out"
}
\ No newline at end of file
}
... ...
... ... @@ -1968,7 +1968,7 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String purchaseMonthlyUnitPrice(String unitPrice) {
return 'Only $unitPrice per month';
return 'Only $unitPrice/month';
}
@override
... ...