feat: lang

This commit is contained in:
efrilm
2025-08-20 13:52:49 +07:00
parent f07d07b3a8
commit 5a83bc4049
53 changed files with 3386 additions and 721 deletions
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import '../../../../common/extension/extension.dart';
import '../../../../common/theme/theme.dart';
import '../../../../domain/customer/customer.dart';
import '../../../components/spacer/spacer.dart';
@@ -245,7 +246,9 @@ class CustomerTile extends StatelessWidget {
),
const SpaceWidth(6),
Text(
customer.isActive ? 'Active' : 'Inactive',
customer.isActive
? context.lang.active
: context.lang.inactive,
style: AppStyle.sm.copyWith(
color: customer.isActive
? AppColor.success
@@ -260,7 +263,7 @@ class CustomerTile extends StatelessWidget {
// Created date
if (customer.createdAt.isNotEmpty)
Text(
'Joined ${_formatDate(customer.createdAt)}',
'${context.lang.joined} ${_formatDate(context, customer.createdAt)}',
style: AppStyle.xs.copyWith(
color: AppColor.textSecondary,
),
@@ -326,7 +329,7 @@ class CustomerTile extends StatelessWidget {
return colors[index];
}
String _formatDate(String dateStr) {
String _formatDate(BuildContext context, String dateStr) {
try {
final date = DateTime.parse(dateStr);
final now = DateTime.now();
@@ -337,13 +340,13 @@ class CustomerTile extends StatelessWidget {
} else if (difference == 1) {
return 'yesterday';
} else if (difference < 30) {
return '${difference}d ago';
return '${difference}d ${context.lang.ago}';
} else if (difference < 365) {
final months = (difference / 30).floor();
return '${months}mo ago';
return '${months}mo ${context.lang.ago}';
} else {
final years = (difference / 365).floor();
return '${years}y ago';
return '${years}y ${context.lang.ago}';
}
} catch (e) {
return dateStr;