Added translations, fixed icons, created menu buttons, refactor screens

This commit is contained in:
2026-03-04 18:00:55 +01:00
parent 5a68dfb3df
commit 014ef1ad26
53 changed files with 1845 additions and 1506 deletions

View File

@@ -10,4 +10,4 @@ export 'src/buttons/primary_button.dart';
export 'src/buttons/secondary_button.dart';
export 'src/buttons/custom_text_button.dart';
export 'src/dropdowns/dropdown.dart';
export 'src/dropdowns/country_prefix_picker.dart';
export 'src/dropdowns/country_prefix_picker.dart';

View File

@@ -20,6 +20,7 @@ enum ThemeCode {
textTertiary,
buttonPrimary,
buttonSecondary,
legacyPrimary,
}
abstract class ThemePort {

View File

@@ -13,6 +13,7 @@ class ThemeSfAdapter extends ThemePort {
ThemeCode.textTertiary: Color(0xFFE0E0E0),
ThemeCode.buttonPrimary: Color(0xFF329e95),
ThemeCode.buttonSecondary: Color(0xFF4B4B4B),
ThemeCode.legacyPrimary: Color(0xFF588EA5),
};
@override

View File

@@ -178,5 +178,34 @@
"userRole": "Role: {role}",
"copy": "copy",
"deviceIdLabel": "ID: {deviceId}",
"regCodeLabel": "Registration code: {regCode}"
"regCodeLabel": "Registration code: {regCode}",
"deleteAccountBody1": "Canceling an account is an irreversible operation. Please confirm that all services related to the account have been properly managed.\n\nAfter canceling your account, you will no longer be able to use this account or recover any content or information you have added or linked (even if you use the same account to register and reuse), including, but not limited to:\n1. You will not be able to log in and use this account.\n2. Your personal information and account history will not be recovered.\n3. All records of third-party services you use through account linking or account binding cannot be recovered. You will no longer be able to log in and use the above services. Love, gold coins, third-party points, orders, tickets, and other coupons you have received will be considered abandoned and will not be used.\n\nPlease note that canceling your account does not mean that the account behavior and related responsibilities prior to the cancellation of this account are exempt or reduced.",
"deleteAccountBody2": "Clicking \"Request account cancellation\" means that you have read and agree to the above description.",
"requestCancelButton": "Request account cancellation",
"verifyAccount": "Verify account",
"requestCancelTitle": "Request account cancellation",
"requestCancelBody": "1. Account cancellation does not mean operational recovery, so please ensure that the account is no longer in use before operating it.\n2. Once an account cancellation request has been successfully submitted, the platform will delete all information related to your account within one hour.",
"deleteDeviceData": "Delete all information related to the {name} device",
"confirm": "Confirm",
"remoteConnection": "Remote connection",
"calendar": "Calendar",
"contacts": "Contacts",
"doNotDisturb": "Do not disturb",
"videoCall": "Video call",
"health": "Health",
"activityMeter": "Activity meter",
"rewards": "Rewards",
"callWatch": "Call watch",
"appsUse": "Apps use",
"appsSurveillance": "Apps surveillance",
"makeFriends": "Make friends",
"locateSF": "Play sound on device",
"locateSFBody1": "Locate your device with a sound.",
"locateSFBody2": "1. Press the Play Sound button to activate the sound on the device.\n2. Press OK.\n3. The device will play a sound.\n4. The device will start sounding after receiving the instructions.",
"locateSFAction": "Locate my SaveFamily",
"insertPhone": "Insert your phone number",
"call": "Call me",
"takePicture": "Take a picture",
"remoteCamera": "Remote Camera",
"remoteListening": "Remote Listening"
}

View File

@@ -184,5 +184,26 @@
"requestCancelTitle": "Solicitud de cancelación de la cuenta",
"requestCancelBody": "1. La cancelación de la cuenta no es la recuperación operacional, asegúrate de que antes de operar la cuenta ya no se utiliza.\n2. Enviado correctamente una cancelación de la cuenta de la aplicación, la plataforma se eliminará toda la información relacionada con tu cuenta dentro de 1 hora.",
"deleteDeviceData": "Borrar toda la información relacionada con el dispositivo de {name}",
"confirm": "Confirmar"
"confirm": "Confirmar",
"remoteConnection": "Conexión remota",
"calendar": "Horario de actividades",
"contacts": "Agenda",
"doNotDisturb": "No molestar",
"videoCall": "Video llamada",
"health": "Salud",
"activityMeter": "Medidor de actividad",
"rewards": "Enviar recompensas",
"callWatch": "Llamar al reloj",
"appsUse": "Uso de las aplicaciones",
"appsSurveillance": "Supervisión de las aplicaciones",
"makeFriends": "Hacer amigos",
"locateSF": "Reproducir sonido en dispositivo",
"locateSFBody1": "Localiza tu dispositivo con un sonido.",
"locateSFBody2": "1. Pulsa el botón Reproducir Sonido para activar el sonido en el dispositivo.\n2. Pulsa OK\n3. El dispositivo reproducirá un sonido\n4. El dispositivo comenzará a sonar después de recibir las instrucciones",
"locateSFAction": "Ubica mi Savefamily",
"insertPhone": "Inserta tu número de teléfono",
"call": "Llámame",
"takePicture": "Tomar fotografía",
"remoteCamera": "Foto remota",
"remoteListening": "Escucha remota"
}

View File

@@ -184,35 +184,56 @@ class I18n {
static const String enterSubject = 'enterSubject';
static const String enterMessage = 'enterMessage';
static const String sendEmail = 'sendEmail';
static const String legacyPersonalData = 'personalData';
static const String legacyChangePassword = 'changePassword';
static const String legacyAddNewSF = 'addNewSF';
static const String legacyLinkedDevices = 'linkedDevices';
static const String legacyAppUsers = 'appUsers';
static const String legacyPrivacyPolicy = 'privacyPolicy';
static const String legacyLogOut = 'logOut';
static const String personalData = 'personalData';
static const String changePassword = 'changePassword';
static const String addNewSF = 'addNewSF';
static const String linkedDevices = 'linkedDevices';
static const String appUsers = 'appUsers';
static const String privacyPolicy = 'privacyPolicy';
static const String logOut = 'logOut';
static const String passwordLabel = 'passwordLabel';
static const String legacySubmit = 'submit';
static const String legacySave = 'save';
static const String legacyEditDeviceTitle = 'editDeviceTitle';
static const String legacyName = 'name';
static const String legacyDeleteDeviceDialog = 'deleteDeviceDialog';
static const String legacyDeleteUserDialog = 'deleteUserDialog';
static const String legacyCancel = 'cancel';
static const String legacyDelete = 'delete';
static const String legacyUserAccount = 'userAccount';
static const String legacyUserRole = 'userRole';
static const String legacyCopy = 'copy';
static const String legacyDeviceIdLabel = 'deviceIdLabel';
static const String legacyRegCodeLabel = 'regCodeLabel';
static const String legacyRegCode = 'regCode';
static const String legacyDeleteAccount = 'deleteAccount';
static const String legacyDeleteAccountBody1 = 'deleteAccountBody1';
static const String legacyDeleteAccountBody2 = 'deleteAccountBody2';
static const String legacyRequestCancelButton = 'requestCancelButton';
static const String legacyVerifyAccount = 'verifyAccount';
static const String legacyRequestCancelTitle = 'requestCancelTitle';
static const String legacyRequestCancelBody = 'requestCancelBody';
static const String legacyDeleteDeviceData = 'deleteDeviceData';
static const String legacyConfirm = 'confirm';
static const String submit = 'submit';
static const String save = 'save';
static const String editDeviceTitle = 'editDeviceTitle';
static const String name = 'name';
static const String deleteDeviceDialog = 'deleteDeviceDialog';
static const String deleteUserDialog = 'deleteUserDialog';
static const String cancel = 'cancel';
static const String delete = 'delete';
static const String userAccount = 'userAccount';
static const String userRole = 'userRole';
static const String copy = 'copy';
static const String deviceIdLabel = 'deviceIdLabel';
static const String regCodeLabel = 'regCodeLabel';
static const String regCode = 'regCode';
static const String deleteAccount = 'deleteAccount';
static const String deleteAccountBody1 = 'deleteAccountBody1';
static const String deleteAccountBody2 = 'deleteAccountBody2';
static const String requestCancelButton = 'requestCancelButton';
static const String verifyAccount = 'verifyAccount';
static const String requestCancelTitle = 'requestCancelTitle';
static const String requestCancelBody = 'requestCancelBody';
static const String deleteDeviceData = 'deleteDeviceData';
static const String confirm = 'confirm';
static const String remoteConnection = 'remoteConnection';
static const String calendar = 'calendar';
static const String contacts = 'contacts';
static const String doNotDisturb = 'doNotDisturb';
static const String videoCall = 'videoCall';
static const String health = 'health';
static const String activityMeter = 'activityMeter';
static const String rewards = 'rewards';
static const String callWatch = 'callWatch';
static const String appsUse = 'appsUse';
static const String appsSurveillance = 'appsSurveillance';
static const String makeFriends = 'makeFriends';
static const String locateSF = 'locateSF';
static const String locateSFBody1 = 'locateSFBody1';
static const String locateSFBody2 = 'locateSFBody2';
static const String locateSFAction = 'locateSFAction';
static const String insertPhone = 'insertPhone';
static const String call = 'call';
static const String takePicture = 'takePicture';
static const String remoteCamera = 'remoteCamera';
static const String remoteListening = 'remoteListening';
}