feat: Implement client settings and profile management feature with sign-out functionality.

This commit is contained in:
Achintha Isuru
2026-01-21 19:37:34 -05:00
parent 7d5a40b7e3
commit eace8a66af
21 changed files with 536 additions and 15 deletions

View File

@@ -185,6 +185,17 @@
"hourly_rate": "Hourly Rate (\\$) *",
"post_shift": "Post Shift"
}
},
"client_settings": {
"profile": {
"title": "Profile",
"edit_profile": "Edit Profile",
"hubs": "Hubs",
"log_out": "Log Out",
"quick_links": "Quick Links",
"clock_in_hubs": "Clock-In Hubs",
"billing_payments": "Billing & Payments"
}
}
}

View File

@@ -185,5 +185,16 @@
"hourly_rate": "Tarifa por hora (\\$) *",
"post_shift": "Publicar Turno"
}
},
"client_settings": {
"profile": {
"title": "Perfil",
"edit_profile": "Editar Perfil",
"hubs": "Hubs",
"log_out": "Cerrar sesión",
"quick_links": "Enlaces rápidos",
"clock_in_hubs": "Hubs de Marcaje",
"billing_payments": "Facturación y Pagos"
}
}
}

View File

@@ -4,9 +4,9 @@
/// To regenerate, run: `dart run slang`
///
/// Locales: 2
/// Strings: 276 (138 per locale)
/// Strings: 288 (144 per locale)
///
/// Built on 2026-01-21 at 18:21 UTC
/// Built on 2026-01-22 at 00:33 UTC
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import

View File

@@ -45,6 +45,7 @@ class Translations with BaseTranslations<AppLocale, Translations> {
late final TranslationsStaffAuthenticationEn staff_authentication = TranslationsStaffAuthenticationEn._(_root);
late final TranslationsClientAuthenticationEn client_authentication = TranslationsClientAuthenticationEn._(_root);
late final TranslationsClientHomeEn client_home = TranslationsClientHomeEn._(_root);
late final TranslationsClientSettingsEn client_settings = TranslationsClientSettingsEn._(_root);
}
// Path: common
@@ -120,10 +121,6 @@ class TranslationsClientHomeEn {
final Translations _root; // ignore: unused_field
// Translations
/// en: 'Shift order submitted successfully'
String get shift_created_success => 'Shift order submitted successfully';
late final TranslationsClientHomeDashboardEn dashboard = TranslationsClientHomeDashboardEn._(_root);
late final TranslationsClientHomeWidgetsEn widgets = TranslationsClientHomeWidgetsEn._(_root);
late final TranslationsClientHomeActionsEn actions = TranslationsClientHomeActionsEn._(_root);
@@ -131,6 +128,16 @@ class TranslationsClientHomeEn {
late final TranslationsClientHomeFormEn form = TranslationsClientHomeFormEn._(_root);
}
// Path: client_settings
class TranslationsClientSettingsEn {
TranslationsClientSettingsEn._(this._root);
final Translations _root; // ignore: unused_field
// Translations
late final TranslationsClientSettingsProfileEn profile = TranslationsClientSettingsProfileEn._(_root);
}
// Path: staff_authentication.get_started_page
class TranslationsStaffAuthenticationGetStartedPageEn {
TranslationsStaffAuthenticationGetStartedPageEn._(this._root);
@@ -541,6 +548,36 @@ class TranslationsClientHomeFormEn {
String get post_shift => 'Post Shift';
}
// Path: client_settings.profile
class TranslationsClientSettingsProfileEn {
TranslationsClientSettingsProfileEn._(this._root);
final Translations _root; // ignore: unused_field
// Translations
/// en: 'Profile'
String get title => 'Profile';
/// en: 'Edit Profile'
String get edit_profile => 'Edit Profile';
/// en: 'Hubs'
String get hubs => 'Hubs';
/// en: 'Log Out'
String get log_out => 'Log Out';
/// en: 'Quick Links'
String get quick_links => 'Quick Links';
/// en: 'Clock-In Hubs'
String get clock_in_hubs => 'Clock-In Hubs';
/// en: 'Billing & Payments'
String get billing_payments => 'Billing & Payments';
}
// Path: staff_authentication.profile_setup_page.steps
class TranslationsStaffAuthenticationProfileSetupPageStepsEn {
TranslationsStaffAuthenticationProfileSetupPageStepsEn._(this._root);
@@ -816,7 +853,6 @@ extension on Translations {
'client_authentication.sign_up_page.social_google' => 'Sign Up with Google',
'client_authentication.sign_up_page.has_account' => 'Already have an account? ',
'client_authentication.sign_up_page.sign_in_link' => 'Sign In',
'client_home.shift_created_success' => 'Shift order submitted successfully',
'client_home.dashboard.welcome_back' => 'Welcome back',
'client_home.dashboard.edit_mode_active' => 'Edit Mode Active',
'client_home.dashboard.drag_instruction' => 'Drag to reorder, toggle visibility',
@@ -855,6 +891,13 @@ extension on Translations {
'client_home.form.workers_needed' => 'Workers Needed *',
'client_home.form.hourly_rate' => 'Hourly Rate (\$) *',
'client_home.form.post_shift' => 'Post Shift',
'client_settings.profile.title' => 'Profile',
'client_settings.profile.edit_profile' => 'Edit Profile',
'client_settings.profile.hubs' => 'Hubs',
'client_settings.profile.log_out' => 'Log Out',
'client_settings.profile.quick_links' => 'Quick Links',
'client_settings.profile.clock_in_hubs' => 'Clock-In Hubs',
'client_settings.profile.billing_payments' => 'Billing & Payments',
_ => null,
};
}

View File

@@ -42,6 +42,7 @@ class TranslationsEs with BaseTranslations<AppLocale, Translations> implements T
@override late final _TranslationsStaffAuthenticationEs staff_authentication = _TranslationsStaffAuthenticationEs._(_root);
@override late final _TranslationsClientAuthenticationEs client_authentication = _TranslationsClientAuthenticationEs._(_root);
@override late final _TranslationsClientHomeEs client_home = _TranslationsClientHomeEs._(_root);
@override late final _TranslationsClientSettingsEs client_settings = _TranslationsClientSettingsEs._(_root);
}
// Path: common
@@ -103,7 +104,6 @@ class _TranslationsClientHomeEs implements TranslationsClientHomeEn {
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get shift_created_success => 'Orden de turno enviada con éxito';
@override late final _TranslationsClientHomeDashboardEs dashboard = _TranslationsClientHomeDashboardEs._(_root);
@override late final _TranslationsClientHomeWidgetsEs widgets = _TranslationsClientHomeWidgetsEs._(_root);
@override late final _TranslationsClientHomeActionsEs actions = _TranslationsClientHomeActionsEs._(_root);
@@ -111,6 +111,16 @@ class _TranslationsClientHomeEs implements TranslationsClientHomeEn {
@override late final _TranslationsClientHomeFormEs form = _TranslationsClientHomeFormEs._(_root);
}
// Path: client_settings
class _TranslationsClientSettingsEs implements TranslationsClientSettingsEn {
_TranslationsClientSettingsEs._(this._root);
final TranslationsEs _root; // ignore: unused_field
// Translations
@override late final _TranslationsClientSettingsProfileEs profile = _TranslationsClientSettingsProfileEs._(_root);
}
// Path: staff_authentication.get_started_page
class _TranslationsStaffAuthenticationGetStartedPageEs implements TranslationsStaffAuthenticationGetStartedPageEn {
_TranslationsStaffAuthenticationGetStartedPageEs._(this._root);
@@ -334,6 +344,22 @@ class _TranslationsClientHomeFormEs implements TranslationsClientHomeFormEn {
@override String get post_shift => 'Publicar Turno';
}
// Path: client_settings.profile
class _TranslationsClientSettingsProfileEs implements TranslationsClientSettingsProfileEn {
_TranslationsClientSettingsProfileEs._(this._root);
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get title => 'Perfil';
@override String get edit_profile => 'Editar Perfil';
@override String get hubs => 'Hubs';
@override String get log_out => 'Cerrar sesión';
@override String get quick_links => 'Enlaces rápidos';
@override String get clock_in_hubs => 'Hubs de Marcaje';
@override String get billing_payments => 'Facturación y Pagos';
}
// Path: staff_authentication.profile_setup_page.steps
class _TranslationsStaffAuthenticationProfileSetupPageStepsEs implements TranslationsStaffAuthenticationProfileSetupPageStepsEn {
_TranslationsStaffAuthenticationProfileSetupPageStepsEs._(this._root);
@@ -534,7 +560,6 @@ extension on TranslationsEs {
'client_authentication.sign_up_page.social_google' => 'Regístrate con Google',
'client_authentication.sign_up_page.has_account' => '¿Ya tienes una cuenta? ',
'client_authentication.sign_up_page.sign_in_link' => 'Iniciar sesión',
'client_home.shift_created_success' => 'Orden de turno enviada con éxito',
'client_home.dashboard.welcome_back' => 'Bienvenido de nuevo',
'client_home.dashboard.edit_mode_active' => 'Modo Edición Activo',
'client_home.dashboard.drag_instruction' => 'Arrastra para reordenar, cambia la visibilidad',
@@ -573,6 +598,13 @@ extension on TranslationsEs {
'client_home.form.workers_needed' => 'Trabajadores Necesarios *',
'client_home.form.hourly_rate' => 'Tarifa por hora (\$) *',
'client_home.form.post_shift' => 'Publicar Turno',
'client_settings.profile.title' => 'Perfil',
'client_settings.profile.edit_profile' => 'Editar Perfil',
'client_settings.profile.hubs' => 'Hubs',
'client_settings.profile.log_out' => 'Cerrar sesión',
'client_settings.profile.quick_links' => 'Enlaces rápidos',
'client_settings.profile.clock_in_hubs' => 'Hubs de Marcaje',
'client_settings.profile.billing_payments' => 'Facturación y Pagos',
_ => null,
};
}