feedback bug fix

This commit is contained in:
Kalonkarthik 2025-01-22 10:59:21 +05:30
parent 58970a13d0
commit 7d251c8ac0
5 changed files with 83 additions and 83 deletions

View File

@ -1,24 +1,24 @@
{
"feedback_title": "نموذج الملاحظات",
"feedback_failed_msg": "لم يتم إرسال تعليقاتك. يرجى المحاولة مرة أخرى",
"feedback_title": "التعليقات",
"feedback_failed_msg": "لم يتم إرسال تعليقاتك. يرجى المحاولة مرة أخرى.",
"guide_title": "نموذج الملاحظات",
"register_title": "التسجيل",
"register_details": "من فضلك ادخل بياناتك",
"register_name": "اسم المستخدم",
"email_id": "الاسم الكامل",
"email_id": "معرف البريد الإلكتروني",
"enter_name": "أدخل الاسم",
"register_email": "أدخل بريدك الإلكتروني",
"register_password": "دخل كلمة المرور",
"register_Confirm_password": "أكيد كلمة المرو",
"agree": " وافق على",
"t_and": "و ",
"conditions": " الخاصة بالمركز الاتحادي للتنافسية والإحصاء",
"terms_conditions": "الشروط والأحكام ",
"privacy_policy":" وسياسة الخصوصية",
"account_confirmation": "ل لديك حساب؟ سجل الدخول ",
"login_title": "سجيل الدخول",
"enter_your_email": "أدخل بريدك الإلكتروني",
"enter_your_password": "أدخل كلمة المرور",
"register_Confirm_password": "تأكيد كلمة المرور",
"agree": "أوافق على الشروط والأحكام وسياسة الخصوصية للمركز الإتحادي للتنافسية والإحصاء",
"t_and": "",
"conditions": "",
"terms_conditions": "",
"privacy_policy":"",
"account_confirmation": "هل لديك حساب؟ سجل الدخول",
"login_title": "تسجيل الدخول",
"profile_title": "نموذج الملاحظات",
"my_profile": "ملفي الشخصي",
@ -30,8 +30,8 @@
"confirm": "تأكيد",
"change_password": "تغيير كلمة المرور",
"sure_save_page": " هل أنت متأكد أنك ترغب في حفظ هذه الصفحة؟",
"not_able_to_change": " بمجرد الحفظ، لن تتمكن من تعديل اسمك أو تاريخ ",
"save": "يحفظ",
"not_able_to_change": "بمجرد الحفظ، لن تتمكن من تعديل اسمك أو تاريخ ميلادك.",
"save": "حفظ",
"name": "اسم",
@ -55,25 +55,25 @@
"password_match": "كلمات المرور غير متطابقة",
"only8charac": "يجب أن تتكون كلمة المرور من 8 أحرف على الأقل",
"manage_user": "دارة المستخدمين",
"manage_user": "إدارة المستخدمين",
"user_name": "اسم المستخدم",
"reg_date": "تاريخ التسجيل",
"status": "تمت الموافقة",
"status": "الحالة",
"denied": "مرفوض",
"pending": "يد الانتظار",
"pending": " قيد الانتظار",
"approve_msg": "هل أنت متأكد أنك ترغب في تغيير الحالة إلى \"{newStatus}\"؟",
"yes": "نعم",
"no": "لا",
"no_result_found": "لم يتم العثور على نتائج",
"search": "يبحث",
"approved": "موافقة",
"approved": "تمت الموافقة",
"create_new_password": "إنشاء كلمة مرور جديدة",
"different_password": "يجب أن تكون كلمة المرور الجديدة مختلفة عن كلمة المرور المستخدمة سابقًا.",
"different_password":"يجب أن تكون كلمة المرور الجديدة مختلفة عن كلمة المرور المستخدمة سابقًا.",
"old_password": "كلمة المرور القديمة",
"enter_new_password": "أدخل كلمة المرور الجديدة",
"confirm_new_password": "تأكيد كلمة المرور الجديدة",
"password_changed_successfully": "م تغيير كلمة المرور بنجاح",
"password_changed_successfully": "تم تغيير كلمة المرور بنجاح",
"enter_old_password": "أدخل كلمة المرور القديمة",
"your_old_password_incorrect": "كلمة المرور القديمة الخاصة بك غير صحيحة.",
"failed_to_update_password": "",

View File

@ -8,17 +8,17 @@
"register_details": "Please enter your details",
"register_name": "Username",
"email_id": "Email ID",
"enter_name": "Enter your User Name",
"register_email": "Enter your email",
"register_password": "Enter your password",
"register_Confirm_password": "Confirm password",
"agree": "I agree to ",
"t_and": "and",
"conditions": " of Fcsc",
"terms_conditions": "terms & conditions",
"privacy_policy":"privacy policy",
"account_confirmation": "Already have an account? Login",
"login_title": "Login",
"enter_name": "Enter your User Name",
"enter_your_email": "Enter your email",
"enter_your_password": "Enter your password",
"register_Confirm_password": "Confirm password",
"agree": "I agree to ",
"t_and": "and",
"conditions": " of Fcsc",
"terms_conditions": "terms & conditions",
"privacy_policy":"privacy policy",
"account_confirmation": "Already have an account? Login",
"login_title": "Login",
"profile_title": "Edit Profile",
"my_profile": "My Profile",

View File

@ -475,7 +475,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
decoration: InputDecoration(
// hintText: 'Enter your email',
hintText: _showHints[1]
? AppLocalizations.of(context)!.register_email
? AppLocalizations.of(context)!.enter_your_email
: null,
// _showHints[1] ? 'Enter your email' : null,
prefixIcon: Icon(
@ -500,8 +500,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
obscureText: _obscurePassword,
decoration: InputDecoration(
hintText: _showHints[2]
? AppLocalizations.of(context)!
.register_password
? AppLocalizations.of(context)!.enter_your_password
: null,
// _showHints[2] ? 'Enter your password' : null,
prefixIcon: Icon(

View File

@ -28,7 +28,7 @@ class FeedbackForm extends StatefulWidget {
class _FeedbackFormState extends State<FeedbackForm>
with WidgetsBindingObserver {
final _pb =
PocketBase('https://pb.venbait.in'); // Initialize PocketBase client
PocketBase('https://pb.venbait.in'); // Initialize PocketBase client
// final _pb =
// PocketBase('http://127.0.0.1:8090'); // Initialize PocketBase client
@ -46,32 +46,32 @@ class _FeedbackFormState extends State<FeedbackForm>
dynamic userId;
List<Map<String, dynamic>> get _emojiOptions => [
{
"icon": Icons.sentiment_very_dissatisfied,
"label": context.translate("Terrible", "رهيب"), // Translate here
"value": 1,
},
{
"icon": Icons.sentiment_dissatisfied,
"label": context.translate("Bad", "سيء"), // Translate here
"value": 2,
},
{
"icon": Icons.sentiment_neutral,
"label": context.translate("Okay", "تمام"), // Translate here
"value": 3,
},
{
"icon": Icons.sentiment_satisfied,
"label": context.translate("Good", "جيد"), // Translate here
"value": 4,
},
{
"icon": Icons.sentiment_very_satisfied,
"label": context.translate("Amazing", "مدهش"), // Translate here
"value": 5,
},
];
{
"icon": Icons.sentiment_very_dissatisfied,
"label": context.translate("Terrible", "سئ جدا"), // Translate here
"value": 1,
},
{
"icon": Icons.sentiment_dissatisfied,
"label": context.translate("Bad", "سيء"), // Translate here
"value": 2,
},
{
"icon": Icons.sentiment_neutral,
"label": context.translate("Okay", "مقبول"), // Translate here
"value": 3,
},
{
"icon": Icons.sentiment_satisfied,
"label": context.translate("Good", "جيد"), // Translate here
"value": 4,
},
{
"icon": Icons.sentiment_very_satisfied,
"label": context.translate("Amazing", "مذهل"), // Translate here
"value": 5,
},
];
static const int _characterLimit = 1200;
final RegExp _allowedCharacters = RegExp(r'^[a-zA-Z0-9 .,!?-]*$');
@ -235,8 +235,8 @@ class _FeedbackFormState extends State<FeedbackForm>
child: _isFeedbackSubmitted
? _buildThankYouMessage()
: _isFeedbackFailed
? _buildFailureMessage()
: _buildFeedbackForm(),
? _buildFailureMessage()
: _buildFeedbackForm(),
),
),
);
@ -249,7 +249,7 @@ class _FeedbackFormState extends State<FeedbackForm>
Text(
context.translate(
'Do you have a suggestion or had any problem? Let us know.',
'هل لديك اقتراح أو واجهت أي مشكلة؟ اسمحوا لنا أن نعرف.',
'هل لديك اقتراح أو واجهت أي مشكلة؟ أخبرنا',
),
style: const TextStyle(
fontSize: 18,
@ -309,7 +309,7 @@ class _FeedbackFormState extends State<FeedbackForm>
const SizedBox(height: 30),
Text(
context.translate('How good did we do in these aspects?',
'ما مدى جودة ما قمنا به في هذه الجوانب؟'),
'ما مدى جودة أدائنا في هذه الجوانب؟'),
style: const TextStyle(
fontSize: 18,
fontFamily: 'Roboto',
@ -321,34 +321,34 @@ class _FeedbackFormState extends State<FeedbackForm>
_buildRatingRow(
context.translate('Ease of use', 'سهولة الاستخدام'),
_easeOfUseRating,
(rating) {
(rating) {
setState(() {
_easeOfUseRating = rating;
});
},
),
_buildRatingRow(
context.translate('Quality', 'جودة'),
context.translate('Quality', 'الجودة'),
_qualityRating,
(rating) {
(rating) {
setState(() {
_qualityRating = rating;
});
},
),
_buildRatingRow(
context.translate('Design', 'تصميم'),
context.translate('Design', 'التصميم'),
_designRating,
(rating) {
(rating) {
setState(() {
_designRating = rating;
});
},
),
_buildRatingRow(
context.translate('Redundant', 'متكرر'),
context.translate('Redundant', 'مكرر'),
_redundancyRating,
(rating) {
(rating) {
setState(() {
_redundancyRating = rating;
});
@ -362,14 +362,14 @@ class _FeedbackFormState extends State<FeedbackForm>
maxLength: _characterLimit,
decoration: InputDecoration(
hintText: context.translate(
'Tell us how we can improve', 'أخبرنا كيف يمكننا تحسين'),
'Tell us how we can improve', 'أخبرنا كيف يمكننا التحسين'),
border: OutlineInputBorder(
borderSide: BorderSide(
color: _hasError ? Colors.red : Color(0xFF7296BE),
),
),
errorText:
_hasError ? _errorMessage : null, // Show error below field
_hasError ? _errorMessage : null, // Show error below field
),
onChanged: (text) {
// Trigger re-validation and character limit on each change
@ -412,7 +412,7 @@ class _FeedbackFormState extends State<FeedbackForm>
Text(
context.translate(
'Submit',
'يُقدِّم',
'إرسال',
),
),
6.horizontalSpace,
@ -514,10 +514,10 @@ class _FeedbackFormState extends State<FeedbackForm>
}
Widget _buildRatingRow(
String label,
double rating,
Function(double) onRatingUpdate,
) {
String label,
double rating,
Function(double) onRatingUpdate,
) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
@ -573,7 +573,7 @@ class _FeedbackFormState extends State<FeedbackForm>
"design": _designRating,
"redundancy": _redundancyRating,
"emoji_rating": _emojiOptions[_selectedEmojiIndex!]
["label"], // Emoji rating
["label"], // Emoji rating
"feedback": _feedbackController.text,
};
@ -783,7 +783,7 @@ class LangToggle extends ConsumerWidget {
ref.read(preferencesUseCaseProvider.notifier).updatePreferences(
(prefs) => prefs.copyWith(language: languageAfter),
);
);
await onLoadFeedback(); // Reload feedback text after toggling language
},

View File

@ -326,7 +326,8 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
),
ListTile(
leading: Icon(Icons.feedback),
title: const Text('Feedback'),
// title: const Text('Feedback'),
title: Text(AppLocalizations.of(context)!.feedback_title),
onTap: () => context.go('/feedback'),
),
if (role == 'admin')