OAuth added
@ -2,27 +2,27 @@ C/C++ Structured Log}
|
|||||||
{
|
{
|
||||||
y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/additional_project_files.txtC
|
y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/additional_project_files.txtC
|
||||||
A
|
A
|
||||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint <EFBFBD>àÕ€„3 ¡¹ñÀ÷2z
|
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ¿ŒÍLJ3 ¡¹ñÀ÷2z
|
||||||
x
|
x
|
||||||
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/android_gradle_build.json <EFBFBD>àÕ€„3€ £¹ñÀ÷2
|
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/android_gradle_build.json ¿ŒÍLJ3€ £¹ñÀ÷2
|
||||||
}
|
}
|
||||||
{/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/android_gradle_build_mini.json <EFBFBD>àÕ€„3ƒ ¥¹ñÀ÷2l
|
{/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/android_gradle_build_mini.json ¿ŒÍLJ3ƒ ¥¹ñÀ÷2l
|
||||||
j
|
j
|
||||||
h/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build.ninja <EFBFBD>àÕ€„3êÌ Ž¹ñÀ÷2p
|
h/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build.ninja ¿ŒÍLJ3êÌ Ž¹ñÀ÷2p
|
||||||
n
|
n
|
||||||
l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build.ninja.txt <EFBFBD>àÕ€„3u
|
l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build.ninja.txt ¿ŒÍLJ3u
|
||||||
s
|
s
|
||||||
q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build_file_index.txt <EFBFBD>àÕ€„3
_ ¦¹ñÀ÷2v
|
q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build_file_index.txt ¿ŒÍLJ3
_ ¦¹ñÀ÷2v
|
||||||
t
|
t
|
||||||
r/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/compile_commands.json <EFBFBD>àÕ€„3z
|
r/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/compile_commands.json ¿ŒÍLJ3z
|
||||||
x
|
x
|
||||||
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/compile_commands.json.bin <EFBFBD>àÕ€„3 €
|
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/compile_commands.json.bin ¿ŒÍLJ3 €
|
||||||
~
|
~
|
||||||
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/metadata_generation_command.txt <EFBFBD>àÕ€„3
|
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/metadata_generation_command.txt ¿ŒÍLJ3
|
||||||
ö ¦¹ñÀ÷2s
|
ö ¦¹ñÀ÷2s
|
||||||
q
|
q
|
||||||
o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/prefab_config.json <EFBFBD>àÕ€„3
( ¦¹ñÀ÷2x
|
o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/prefab_config.json ¿ŒÍLJ3
( ¦¹ñÀ÷2x
|
||||||
v
|
v
|
||||||
t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/symbol_folder_index.txt <EFBFBD>àÕ€„3
k ¦¹ñÀ÷2c
|
t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/symbol_folder_index.txt ¿ŒÍLJ3
k ¦¹ñÀ÷2c
|
||||||
a
|
a
|
||||||
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt <EFBFBD>àÕ€„3
¤ òÑÞ€á2
|
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ¿ŒÍLJ3
¤ òÑÞ€á2
|
||||||
@ -2,27 +2,27 @@ C/C++ Structured Log
|
|||||||
}
|
}
|
||||||
{/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/additional_project_files.txtC
|
{/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/additional_project_files.txtC
|
||||||
A
|
A
|
||||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ±àÕ€„3 ¸ïòÀ÷2|
|
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ÆŒÍLJ3 ¸ïòÀ÷2|
|
||||||
z
|
z
|
||||||
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/android_gradle_build.json ±àÕ€„3„ ºïòÀ÷2<C3B7>
|
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/android_gradle_build.json ÆŒÍLJ3„ ºïòÀ÷2<C3B7>
|
||||||
|
|
||||||
}/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/android_gradle_build_mini.json ±àÕ€„3‡ »ïòÀ÷2n
|
}/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/android_gradle_build_mini.json ÆŒÍLJ3‡ »ïòÀ÷2n
|
||||||
l
|
l
|
||||||
j/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build.ninja ±àÕ€„3öÌ ªïòÀ÷2r
|
j/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build.ninja ÆŒÍLJ3öÌ ªïòÀ÷2r
|
||||||
p
|
p
|
||||||
n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build.ninja.txt ±àÕ€„3w
|
n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build.ninja.txt ÆŒÍLJ3w
|
||||||
u
|
u
|
||||||
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build_file_index.txt ±àÕ€„3
_ »ïòÀ÷2x
|
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build_file_index.txt ÆŒÍLJ3
_ »ïòÀ÷2x
|
||||||
v
|
v
|
||||||
t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/compile_commands.json ±àÕ€„3|
|
t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/compile_commands.json ÆŒÍLJ3|
|
||||||
z
|
z
|
||||||
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/compile_commands.json.bin ±àÕ€„3 ƒ
|
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/compile_commands.json.bin ÆŒÍLJ3 ƒ
|
||||||
€
|
€
|
||||||
~/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/metadata_generation_command.txt ±àÕ€„3
|
~/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/metadata_generation_command.txt ÆŒÍLJ3
|
||||||
€ »ïòÀ÷2u
|
€ »ïòÀ÷2u
|
||||||
s
|
s
|
||||||
q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/prefab_config.json ±àÕ€„3
( »ïòÀ÷2z
|
q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/prefab_config.json ÆŒÍLJ3
( »ïòÀ÷2z
|
||||||
x
|
x
|
||||||
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/symbol_folder_index.txt ±àÕ€„3
m »ïòÀ÷2c
|
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/symbol_folder_index.txt ÆŒÍLJ3
m »ïòÀ÷2c
|
||||||
a
|
a
|
||||||
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ±àÕ€„3
¤ òÑÞ€á2
|
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ÆŒÍLJ3
¤ òÑÞ€á2
|
||||||
@ -2,27 +2,27 @@ C/C++ Structured Logw
|
|||||||
u
|
u
|
||||||
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/additional_project_files.txtC
|
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/additional_project_files.txtC
|
||||||
A
|
A
|
||||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ¿àÕ€„3 „òòÀ÷2t
|
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ÉŒÍLJ3 „òòÀ÷2t
|
||||||
r
|
r
|
||||||
p/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/android_gradle_build.json ¿àÕ€„3ô „òòÀ÷2y
|
p/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/android_gradle_build.json ÉŒÍLJ3ô „òòÀ÷2y
|
||||||
w
|
w
|
||||||
u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/android_gradle_build_mini.json ¿àÕ€„3÷ …òòÀ÷2f
|
u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/android_gradle_build_mini.json ÉŒÍLJ3÷ …òòÀ÷2f
|
||||||
d
|
d
|
||||||
b/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build.ninja ¿àÕ€„3ÆÌ ûñòÀ÷2j
|
b/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build.ninja ÉŒÍLJ3ÆÌ ûñòÀ÷2j
|
||||||
h
|
h
|
||||||
f/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build.ninja.txt ¿àÕ€„3o
|
f/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build.ninja.txt ÉŒÍLJ3o
|
||||||
m
|
m
|
||||||
k/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build_file_index.txt ¿àÕ€„3
_ …òòÀ÷2p
|
k/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build_file_index.txt ÉŒÍLJ3
_ …òòÀ÷2p
|
||||||
n
|
n
|
||||||
l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/compile_commands.json ¿àÕ€„3t
|
l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/compile_commands.json ÉŒÍLJ3t
|
||||||
r
|
r
|
||||||
p/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/compile_commands.json.bin ¿àÕ€„3 z
|
p/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/compile_commands.json.bin ÉŒÍLJ3 z
|
||||||
x
|
x
|
||||||
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/metadata_generation_command.txt ¿àÕ€„3
|
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/metadata_generation_command.txt ÉŒÍLJ3
|
||||||
Ø …òòÀ÷2m
|
Ø …òòÀ÷2m
|
||||||
k
|
k
|
||||||
i/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/prefab_config.json ¿àÕ€„3
( …òòÀ÷2r
|
i/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/prefab_config.json ÉŒÍLJ3
( …òòÀ÷2r
|
||||||
p
|
p
|
||||||
n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/symbol_folder_index.txt ¿àÕ€„3
e …òòÀ÷2c
|
n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/symbol_folder_index.txt ÉŒÍLJ3
e …òòÀ÷2c
|
||||||
a
|
a
|
||||||
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ¿àÕ€„3
¤ òÑÞ€á2
|
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ÉŒÍLJ3
¤ òÑÞ€á2
|
||||||
@ -2,27 +2,27 @@ C/C++ Structured Logz
|
|||||||
x
|
x
|
||||||
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/additional_project_files.txtC
|
v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/additional_project_files.txtC
|
||||||
A
|
A
|
||||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ÊàÕ€„3 •ôòÀ÷2w
|
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ÌŒÍLJ3 •ôòÀ÷2w
|
||||||
u
|
u
|
||||||
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/android_gradle_build.json ÊàÕ€„3ú •ôòÀ÷2|
|
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/android_gradle_build.json ÍŒÍLJ3ú •ôòÀ÷2|
|
||||||
z
|
z
|
||||||
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/android_gradle_build_mini.json ÊàÕ€„3ý –ôòÀ÷2i
|
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/android_gradle_build_mini.json ÍŒÍLJ3ý –ôòÀ÷2i
|
||||||
g
|
g
|
||||||
e/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build.ninja ÊàÕ€„3ØÌ <20>ôòÀ÷2m
|
e/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build.ninja ÍŒÍLJ3ØÌ <20>ôòÀ÷2m
|
||||||
k
|
k
|
||||||
i/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build.ninja.txt ÊàÕ€„3r
|
i/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build.ninja.txt ÍŒÍLJ3r
|
||||||
p
|
p
|
||||||
n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build_file_index.txt ÊàÕ€„3
_ –ôòÀ÷2s
|
n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build_file_index.txt ÍŒÍLJ3
_ –ôòÀ÷2s
|
||||||
q
|
q
|
||||||
o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/compile_commands.json ÊàÕ€„3w
|
o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/compile_commands.json ÍŒÍLJ3w
|
||||||
u
|
u
|
||||||
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/compile_commands.json.bin ÊàÕ€„3 }
|
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/compile_commands.json.bin ÍŒÍLJ3 }
|
||||||
{
|
{
|
||||||
y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/metadata_generation_command.txt ÊàÕ€„3
|
y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/metadata_generation_command.txt ÍŒÍLJ3
|
||||||
ç –ôòÀ÷2p
|
ç –ôòÀ÷2p
|
||||||
n
|
n
|
||||||
l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/prefab_config.json ÊàÕ€„3
( –ôòÀ÷2u
|
l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/prefab_config.json ÍŒÍLJ3
( –ôòÀ÷2u
|
||||||
s
|
s
|
||||||
q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/symbol_folder_index.txt ÊàÕ€„3
h –ôòÀ÷2c
|
q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/symbol_folder_index.txt ÍŒÍLJ3
h –ôòÀ÷2c
|
||||||
a
|
a
|
||||||
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ÊàÕ€„3
¤ òÑÞ€á2
|
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ÍŒÍLJ3
¤ òÑÞ€á2
|
||||||
@ -2,27 +2,27 @@ C/C++ Structured Log
|
|||||||
…
|
…
|
||||||
‚/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/additional_project_files.txtC
|
‚/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/additional_project_files.txtC
|
||||||
A
|
A
|
||||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint Á÷<EFBFBD>׆3 ™ªÇŸô2„
|
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint äô˜È‡3 ™ªÇŸô2„
|
||||||
<EFBFBD>
|
<EFBFBD>
|
||||||
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/android_gradle_build.json Á÷<EFBFBD>׆3’ œªÇŸô2Š
|
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/android_gradle_build.json äô˜È‡3’ œªÇŸô2Š
|
||||||
‡
|
‡
|
||||||
„/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/android_gradle_build_mini.json Á÷<EFBFBD>׆3• ¤ªÇŸô2u
|
„/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/android_gradle_build_mini.json äô˜È‡3• ¤ªÇŸô2u
|
||||||
s
|
s
|
||||||
q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/build.ninja Á÷<EFBFBD>׆3²Í ù©ÇŸô2y
|
q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/build.ninja äô˜È‡3²Í ù©ÇŸô2y
|
||||||
w
|
w
|
||||||
u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/build.ninja.txt Á÷<EFBFBD>׆3~
|
u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/build.ninja.txt äô˜È‡3~
|
||||||
|
|
|
|
||||||
z/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/build_file_index.txt Á÷<EFBFBD>׆3
_ ¥ªÇŸô2
|
z/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/build_file_index.txt äô˜È‡3
_ ¥ªÇŸô2
|
||||||
}
|
}
|
||||||
{/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/compile_commands.json Á÷<EFBFBD>׆3„
|
{/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/compile_commands.json äô˜È‡3„
|
||||||
<EFBFBD>
|
<EFBFBD>
|
||||||
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/compile_commands.json.bin Á÷<EFBFBD>׆3 ‹
|
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/compile_commands.json.bin äô˜È‡3 ‹
|
||||||
ˆ
|
ˆ
|
||||||
…/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/metadata_generation_command.txt Á÷<EFBFBD>׆3
|
…/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/metadata_generation_command.txt äô˜È‡3
|
||||||
š ¥ªÇŸô2|
|
š ¥ªÇŸô2|
|
||||||
z
|
z
|
||||||
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/prefab_config.json Á÷<EFBFBD>׆3
( ¥ªÇŸô2<C3B4>
|
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/prefab_config.json äô˜È‡3
( ¥ªÇŸô2<C3B4>
|
||||||
|
|
||||||
}/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/symbol_folder_index.txt Á÷<EFBFBD>׆3
t ¥ªÇŸô2c
|
}/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/arm64-v8a/symbol_folder_index.txt äô˜È‡3
t ¥ªÇŸô2c
|
||||||
a
|
a
|
||||||
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt Á÷<EFBFBD>׆3
¤ òÑÞ€á2
|
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt äô˜È‡3
¤ òÑÞ€á2
|
||||||
@ -2,27 +2,27 @@ C/C++ Structured Log
|
|||||||
‡
|
‡
|
||||||
„/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/additional_project_files.txtC
|
„/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/additional_project_files.txtC
|
||||||
A
|
A
|
||||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint Ü÷<EFBFBD>׆3 £¼ÇŸô2‡
|
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint õô˜È‡3 £¼ÇŸô2‡
|
||||||
„
|
„
|
||||||
<EFBFBD>/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/android_gradle_build.json Ü÷<EFBFBD>׆3– ¤¼ÇŸô2Œ
|
<EFBFBD>/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/android_gradle_build.json õô˜È‡3– ¤¼ÇŸô2Œ
|
||||||
‰
|
‰
|
||||||
†/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/android_gradle_build_mini.json Ü÷<EFBFBD>׆3™ ¥¼ÇŸô2w
|
†/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/android_gradle_build_mini.json õô˜È‡3™ ¥¼ÇŸô2w
|
||||||
u
|
u
|
||||||
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/build.ninja Ü÷<EFBFBD>׆3¾Í ’¼ÇŸô2{
|
s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/build.ninja õô˜È‡3¾Í ’¼ÇŸô2{
|
||||||
y
|
y
|
||||||
w/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/build.ninja.txt Ü÷<EFBFBD>׆3€
|
w/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/build.ninja.txt õô˜È‡3€
|
||||||
~
|
~
|
||||||
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/build_file_index.txt Ü÷<EFBFBD>׆3
_ ¦¼ÇŸô2<C3B4>
|
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/build_file_index.txt õô˜È‡3
_ ¦¼ÇŸô2<C3B4>
|
||||||
|
|
||||||
}/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/compile_commands.json Ü÷<EFBFBD>׆3‡
|
}/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/compile_commands.json õô˜È‡3‡
|
||||||
„
|
„
|
||||||
<EFBFBD>/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/compile_commands.json.bin Ü÷<EFBFBD>׆3 <09>
|
<EFBFBD>/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/compile_commands.json.bin õô˜È‡3 <09>
|
||||||
Š
|
Š
|
||||||
‡/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/metadata_generation_command.txt Ü÷<EFBFBD>׆3
|
‡/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/metadata_generation_command.txt õô˜È‡3
|
||||||
¤ ¥¼ÇŸô2~
|
¤ ¥¼ÇŸô2~
|
||||||
|
|
|
|
||||||
z/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/prefab_config.json Ü÷<EFBFBD>׆3
( ¦¼ÇŸô2„
|
z/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/prefab_config.json õô˜È‡3
( ¦¼ÇŸô2„
|
||||||
<EFBFBD>
|
<EFBFBD>
|
||||||
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/symbol_folder_index.txt Ü÷<EFBFBD>׆3
v ¦¼ÇŸô2c
|
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/armeabi-v7a/symbol_folder_index.txt õô˜È‡3
v ¦¼ÇŸô2c
|
||||||
a
|
a
|
||||||
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt Ü÷<EFBFBD>׆3
¤ òÑÞ€á2
|
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt õô˜È‡3
¤ òÑÞ€á2
|
||||||
@ -2,27 +2,27 @@ C/C++ Structured Log
|
|||||||
~
|
~
|
||||||
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/additional_project_files.txtC
|
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/additional_project_files.txtC
|
||||||
A
|
A
|
||||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint é÷<EFBFBD>׆3 µÂÇŸô2}
|
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ÿô˜È‡3 µÂÇŸô2}
|
||||||
{
|
{
|
||||||
y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/android_gradle_build.json é÷<EFBFBD>׆3† ·ÂÇŸô2ƒ
|
y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/android_gradle_build.json ÿô˜È‡3† ·ÂÇŸô2ƒ
|
||||||
€
|
€
|
||||||
~/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/android_gradle_build_mini.json é÷<EFBFBD>׆3‰ ¸ÂÇŸô2o
|
~/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/android_gradle_build_mini.json ÿô˜È‡3‰ ¸ÂÇŸô2o
|
||||||
m
|
m
|
||||||
k/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/build.ninja é÷<EFBFBD>׆3ŽÍ ¨ÂÇŸô2s
|
k/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/build.ninja ÿô˜È‡3ŽÍ ¨ÂÇŸô2s
|
||||||
q
|
q
|
||||||
o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/build.ninja.txt é÷<EFBFBD>׆3x
|
o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/build.ninja.txt ÿô˜È‡3x
|
||||||
v
|
v
|
||||||
t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/build_file_index.txt é÷<EFBFBD>׆3
_ ¹ÂÇŸô2y
|
t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/build_file_index.txt ÿô˜È‡3
_ ¹ÂÇŸô2y
|
||||||
w
|
w
|
||||||
u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/compile_commands.json é÷<EFBFBD>׆3}
|
u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/compile_commands.json ÿô˜È‡3}
|
||||||
{
|
{
|
||||||
y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/compile_commands.json.bin é÷<EFBFBD>׆3 „
|
y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/compile_commands.json.bin ÿô˜È‡3 „
|
||||||
<EFBFBD>
|
<EFBFBD>
|
||||||
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/metadata_generation_command.txt é÷<EFBFBD>׆3
|
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/metadata_generation_command.txt ÿô˜È‡3
|
||||||
ü ¹ÂÇŸô2v
|
ü ¹ÂÇŸô2v
|
||||||
t
|
t
|
||||||
r/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/prefab_config.json é÷<EFBFBD>׆3
( ¹ÂÇŸô2{
|
r/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/prefab_config.json ÿô˜È‡3
( ¹ÂÇŸô2{
|
||||||
y
|
y
|
||||||
w/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/symbol_folder_index.txt é÷<EFBFBD>׆3
n ¹ÂÇŸô2c
|
w/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86/symbol_folder_index.txt ÿô˜È‡3
n ¹ÂÇŸô2c
|
||||||
a
|
a
|
||||||
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt é÷<EFBFBD>׆3
¤ òÑÞ€á2
|
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ÿô˜È‡3
¤ òÑÞ€á2
|
||||||
@ -2,27 +2,27 @@ C/C++ Structured Log
|
|||||||
<EFBFBD>
|
<EFBFBD>
|
||||||
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/additional_project_files.txtC
|
/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/additional_project_files.txtC
|
||||||
A
|
A
|
||||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ð÷<EFBFBD>׆3 ·ÆÇŸô2€
|
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ‰õ˜È‡3 ·ÆÇŸô2€
|
||||||
~
|
~
|
||||||
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/android_gradle_build.json ð÷<EFBFBD>׆3Œ ¸ÆÇŸô2‡
|
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/android_gradle_build.json ‰õ˜È‡3Œ ¸ÆÇŸô2‡
|
||||||
„
|
„
|
||||||
<EFBFBD>/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/android_gradle_build_mini.json ð÷<EFBFBD>׆3<18> ¹ÆÇŸô2r
|
<EFBFBD>/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/android_gradle_build_mini.json ‰õ˜È‡3<18> ¹ÆÇŸô2r
|
||||||
p
|
p
|
||||||
n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/build.ninja ð÷<EFBFBD>׆3 Í §ÆÇŸô2v
|
n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/build.ninja ‰õ˜È‡3 Í §ÆÇŸô2v
|
||||||
t
|
t
|
||||||
r/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/build.ninja.txt ð÷<EFBFBD>׆3{
|
r/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/build.ninja.txt ‰õ˜È‡3{
|
||||||
y
|
y
|
||||||
w/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/build_file_index.txt ð÷<EFBFBD>׆3
_ ¹ÆÇŸô2|
|
w/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/build_file_index.txt ‰õ˜È‡3
_ ¹ÆÇŸô2|
|
||||||
z
|
z
|
||||||
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/compile_commands.json ð÷<EFBFBD>׆3€
|
x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/compile_commands.json ‰õ˜È‡3€
|
||||||
~
|
~
|
||||||
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/compile_commands.json.bin ð÷<EFBFBD>׆3 ˆ
|
|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/compile_commands.json.bin ‰õ˜È‡3 ˆ
|
||||||
…
|
…
|
||||||
‚/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/metadata_generation_command.txt ð÷<EFBFBD>׆3
|
‚/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/metadata_generation_command.txt ‰õ˜È‡3
|
||||||
‹ ¹ÆÇŸô2y
|
‹ ¹ÆÇŸô2y
|
||||||
w
|
w
|
||||||
u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/prefab_config.json ð÷<EFBFBD>׆3
( ¹ÆÇŸô2~
|
u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/prefab_config.json ‰õ˜È‡3
( ¹ÆÇŸô2~
|
||||||
|
|
|
|
||||||
z/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/symbol_folder_index.txt ð÷<EFBFBD>׆3
q ¹ÆÇŸô2c
|
z/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/RelWithDebInfo/574gs2w4/x86_64/symbol_folder_index.txt ‰õ˜È‡3
q ¹ÆÇŸô2c
|
||||||
a
|
a
|
||||||
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ð÷<EFBFBD>׆3
¤ òÑÞ€á2
|
_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt ‰õ˜È‡3
¤ òÑÞ€á2
|
||||||
|
Before Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 826 B After Width: | Height: | Size: 876 B |
BIN
assets/icons/misc/successMsg.png
Normal file
|
After Width: | Height: | Size: 894 B |
BIN
assets/logos/uae_stat_dark.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
BIN
assets/splash_screen/FCSCLogo_dark.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 84 KiB |
BIN
assets/splash_screen/background_splash_dark.png
Normal file
|
After Width: | Height: | Size: 553 KiB |
@ -139,22 +139,59 @@ class _SessionCheckScreenState extends ConsumerState<SessionCheckScreen> {
|
|||||||
class SplashScreen extends StatelessWidget {
|
class SplashScreen extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final isDark = Theme.of(context).brightness == Brightness.dark;
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: isDark ? null : Colors.white,
|
||||||
body: Center(
|
body: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: isDark ? null : Colors.white,
|
||||||
|
image: isDark
|
||||||
|
? DecorationImage(
|
||||||
|
image: AssetImage('assets/splash_screen/background_splash_dark.png'), // 🔄 Add this background for dark mode
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
child: Center(
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Image.asset('assets/images/logo.png', width: 150), // App Logo
|
// 🔄 White or normal logo depending on theme
|
||||||
// SizedBox(height: 20),
|
Spacer(),
|
||||||
// CircularProgressIndicator(), // Loading indicator
|
Image.asset(
|
||||||
|
isDark
|
||||||
|
? 'assets/splash_screen/FCSCLogo_dark.png'
|
||||||
|
: 'assets/splash_screen/FCSCLogo_light.png',
|
||||||
|
width: 150,
|
||||||
|
),
|
||||||
|
SizedBox(height: 20),
|
||||||
|
// Optional: Progress indicator or version
|
||||||
|
// CircularProgressIndicator(color: isDark ? Colors.white : Colors.black),
|
||||||
|
Spacer(),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(bottom: 24.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'© حقوق التأليف والنشر',
|
||||||
|
style: TextStyle(
|
||||||
|
color: isDark ? Colors.white70 : Colors.black54,
|
||||||
|
fontSize: 14,
|
||||||
|
fontFamily: 'NotoKufi',
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// import 'dart:math';
|
// import 'dart:math';
|
||||||
//
|
//
|
||||||
// import 'package:flutter/material.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
|||||||
@ -20,4 +20,5 @@ abstract class MiscIconAssetPath {
|
|||||||
static const group = '$_basePath/group.png';
|
static const group = '$_basePath/group.png';
|
||||||
static const search = '$_basePath/search.png';
|
static const search = '$_basePath/search.png';
|
||||||
static const Search = '$_basePath/Search.svg';
|
static const Search = '$_basePath/Search.svg';
|
||||||
|
static const successMsg = '$_basePath/successMsg.png';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
abstract class LogoAssetPath {
|
abstract class LogoAssetPath {
|
||||||
static const _basePath = 'assets/logos';
|
static const _basePath = 'assets/logos';
|
||||||
static const fcsc = '$_basePath/fcsc.png';
|
static const fcsc = '$_basePath/fcsc.png';
|
||||||
static const uaeStat = '$_basePath/uae_stat.png';
|
static const uaeStatLight = '$_basePath/uae_stat_light.png';
|
||||||
|
static const uaeStatDark = '$_basePath/uae_stat_dark.png';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,7 +61,7 @@ class UaeNumbers extends ConsumerWidget {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
color: isDarkTheme ? Color(0xFFFFFFFF) : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFFFFFFFF) : Color(0xFF000000),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: uaenumberWidget(),
|
body: uaenumberWidget(),
|
||||||
@ -320,7 +320,7 @@ class _UaenumberWidgetState extends ConsumerState<uaenumberWidget> {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
: null,
|
: null,
|
||||||
contentPadding: EdgeInsets.symmetric(vertical: 12, horizontal: 18.0),
|
// contentPadding: EdgeInsets.symmetric(vertical: 12, horizontal: 18.0),
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
// contentPadding:
|
// contentPadding:
|
||||||
// EdgeInsets.symmetric(vertical: 9, horizontal: 18.0),
|
// EdgeInsets.symmetric(vertical: 9, horizontal: 18.0),
|
||||||
@ -358,7 +358,7 @@ class _UaenumberWidgetState extends ConsumerState<uaenumberWidget> {
|
|||||||
myheight,
|
myheight,
|
||||||
borderColor,
|
borderColor,
|
||||||
colorPattern,
|
colorPattern,
|
||||||
mainTopic['main_topic']),
|
mainTopic['main_topic'],isDarkTheme),
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
@ -371,7 +371,7 @@ class _UaenumberWidgetState extends ConsumerState<uaenumberWidget> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<Widget> _buildSubTopics(List<dynamic> subTopics, double myWidth, myheight,
|
List<Widget> _buildSubTopics(List<dynamic> subTopics, double myWidth, myheight,
|
||||||
Color borderColor, String colorPattern, mainTopic) {
|
Color borderColor, String colorPattern, mainTopic,isDarkTheme) {
|
||||||
subTopics.sort((a, b) =>
|
subTopics.sort((a, b) =>
|
||||||
(a['sub_topic_list_order'] ?? 0).compareTo(b['sub_topic_list_order'] ?? 0));
|
(a['sub_topic_list_order'] ?? 0).compareTo(b['sub_topic_list_order'] ?? 0));
|
||||||
|
|
||||||
@ -379,7 +379,7 @@ class _UaenumberWidgetState extends ConsumerState<uaenumberWidget> {
|
|||||||
.map<Widget>((subTopic) => Column(
|
.map<Widget>((subTopic) => Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
buildCategoryTitle(subTopic['sub_topic'], borderColor),
|
buildCategoryTitle(subTopic['sub_topic'], isDarkTheme),
|
||||||
..._buildDataSetCards(subTopic['tile_data'] ?? [], myWidth,
|
..._buildDataSetCards(subTopic['tile_data'] ?? [], myWidth,
|
||||||
borderColor, colorPattern, mainTopic),
|
borderColor, colorPattern, mainTopic),
|
||||||
],
|
],
|
||||||
@ -430,7 +430,7 @@ class _UaenumberWidgetState extends ConsumerState<uaenumberWidget> {
|
|||||||
return rows;
|
return rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget buildCategoryTitle(String title, Color color) {
|
Widget buildCategoryTitle(String title, isDarkTheme) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.only(top: 1.2, bottom: 1.2),
|
padding: const EdgeInsets.only(top: 1.2, bottom: 1.2),
|
||||||
child: Center(
|
child: Center(
|
||||||
@ -443,7 +443,7 @@ class _UaenumberWidgetState extends ConsumerState<uaenumberWidget> {
|
|||||||
),
|
),
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: color,
|
color: isDarkTheme ? Color(0xFFFFFFFF) : Color(0xFF666666),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -11,12 +11,13 @@ class Welcomepage extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
double myheight = MediaQuery.of(context).size.height;
|
double myheight = MediaQuery.of(context).size.height;
|
||||||
double mywidth = MediaQuery.of(context).size.width;
|
double mywidth = MediaQuery.of(context).size.width;
|
||||||
|
|
||||||
final fcscBanner = Image.asset(
|
final fcscBanner = Image.asset(
|
||||||
BannerAssetPath.fcscLogoLight,
|
BannerAssetPath.fcscLogoLight,
|
||||||
height: 40,
|
height: 40,
|
||||||
);
|
);
|
||||||
final uaestat = Image.asset(
|
final uaestat = Image.asset(
|
||||||
LogoAssetPath.uaeStat,
|
LogoAssetPath.uaeStatLight,
|
||||||
height: 50,
|
height: 50,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -347,8 +347,16 @@ class _CreateNewPwState extends ConsumerState<CreateNewPw> {
|
|||||||
isOn: locale?.languageCode == 'en',
|
isOn: locale?.languageCode == 'en',
|
||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
print('has validated $hasValidated');
|
print('has validated $hasValidated');
|
||||||
final formState = _formKey.currentState;
|
final formState = _formKey.currentState;
|
||||||
|
|||||||
@ -349,8 +349,16 @@ class _ForgotPasswordState extends ConsumerState<ForgotPassword> {
|
|||||||
isOn: locale?.languageCode == 'en',
|
isOn: locale?.languageCode == 'en',
|
||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
print('has validated $hasValidated');
|
print('has validated $hasValidated');
|
||||||
final formState = _formKey.currentState;
|
final formState = _formKey.currentState;
|
||||||
|
|||||||
@ -396,8 +396,8 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
boxShadow: [
|
boxShadow: [
|
||||||
BoxShadow(
|
BoxShadow(
|
||||||
color: Colors.black12,
|
color: isDarkTheme ? Colors.white : Colors.black12,
|
||||||
blurRadius: 6,
|
blurRadius: isDarkTheme ? 0 : 6,
|
||||||
offset: Offset(0, 2),
|
offset: Offset(0, 2),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -410,6 +410,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return PopScope(
|
return PopScope(
|
||||||
canPop: false, // Allow back navigation only if not login screen
|
canPop: false, // Allow back navigation only if not login screen
|
||||||
onPopInvokedWithResult: (didPop, result) {
|
onPopInvokedWithResult: (didPop, result) {
|
||||||
@ -417,7 +418,8 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
context.go('/login'); // Show exit confirmation dialog
|
context.go('/login'); // Show exit confirmation dialog
|
||||||
},
|
},
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
backgroundColor: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
backgroundColor: isDarkTheme ? Colors.black : Colors.white,
|
||||||
|
// backgroundColor: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: Stack(children: [
|
child: Stack(children: [
|
||||||
SingleChildScrollView(
|
SingleChildScrollView(
|
||||||
@ -435,8 +437,16 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
isOn: locale?.languageCode == 'en',
|
isOn: locale?.languageCode == 'en',
|
||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
final formState = _formKey.currentState;
|
final formState = _formKey.currentState;
|
||||||
ref
|
ref
|
||||||
@ -466,11 +476,39 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
SizedBox(height: screenheight / 4),
|
SizedBox(height: screenheight / 4),
|
||||||
buildIconContainer(Icons.check_circle_rounded,
|
|
||||||
Color(0xFFB68A34)
|
|
||||||
// Color(0xFF7DAFBC)
|
|
||||||
|
|
||||||
|
Container(
|
||||||
|
width: 60,
|
||||||
|
height: 60,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Color(0xFFF9F9F9),
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Colors.black12,
|
||||||
|
blurRadius: isDarkTheme ? 0 : 6,
|
||||||
|
// offset: Offset(0, 2),
|
||||||
),
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Center(
|
||||||
|
child: SizedBox(
|
||||||
|
height: 35,
|
||||||
|
width: 35,
|
||||||
|
child: FittedBox(
|
||||||
|
fit: BoxFit.contain,
|
||||||
|
child: Image.asset(
|
||||||
|
MiscIconAssetPath.successMsg),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
// buildIconContainer(
|
||||||
|
// // Icons.check, Color(0xFFB68A34)
|
||||||
|
// // Color(0xFF7DAFBC)
|
||||||
|
// ),
|
||||||
SizedBox(height: 20),
|
SizedBox(height: 20),
|
||||||
Text(
|
Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
@ -699,9 +737,10 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
? const Color(0xFF000000)
|
? const Color(0xFF000000)
|
||||||
: Colors.white,
|
: Colors.white,
|
||||||
errorStyle: TextStyle(
|
errorStyle: TextStyle(
|
||||||
color: isDarkTheme
|
color: Color(0xFFD83731),
|
||||||
? Color(0xFFFFA200)
|
// color: isDarkTheme
|
||||||
: Color(0xFFb22222),
|
// ? Color(0xFFFFA200)
|
||||||
|
// : Color(0xFFb22222),
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
@ -751,7 +790,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(10),
|
BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: Colors.deepPurple,
|
color: Color(0xFFB68A34),
|
||||||
width: 2), // Focused border
|
width: 2), // Focused border
|
||||||
),
|
),
|
||||||
errorBorder: OutlineInputBorder(
|
errorBorder: OutlineInputBorder(
|
||||||
@ -807,9 +846,10 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
? const Color(0xFF000000)
|
? const Color(0xFF000000)
|
||||||
: Colors.white,
|
: Colors.white,
|
||||||
errorStyle: TextStyle(
|
errorStyle: TextStyle(
|
||||||
color: isDarkTheme
|
color: Color(0xFFD83731),
|
||||||
? Color(0xFFFFA200)
|
// color: isDarkTheme
|
||||||
: Color(0xFFb22222),
|
// ? Color(0xFFFFA200)
|
||||||
|
// : Color(0xFFb22222),
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
@ -854,7 +894,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(10),
|
BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: Colors.deepPurple,
|
color: Color(0xFFB68A34),
|
||||||
width: 2), // Focused border
|
width: 2), // Focused border
|
||||||
),
|
),
|
||||||
errorBorder: OutlineInputBorder(
|
errorBorder: OutlineInputBorder(
|
||||||
@ -914,9 +954,10 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
? const Color(0xFF000000)
|
? const Color(0xFF000000)
|
||||||
: Colors.white,
|
: Colors.white,
|
||||||
errorStyle: TextStyle(
|
errorStyle: TextStyle(
|
||||||
color: isDarkTheme
|
color: Color(0xFFD83731),
|
||||||
? Color(0xFFFFA200)
|
// color: isDarkTheme
|
||||||
: Color(0xFFb22222),
|
// ? Color(0xFFFFA200)
|
||||||
|
// : Color(0xFFb22222),
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
@ -992,7 +1033,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(10),
|
BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: Colors.deepPurple,
|
color: Color(0xFFB68A34),
|
||||||
width: 2), // Focused border
|
width: 2), // Focused border
|
||||||
),
|
),
|
||||||
errorBorder: OutlineInputBorder(
|
errorBorder: OutlineInputBorder(
|
||||||
@ -1051,9 +1092,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
? const Color(0xFF000000)
|
? const Color(0xFF000000)
|
||||||
: Colors.white,
|
: Colors.white,
|
||||||
errorStyle: TextStyle(
|
errorStyle: TextStyle(
|
||||||
color: isDarkTheme
|
color: Color(0xFFD83731),
|
||||||
? Color(0xFFFFA200)
|
|
||||||
: Color(0xFFb22222),
|
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
@ -1119,7 +1158,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(10),
|
BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: Colors.deepPurple,
|
color: Color(0xFFB68A34),
|
||||||
width: 2), // Focused border
|
width: 2), // Focused border
|
||||||
),
|
),
|
||||||
errorBorder: OutlineInputBorder(
|
errorBorder: OutlineInputBorder(
|
||||||
@ -1405,6 +1444,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(10),
|
BorderRadius.circular(10),
|
||||||
),
|
),
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 16.5),
|
||||||
),
|
),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
@ -1439,7 +1479,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: 5),
|
SizedBox(height: 10),
|
||||||
Text(
|
Text(
|
||||||
AppLocalizations.of(context)!
|
AppLocalizations.of(context)!
|
||||||
.account_confirmation,
|
.account_confirmation,
|
||||||
@ -1459,7 +1499,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
: Color(0xFF898C81),
|
: Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: 5),
|
SizedBox(height: 10),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(
|
padding: const EdgeInsets.only(
|
||||||
top: 5.0,
|
top: 5.0,
|
||||||
@ -1479,6 +1519,7 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(10),
|
BorderRadius.circular(10),
|
||||||
),
|
),
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 16.5),
|
||||||
),
|
),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
@ -1518,7 +1559,8 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
|
|||||||
height: 10,
|
height: 10,
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(20.0),
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 70.0),
|
||||||
// child: Container(
|
// child: Container(
|
||||||
// height: screenheight / 16,
|
// height: screenheight / 16,
|
||||||
// width: screenwidth / 3,
|
// width: screenwidth / 3,
|
||||||
|
|||||||
@ -2532,7 +2532,9 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
)),
|
),
|
||||||
|
color: isDarkTheme ? Color(0xFFFFFFFF) : Color(0xFF000000),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
: Text(
|
: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
@ -2543,7 +2545,9 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
)),
|
),
|
||||||
|
color: isDarkTheme ? Color(0xFFFFFFFF) : Color(0xFF000000),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
// appbarColor: Color(int.parse(widget.bgColor)), // Example color
|
// appbarColor: Color(int.parse(widget.bgColor)), // Example color
|
||||||
appbarColor:
|
appbarColor:
|
||||||
@ -2584,8 +2588,8 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
'#898C81')
|
'#898C81')
|
||||||
.replaceFirst('#', '0xff'))),
|
.replaceFirst('#', '0xff'))),
|
||||||
borderRadius: BorderRadius.only(
|
borderRadius: BorderRadius.only(
|
||||||
topLeft: Radius.circular(12.0),
|
topLeft: Radius.circular(20),
|
||||||
topRight: Radius.circular(12.0),
|
topRight: Radius.circular(20),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
@ -2795,21 +2799,7 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
strokeWidth: 2,
|
strokeWidth: 2,
|
||||||
),
|
),
|
||||||
) // Show loading spinner
|
) // Show loading spinner
|
||||||
: isDarkTheme
|
: Image(image: AssetImage(isDarkTheme ? UaeNumbersAssetPath.shareDark : UaeNumbersAssetPath.shareLight))
|
||||||
? SvgPicture.asset(
|
|
||||||
UaeNumbersAssetPath
|
|
||||||
.shareDark,
|
|
||||||
semanticsLabel: 'share',
|
|
||||||
width: 24,
|
|
||||||
height: 24,
|
|
||||||
)
|
|
||||||
: SvgPicture.asset(
|
|
||||||
UaeNumbersAssetPath
|
|
||||||
.shareLight,
|
|
||||||
semanticsLabel: 'share',
|
|
||||||
width: 24,
|
|
||||||
height: 24,
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -2861,7 +2851,7 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
// ),
|
// ),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
)
|
),
|
||||||
// IconButton(
|
// IconButton(
|
||||||
// icon: Icon(Icons.filter_alt_outlined,
|
// icon: Icon(Icons.filter_alt_outlined,
|
||||||
// color: Colors.white, size: 24),
|
// color: Colors.white, size: 24),
|
||||||
@ -2870,11 +2860,13 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
// context, filterData, chartsData);
|
// context, filterData, chartsData);
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
SizedBox(width: 10),
|
SizedBox(width: 10),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
SizedBox(height: 5),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -2897,6 +2889,7 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
padding: const EdgeInsets.all(10.0),
|
padding: const EdgeInsets.all(10.0),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
children: [
|
children: [
|
||||||
|
SizedBox(height: 5),
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
@ -3042,11 +3035,11 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
.replaceFirst('#', '0xff'),
|
.replaceFirst('#', '0xff'),
|
||||||
),
|
),
|
||||||
), // Border color
|
), // Border color
|
||||||
width: 1, // Border width
|
width: 2, // Border width
|
||||||
),
|
),
|
||||||
color: backgroundColor,
|
color: backgroundColor,
|
||||||
borderRadius: BorderRadius.circular(
|
borderRadius: BorderRadius.circular(
|
||||||
8), // Optional: Rounded corners
|
5), // Optional: Rounded corners
|
||||||
),
|
),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(16.0),
|
padding: const EdgeInsets.all(16.0),
|
||||||
@ -3148,11 +3141,11 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
Color(int.parse(widget.bgColor.replaceFirst('0x', ''), radix: 16));
|
Color(int.parse(widget.bgColor.replaceFirst('0x', ''), radix: 16));
|
||||||
return Container(
|
return Container(
|
||||||
margin: EdgeInsets.symmetric(horizontal: 5.0),
|
margin: EdgeInsets.symmetric(horizontal: 5.0),
|
||||||
width: 30.0, // Set the width of the circle
|
width: 25.0, // Set the width of the circle
|
||||||
height: 25.0,
|
height: 25.0,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
// color: onPressed == null ? Colors.grey[400] : Colors.white,
|
// color: onPressed == null ? Colors.grey[400] : Colors.white,
|
||||||
color: onPressed == null
|
color: onPressed != null
|
||||||
? Color(int.parse((chartScreenData['header_color'] ?? '#898C81')
|
? Color(int.parse((chartScreenData['header_color'] ?? '#898C81')
|
||||||
.replaceFirst('#', '0xff')))
|
.replaceFirst('#', '0xff')))
|
||||||
: isDarkTheme
|
: isDarkTheme
|
||||||
@ -3168,10 +3161,17 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
// ),
|
// ),
|
||||||
// ],
|
// ],
|
||||||
),
|
),
|
||||||
|
child: Center( // ✅ Center the IconButton
|
||||||
child: IconButton(
|
child: IconButton(
|
||||||
|
padding: EdgeInsets.zero, // ✅ Remove default padding
|
||||||
|
constraints: BoxConstraints(), // ✅ Remove default constraints
|
||||||
onPressed: onPressed,
|
onPressed: onPressed,
|
||||||
icon: Icon(icon, color: onPressed == null ? Colors.white : Colors.grey),
|
icon: Icon(
|
||||||
iconSize: 12.5,
|
icon,
|
||||||
|
color: onPressed != null ? Colors.white : Color(0xFFC6BEB2),
|
||||||
|
size: 20.5,
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -3206,7 +3206,7 @@ class _ChartScreen1State extends ConsumerState<ChartScreen1> {
|
|||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
// color: isActive ? Colors.black : Colors.white,
|
// color: isActive ? Colors.black : Colors.white,
|
||||||
color: isDarkTheme ? Colors.white : Colors.black,
|
color: chartScreenData['main_topic'] == 'SOCIAL' ? isActive ? Colors.white : isDarkTheme ? Colors.white : Colors.black : isActive ? Colors.black : isDarkTheme ? Colors.white : Colors.black,
|
||||||
// color: Colors.white,
|
// color: Colors.white,
|
||||||
fontWeight: isActive ? FontWeight.w500 : FontWeight.w400,
|
fontWeight: isActive ? FontWeight.w500 : FontWeight.w400,
|
||||||
fontSize: 13,
|
fontSize: 13,
|
||||||
@ -3260,11 +3260,11 @@ class CardWidget extends StatelessWidget {
|
|||||||
(themeMode == ThemeMode.system &&
|
(themeMode == ThemeMode.system &&
|
||||||
MediaQuery.of(context).platformBrightness == Brightness.dark);
|
MediaQuery.of(context).platformBrightness == Brightness.dark);
|
||||||
|
|
||||||
final Map<String, Color> mainTopicColors = {
|
// final Map<String, Color> mainTopicColors = {
|
||||||
'ECONOMY': Color(0xFF071F3B),
|
// 'ECONOMY': Color(0xFF071F3B),
|
||||||
'SOCIAL': Color(0xFF4F241B),
|
// 'SOCIAL': Color(0xFF4F241B),
|
||||||
'ENVIRONMENT': Color(0xFF16523C),
|
// 'ENVIRONMENT': Color(0xFF16523C),
|
||||||
};
|
// };
|
||||||
|
|
||||||
final String mainTopic = chartScreenData['main_topic'];
|
final String mainTopic = chartScreenData['main_topic'];
|
||||||
|
|
||||||
@ -3283,45 +3283,45 @@ class CardWidget extends StatelessWidget {
|
|||||||
margin: const EdgeInsets.all(10),
|
margin: const EdgeInsets.all(10),
|
||||||
// width: card_full_length ? double.infinity : null,
|
// width: card_full_length ? double.infinity : null,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(5),
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
color: Color(int.parse(
|
color: Color(int.parse(
|
||||||
(chartScreenData['border_color'] ?? '#898C81')
|
(chartScreenData['border_color'] ?? '#898C81')
|
||||||
.replaceFirst('#', '0xff'))),
|
.replaceFirst('#', '0xff'))),
|
||||||
// Dynamic border color
|
// Dynamic border color
|
||||||
width: 1, // Adjust border thickness
|
width: 2, // Adjust border thickness
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: Card(
|
child: Card(
|
||||||
margin: const EdgeInsets.all(0),
|
margin: const EdgeInsets.all(0),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(5),
|
||||||
),
|
),
|
||||||
elevation: 2,
|
elevation: 2,
|
||||||
child: Container(
|
child: Container(
|
||||||
// height: cardHeight,
|
// height: cardHeight,
|
||||||
height: 158,
|
height: 135,
|
||||||
padding: const EdgeInsets.only(
|
padding: const EdgeInsets.only(
|
||||||
left: 16.0, right: 16.0, bottom: 2.0, top: 1.0),
|
left: 16.0, right: 16.0, bottom: 2.0, top: 1.0),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: backgroundColor, // Move color inside BoxDecoration
|
color: backgroundColor, // Move color inside BoxDecoration
|
||||||
borderRadius: BorderRadius.circular(
|
borderRadius: BorderRadius.circular(
|
||||||
12), // Ensure border radius is applied
|
5), // Ensure border radius is applied
|
||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Image.network(
|
// Image.network(
|
||||||
card_logo ?? '',
|
// card_logo ?? '',
|
||||||
width: 30,
|
// width: 30,
|
||||||
height: 30,
|
// height: 30,
|
||||||
errorBuilder: (context, error, stackTrace) {
|
// errorBuilder: (context, error, stackTrace) {
|
||||||
return Icon(Icons.public,
|
// return Icon(Icons.public,
|
||||||
color: Color(0xFF90B0D5), size: 30); // Fallback icon
|
// color: Color(0xFF90B0D5), size: 30); // Fallback icon
|
||||||
},
|
// },
|
||||||
),
|
// ),
|
||||||
const SizedBox(height: 1),
|
// const SizedBox(height: 1),
|
||||||
MouseRegion(
|
MouseRegion(
|
||||||
onEnter: (event) {
|
onEnter: (event) {
|
||||||
// Show tooltip on hover
|
// Show tooltip on hover
|
||||||
@ -3344,6 +3344,7 @@ class CardWidget extends StatelessWidget {
|
|||||||
chart_heading ?? 'NA',
|
chart_heading ?? 'NA',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
|
fontSize: 13,
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
@ -3369,7 +3370,7 @@ class CardWidget extends StatelessWidget {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
fontSize: 11,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
color: isDarkTheme ? Color(0xFFFFFFFF) : Colors.black87,
|
color: isDarkTheme ? Color(0xFFFFFFFF) : Colors.black87,
|
||||||
),
|
),
|
||||||
@ -3433,30 +3434,30 @@ class CardWidget extends StatelessWidget {
|
|||||||
margin: const EdgeInsets.all(10),
|
margin: const EdgeInsets.all(10),
|
||||||
// width: card_full_length ? double.infinity : null,
|
// width: card_full_length ? double.infinity : null,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(5),
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
color: Color(int.parse(
|
color: Color(int.parse(
|
||||||
(chartScreenData['border_color'] ?? '#898C81')
|
(chartScreenData['border_color'] ?? '#898C81')
|
||||||
.replaceFirst('#', '0xff'))), // Dynamic border color
|
.replaceFirst('#', '0xff'))), // Dynamic border color
|
||||||
width: 1, // Adjust border thickness
|
width: 2, // Adjust border thickness
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: Card(
|
child: Card(
|
||||||
margin: const EdgeInsets.all(0),
|
margin: const EdgeInsets.all(0),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(5),
|
||||||
),
|
),
|
||||||
elevation: 0, // Remove shadow to keep only the outli
|
elevation: 0, // Remove shadow to keep only the outli
|
||||||
|
|
||||||
child: Container(
|
child: Container(
|
||||||
height: 158,
|
height: 135,
|
||||||
padding: const EdgeInsets.all(10.0),
|
padding: const EdgeInsets.all(10.0),
|
||||||
// padding: const EdgeInsets.only(
|
// padding: const EdgeInsets.only(
|
||||||
// left: 10.0, right: 10.0, bottom: 5.0, top: 1.0),
|
// left: 10.0, right: 10.0, bottom: 5.0, top: 1.0),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: backgroundColor, // Move color inside BoxDecoration
|
color: backgroundColor, // Move color inside BoxDecoration
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(12), // Ensure border radius is applied
|
BorderRadius.circular(5), // Ensure border radius is applied
|
||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize:
|
mainAxisSize:
|
||||||
@ -3465,16 +3466,16 @@ class CardWidget extends StatelessWidget {
|
|||||||
children: [
|
children: [
|
||||||
// const Icon(Icons.public,
|
// const Icon(Icons.public,
|
||||||
// color: Color(0xFF90B0D5), size: 30),
|
// color: Color(0xFF90B0D5), size: 30),
|
||||||
Image.network(
|
// Image.network(
|
||||||
card_logo ?? '',
|
// card_logo ?? '',
|
||||||
width: 30,
|
// width: 30,
|
||||||
height: 30,
|
// height: 30,
|
||||||
errorBuilder: (context, error, stackTrace) {
|
// errorBuilder: (context, error, stackTrace) {
|
||||||
return Icon(Icons.public,
|
// return Icon(Icons.public,
|
||||||
color: Color(0xFF90B0D5), size: 30); // Fallback icon
|
// color: Color(0xFF90B0D5), size: 30); // Fallback icon
|
||||||
},
|
// },
|
||||||
),
|
// ),
|
||||||
const SizedBox(height: 3),
|
// const SizedBox(height: 3),
|
||||||
MouseRegion(
|
MouseRegion(
|
||||||
onEnter: (event) {
|
onEnter: (event) {
|
||||||
final overlay = Overlay.of(context);
|
final overlay = Overlay.of(context);
|
||||||
@ -3494,7 +3495,7 @@ class CardWidget extends StatelessWidget {
|
|||||||
chart_heading ?? 'NA',
|
chart_heading ?? 'NA',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
fontSize: 10,
|
fontSize: 13,
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
@ -3520,7 +3521,7 @@ class CardWidget extends StatelessWidget {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
fontSize: 11,
|
fontSize: 13,
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
color: isDarkTheme ? Color(0xFFFFFFFF) : Colors.black87,
|
color: isDarkTheme ? Color(0xFFFFFFFF) : Colors.black87,
|
||||||
),
|
),
|
||||||
|
|||||||
@ -328,7 +328,7 @@ class ChartWidget extends StatelessWidget {
|
|||||||
// title: '${percentage.toStringAsFixed(1)}%',
|
// title: '${percentage.toStringAsFixed(1)}%',
|
||||||
// title: percentage >= 0.1 ? '${percentage.toStringAsFixed(1)}%' : '',
|
// title: percentage >= 0.1 ? '${percentage.toStringAsFixed(1)}%' : '',
|
||||||
title: percentage >= 0.1 ? '$displayTitle\n${percentage.toStringAsFixed(1)}%' : '',
|
title: percentage >= 0.1 ? '$displayTitle\n${percentage.toStringAsFixed(1)}%' : '',
|
||||||
radius: isTouched ? 60 : 50,
|
radius: isTouched ? 40 : 30,
|
||||||
|
|
||||||
// Increase size when touched
|
// Increase size when touched
|
||||||
titleStyle: TextStyle(
|
titleStyle: TextStyle(
|
||||||
@ -342,7 +342,7 @@ class ChartWidget extends StatelessWidget {
|
|||||||
// color: Colors.white,
|
// color: Colors.white,
|
||||||
),
|
),
|
||||||
// titlePositionPercentageOffset: 1.4,
|
// titlePositionPercentageOffset: 1.4,
|
||||||
titlePositionPercentageOffset: 1.8,
|
titlePositionPercentageOffset: 2.1,
|
||||||
);
|
);
|
||||||
}).toList();
|
}).toList();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,7 +34,13 @@ class InternetCheckScreen extends ConsumerWidget {
|
|||||||
|
|
||||||
double myHeight = MediaQuery.of(context).size.height;
|
double myHeight = MediaQuery.of(context).size.height;
|
||||||
|
|
||||||
return Scaffold(
|
return PopScope(
|
||||||
|
canPop: false,
|
||||||
|
onPopInvokedWithResult: (didPop, result) {
|
||||||
|
if (didPop) return;
|
||||||
|
|
||||||
|
},
|
||||||
|
child: Scaffold(
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: Center(
|
child: Center(
|
||||||
@ -112,6 +118,8 @@ class InternetCheckScreen extends ConsumerWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,6 +69,7 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
// To keep track of the selected date
|
// To keep track of the selected date
|
||||||
DateTime? _selectedDate;
|
DateTime? _selectedDate;
|
||||||
String? role;
|
String? role;
|
||||||
|
int isOAuthLogin = 0;
|
||||||
|
|
||||||
// Date format for the display
|
// Date format for the display
|
||||||
final DateFormat _dateFormat = DateFormat('yyyy-MM-dd');
|
final DateFormat _dateFormat = DateFormat('yyyy-MM-dd');
|
||||||
@ -181,6 +182,7 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
_usernameController.text = userDetailsResponse.data['uname'] ?? '';
|
_usernameController.text = userDetailsResponse.data['uname'] ?? '';
|
||||||
_emailController.text = userDetailsResponse.data['email'] ?? '';
|
_emailController.text = userDetailsResponse.data['email'] ?? '';
|
||||||
role = userDetailsResponse.data['role'] ?? '';
|
role = userDetailsResponse.data['role'] ?? '';
|
||||||
|
isOAuthLogin = userDetailsResponse.data['is_oauth_login'] ?? '';
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print('Error fetching user details: $e');
|
print('Error fetching user details: $e');
|
||||||
@ -252,8 +254,6 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
builder: (context, child) {
|
builder: (context, child) {
|
||||||
return Theme(
|
return Theme(
|
||||||
data: Theme.of(context).copyWith(
|
data: Theme.of(context).copyWith(
|
||||||
dialogBackgroundColor:
|
|
||||||
Colors.white, // Background color of the date picker
|
|
||||||
textButtonTheme: TextButtonThemeData(
|
textButtonTheme: TextButtonThemeData(
|
||||||
style: ButtonStyle(
|
style: ButtonStyle(
|
||||||
shape: WidgetStateProperty.all(RoundedRectangleBorder(
|
shape: WidgetStateProperty.all(RoundedRectangleBorder(
|
||||||
@ -262,9 +262,10 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
datePickerTheme: DatePickerThemeData(
|
datePickerTheme: DatePickerThemeData(
|
||||||
|
backgroundColor: isDarkTheme ? Colors.black : Colors.white,
|
||||||
confirmButtonStyle: ButtonStyle(
|
confirmButtonStyle: ButtonStyle(
|
||||||
backgroundColor: WidgetStateProperty.all(
|
backgroundColor: WidgetStateProperty.all(
|
||||||
Color(0xFFAA8E83)), // OK button background color
|
Color(0xFFB68A34)), // OK button background color
|
||||||
foregroundColor: WidgetStateProperty.all(
|
foregroundColor: WidgetStateProperty.all(
|
||||||
Colors.white), // OK button text color
|
Colors.white), // OK button text color
|
||||||
// minimumSize: WidgetStateProperty.all(Size(150, 50)),
|
// minimumSize: WidgetStateProperty.all(Size(150, 50)),
|
||||||
@ -276,16 +277,18 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
cancelButtonStyle: ButtonStyle(
|
cancelButtonStyle: ButtonStyle(
|
||||||
// backgroundColor: WidgetStateProperty.all(Colors.white), // Cancel button background color
|
// backgroundColor: WidgetStateProperty.all(Colors.white), // Cancel button background color
|
||||||
foregroundColor: WidgetStateProperty.all(
|
foregroundColor: WidgetStateProperty.all(
|
||||||
Color(0xFFAA8E83)), // Cancel button text color
|
Color(0xFFB68A34)), // Cancel button text color
|
||||||
// minimumSize: WidgetStateProperty.all(Size(150, 50)),
|
// minimumSize: WidgetStateProperty.all(Size(150, 50)),
|
||||||
minimumSize: WidgetStateProperty.all(Size(100, 40)),
|
minimumSize: WidgetStateProperty.all(Size(100, 40)),
|
||||||
shape: WidgetStateProperty.all(RoundedRectangleBorder(
|
shape: WidgetStateProperty.all(RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(12.0), // Rounded corners
|
borderRadius: BorderRadius.circular(12.0), // Rounded corners
|
||||||
side: const BorderSide(
|
side: const BorderSide(
|
||||||
color: Color(0xFFAA8E83), width: 2), // Outline color
|
color: Color(0xFFB68A34), width: 2), // Outline color
|
||||||
)),
|
)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
dialogTheme: DialogThemeData(
|
||||||
|
backgroundColor: isDarkTheme ? Colors.black : Colors.white),
|
||||||
),
|
),
|
||||||
child: child!,
|
child: child!,
|
||||||
);
|
);
|
||||||
@ -464,6 +467,7 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
'تسجيل الخروج',
|
'تسجيل الخروج',
|
||||||
),
|
),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
|
// color: Color(0xFFB68A34),
|
||||||
color: Color(0xFF898C81),
|
color: Color(0xFF898C81),
|
||||||
fontWeight: FontWeight.w700,
|
fontWeight: FontWeight.w700,
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
@ -502,7 +506,8 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
'إلغاء',
|
'إلغاء',
|
||||||
),
|
),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xFFAA8E83),
|
// color: Color(0xFFAA8E83),
|
||||||
|
color: Color(0xFFB68A34),
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
@ -513,7 +518,8 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () => logout(context), // Exit the app
|
onPressed: () => logout(context), // Exit the app
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
backgroundColor: Color(0xFFAA8E83), // Set background color
|
// backgroundColor: Color(0xFFAA8E83), // Set background color
|
||||||
|
backgroundColor: Color(0xFFB68A34), // Set background color
|
||||||
// foregroundColor: Colors.white,
|
// foregroundColor: Colors.white,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(10.0), // Set text color
|
borderRadius: BorderRadius.circular(10.0), // Set text color
|
||||||
@ -603,8 +609,16 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
isOn: locale?.languageCode == 'en',
|
isOn: locale?.languageCode == 'en',
|
||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
final formState = _formKey.currentState;
|
final formState = _formKey.currentState;
|
||||||
ref.read(localeProvider.notifier).toggleLocale();
|
ref.read(localeProvider.notifier).toggleLocale();
|
||||||
@ -728,6 +742,13 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
controller: _usernameController,
|
controller: _usernameController,
|
||||||
focusNode: _focusNodes[0],
|
focusNode: _focusNodes[0],
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
|
errorStyle: TextStyle(
|
||||||
|
color: Color(0xFFD83731), // ✅ change to any color
|
||||||
|
fontFamily: context.translate(
|
||||||
|
'Roboto',
|
||||||
|
'NotoKufi',
|
||||||
|
),
|
||||||
|
),
|
||||||
// hintText: _showHints[0] ? 'Enter the User Name' : null,
|
// hintText: _showHints[0] ? 'Enter the User Name' : null,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
@ -765,6 +786,13 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
controller: _emailController,
|
controller: _emailController,
|
||||||
focusNode: _focusNodes[1],
|
focusNode: _focusNodes[1],
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
|
errorStyle: TextStyle(
|
||||||
|
color: Color(0xFFD83731), // ✅ change to any color
|
||||||
|
fontFamily: context.translate(
|
||||||
|
'Roboto',
|
||||||
|
'NotoKufi',
|
||||||
|
),
|
||||||
|
),
|
||||||
// hintText:
|
// hintText:
|
||||||
// _showHints[1] ? 'mohammad.hassan@fcsc.gov.ae' : null,
|
// _showHints[1] ? 'mohammad.hassan@fcsc.gov.ae' : null,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(
|
||||||
@ -819,6 +847,13 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
controller: _fullNameController,
|
controller: _fullNameController,
|
||||||
focusNode: _focusNodes[2],
|
focusNode: _focusNodes[2],
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
|
errorStyle: TextStyle(
|
||||||
|
color: Color(0xFFD83731), // ✅ change to any color
|
||||||
|
fontFamily: context.translate(
|
||||||
|
'Roboto',
|
||||||
|
'NotoKufi',
|
||||||
|
),
|
||||||
|
),
|
||||||
enabledBorder: OutlineInputBorder(
|
enabledBorder: OutlineInputBorder(
|
||||||
borderRadius: BorderRadius.circular(10),
|
borderRadius: BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
@ -839,12 +874,33 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
),
|
),
|
||||||
border: OutlineInputBorder(
|
border: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: Color(0xFFB68A34),
|
color: Color(0xFFB68A34),
|
||||||
// color:
|
// color:
|
||||||
// isDarkTheme ? Colors.white : Color(0xFF7296BE),
|
// isDarkTheme ? Colors.white : Color(0xFF7296BE),
|
||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(8),
|
),
|
||||||
|
focusedBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: const Color(0xFFB68A34),
|
||||||
|
width: 2,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
errorBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: Color(0xFFD83731),
|
||||||
|
width: 1,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
focusedErrorBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: Color(0xFFD83731),
|
||||||
|
width: 1,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
counterText: '',
|
counterText: '',
|
||||||
),
|
),
|
||||||
@ -877,6 +933,13 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
controller: _dateController,
|
controller: _dateController,
|
||||||
focusNode: _focusNodes[3],
|
focusNode: _focusNodes[3],
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
|
errorStyle: TextStyle(
|
||||||
|
color: Color(0xFFD83731), // ✅ change to any color
|
||||||
|
fontFamily: context.translate(
|
||||||
|
'Roboto',
|
||||||
|
'NotoKufi',
|
||||||
|
),
|
||||||
|
),
|
||||||
enabledBorder: OutlineInputBorder(
|
enabledBorder: OutlineInputBorder(
|
||||||
borderRadius: BorderRadius.circular(10),
|
borderRadius: BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
@ -896,6 +959,27 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
),
|
),
|
||||||
|
focusedBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: const Color(0xFFB68A34),
|
||||||
|
width: 2,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
errorBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: Color(0xFFD83731),
|
||||||
|
width: 1,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
focusedErrorBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: Color(0xFFD83731),
|
||||||
|
width: 1,
|
||||||
|
),
|
||||||
|
),
|
||||||
hintText: _showHints[3] ? 'DD/MM/YYYY' : null,
|
hintText: _showHints[3] ? 'DD/MM/YYYY' : null,
|
||||||
//_showHints[3] ? 'Select your Date of Birth' : null,
|
//_showHints[3] ? 'Select your Date of Birth' : null,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(
|
||||||
@ -954,6 +1038,13 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
isExpanded: true,
|
isExpanded: true,
|
||||||
value: _selectedCountry,
|
value: _selectedCountry,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
|
errorStyle: TextStyle(
|
||||||
|
color: Color(0xFFD83731), // ✅ change to any color
|
||||||
|
fontFamily: context.translate(
|
||||||
|
'Roboto',
|
||||||
|
'NotoKufi',
|
||||||
|
),
|
||||||
|
),
|
||||||
enabledBorder: OutlineInputBorder(
|
enabledBorder: OutlineInputBorder(
|
||||||
borderRadius: BorderRadius.circular(10),
|
borderRadius: BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
@ -972,6 +1063,27 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
),
|
),
|
||||||
|
focusedBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: const Color(0xFFB68A34),
|
||||||
|
width: 2,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
errorBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: Color(0xFFD83731),
|
||||||
|
width: 1,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
focusedErrorBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: Color(0xFFD83731),
|
||||||
|
width: 1,
|
||||||
|
),
|
||||||
|
),
|
||||||
labelText: context.translate('Select', ' اختيار')),
|
labelText: context.translate('Select', ' اختيار')),
|
||||||
icon: Icon(Icons.keyboard_arrow_down_sharp,
|
icon: Icon(Icons.keyboard_arrow_down_sharp,
|
||||||
color: _isHoveringDropdown
|
color: _isHoveringDropdown
|
||||||
@ -1090,6 +1202,13 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
child: DropdownButtonFormField<String>(
|
child: DropdownButtonFormField<String>(
|
||||||
value: _selectedLanguage,
|
value: _selectedLanguage,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
|
errorStyle: TextStyle(
|
||||||
|
color: Color(0xFFD83731), // ✅ change to any color
|
||||||
|
fontFamily: context.translate(
|
||||||
|
'Roboto',
|
||||||
|
'NotoKufi',
|
||||||
|
),
|
||||||
|
),
|
||||||
enabledBorder: OutlineInputBorder(
|
enabledBorder: OutlineInputBorder(
|
||||||
borderRadius: BorderRadius.circular(10),
|
borderRadius: BorderRadius.circular(10),
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
@ -1108,6 +1227,27 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
),
|
),
|
||||||
|
focusedBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: const Color(0xFFB68A34),
|
||||||
|
width: 2,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
errorBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: Color(0xFFD83731),
|
||||||
|
width: 1,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
focusedErrorBorder: OutlineInputBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: Color(0xFFD83731),
|
||||||
|
width: 1,
|
||||||
|
),
|
||||||
|
),
|
||||||
labelText: context.translate('Select', ' اختيار')),
|
labelText: context.translate('Select', ' اختيار')),
|
||||||
icon: Icon(Icons.keyboard_arrow_down_sharp,
|
icon: Icon(Icons.keyboard_arrow_down_sharp,
|
||||||
color: _isHoveringPreferredLang
|
color: _isHoveringPreferredLang
|
||||||
@ -1149,9 +1289,7 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
},
|
},
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
color: showError
|
color: showError
|
||||||
? isDarkTheme
|
? Color(0xFFD83731)
|
||||||
? Color(0xFFB68A34)
|
|
||||||
: Color(0xFFb22222)
|
|
||||||
: Color(0xFFB68A34),
|
: Color(0xFFB68A34),
|
||||||
|
|
||||||
// : isDarkTheme
|
// : isDarkTheme
|
||||||
@ -1285,7 +1423,7 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
color: Color(0xFFb22222),
|
color: Color(0xFFD83731),
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -1293,6 +1431,7 @@ class _ProfileScreenState extends ConsumerState<ProfileScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
SizedBox(height: 20),
|
SizedBox(height: 20),
|
||||||
|
if(isOAuthLogin != 1)
|
||||||
Center(
|
Center(
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
|||||||
@ -32,8 +32,16 @@ class LangToggle extends ConsumerWidget {
|
|||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
paddingWhenOn: EdgeInsets.zero,
|
paddingWhenOn: EdgeInsets.zero,
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,8 @@ class MyToggle extends StatelessWidget {
|
|||||||
this.knobTextWhenOff = '',
|
this.knobTextWhenOff = '',
|
||||||
this.pathColorWhenOn = Colors.green,
|
this.pathColorWhenOn = Colors.green,
|
||||||
this.pathColorWhenOff = const Color(0xffD9D9D9),
|
this.pathColorWhenOff = const Color(0xffD9D9D9),
|
||||||
|
required this.knobTextStyleWhenOn,
|
||||||
|
required this.knobTextStyleWhenOff,
|
||||||
});
|
});
|
||||||
|
|
||||||
final bool isOn;
|
final bool isOn;
|
||||||
@ -19,6 +21,8 @@ class MyToggle extends StatelessWidget {
|
|||||||
final Color pathColorWhenOn;
|
final Color pathColorWhenOn;
|
||||||
final Color pathColorWhenOff;
|
final Color pathColorWhenOff;
|
||||||
final void Function()? onTap;
|
final void Function()? onTap;
|
||||||
|
final TextStyle knobTextStyleWhenOn;
|
||||||
|
final TextStyle knobTextStyleWhenOff;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -34,6 +38,10 @@ class MyToggle extends StatelessWidget {
|
|||||||
);
|
);
|
||||||
final knobText = Text(
|
final knobText = Text(
|
||||||
isOn ? knobTextWhenOn : knobTextWhenOff,
|
isOn ? knobTextWhenOn : knobTextWhenOff,
|
||||||
|
style: TextStyle(
|
||||||
|
color: isOn ? knobTextStyleWhenOn.color : knobTextStyleWhenOff.color,
|
||||||
|
fontWeight: isOn ? knobTextStyleWhenOn.fontWeight : knobTextStyleWhenOff.fontWeight,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
final shouldShowKnobText = (isOn && knobTextWhenOn.isNotEmpty) ||
|
final shouldShowKnobText = (isOn && knobTextWhenOn.isNotEmpty) ||
|
||||||
(!isOn && knobTextWhenOff.isNotEmpty);
|
(!isOn && knobTextWhenOff.isNotEmpty);
|
||||||
@ -42,7 +50,7 @@ class MyToggle extends StatelessWidget {
|
|||||||
radius: 21 / 2,
|
radius: 21 / 2,
|
||||||
child: CircleAvatar(
|
child: CircleAvatar(
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
radius: 20 / 2,
|
radius: 18 / 2,
|
||||||
child: shouldShowKnobText
|
child: shouldShowKnobText
|
||||||
? FittedBox(
|
? FittedBox(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
|
|||||||
@ -63,7 +63,7 @@ class ThemedAppBar extends ConsumerWidget {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
final logo = Image.asset(
|
final logo = Image.asset(
|
||||||
LogoAssetPath.uaeStat,
|
LogoAssetPath.uaeStatLight,
|
||||||
height: 36,
|
height: 36,
|
||||||
);
|
);
|
||||||
final title = titleText == null
|
final title = titleText == null
|
||||||
|
|||||||
@ -205,19 +205,20 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Function to send the reset password request
|
// Function to send the reset password request
|
||||||
Future<void> forgotPasswordMail(String email) async {
|
Future<String> forgotPasswordMail(String email) async {
|
||||||
final url =
|
final url =
|
||||||
Uri.parse("${pb.baseUrl}api/auth/request-password-reset?email=$email");
|
Uri.parse("${pb.baseUrl}api/auth/request-password-reset?email=$email");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final response = await http.get(url);
|
final response = await http.get(url);
|
||||||
|
final body = json.decode(response.body);
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
return; // Success, no action needed here
|
return body['status'] ?? 'Reset link sent successfully.';
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
final errorResponse = json.decode(response.body);
|
final errorResponse = json.decode(response.body);
|
||||||
throw Exception(
|
throw Exception(
|
||||||
errorResponse['message'] ?? "Failed to send reset email.");
|
errorResponse['status'] ?? "Failed to send reset email.");
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw Exception("Something went wrong. Please try again.");
|
throw Exception("Something went wrong. Please try again.");
|
||||||
@ -329,7 +330,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
print('themeMode $themeMode');
|
print('themeMode $themeMode');
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> googleLogin(BuildContext context, WidgetRef ref,platform) async {
|
Future<void> oAuthGoogleAndAppleLogin(BuildContext context, WidgetRef ref,platform) async {
|
||||||
print(platform);
|
print(platform);
|
||||||
try {
|
try {
|
||||||
final authData =
|
final authData =
|
||||||
@ -342,6 +343,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
print("✅ Login Successful");
|
print("✅ Login Successful");
|
||||||
print(authData.record);
|
print(authData.record);
|
||||||
|
|
||||||
|
final metaDetails = authData.meta;
|
||||||
final userDetails = authData.record;
|
final userDetails = authData.record;
|
||||||
final userId = userDetails?.id;
|
final userId = userDetails?.id;
|
||||||
final email = userDetails?.data['email'] ?? '';
|
final email = userDetails?.data['email'] ?? '';
|
||||||
@ -354,8 +356,10 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
print("Email: ${isProfileComplete}");
|
print("Email: ${isProfileComplete}");
|
||||||
print("Email: ${loginCount}");
|
print("Email: ${loginCount}");
|
||||||
|
|
||||||
await saveUserId(userId!, loginCount);
|
await loginCountApi(userId!);
|
||||||
// await getDeviceToken(context, id);
|
await updateOAuthUserDetails(userId!, metaDetails);
|
||||||
|
// await saveUserId(userId!, loginCount);
|
||||||
|
// await getDeviceToken(context, userId);
|
||||||
await initializeTheme(context, ref, userId);
|
await initializeTheme(context, ref, userId);
|
||||||
|
|
||||||
final session = await context.loaderWithErrorDialog(
|
final session = await context.loaderWithErrorDialog(
|
||||||
@ -420,6 +424,71 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> loginCountApi(String userId) async {
|
||||||
|
if (userId.isNotEmpty) {
|
||||||
|
final url =
|
||||||
|
// Uri.parse("https://pb.venbait.in/api/login_success?id=$userId");
|
||||||
|
Uri.parse('$apiUrl/api/login_success?id=$userId');
|
||||||
|
|
||||||
|
try {
|
||||||
|
final response = await http.get(url);
|
||||||
|
|
||||||
|
if (response.statusCode == 200) {
|
||||||
|
print("Login success API call successful: ${response.body}");
|
||||||
|
final count = jsonDecode(response.body);
|
||||||
|
loginCount = count["login_count"];
|
||||||
|
print(loginCount);
|
||||||
|
} else {
|
||||||
|
print(
|
||||||
|
"Failed to call login success API. Status code: ${response.statusCode}");
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
print("Error calling login success API: $e");
|
||||||
|
}
|
||||||
|
|
||||||
|
await saveUserId(userId, loginCount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> updateOAuthUserDetails(String userId, metaDetails) async {
|
||||||
|
final url = "${pb.baseUrl}/api/collections/users/records/$userId";
|
||||||
|
|
||||||
|
try {
|
||||||
|
// // Authenticate admin (Persist session globally instead)
|
||||||
|
// await pb.admins.authWithPassword(
|
||||||
|
// 'pb@venbainfotech.com',
|
||||||
|
// 'pb@venbainfotech.com',
|
||||||
|
// );
|
||||||
|
|
||||||
|
final userDetails = metaDetails['rawUser'];
|
||||||
|
print('oauthDetails $userDetails');
|
||||||
|
|
||||||
|
final response = await http.patch(
|
||||||
|
Uri.parse(url),
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json', // Add this
|
||||||
|
'Authorization': pb.authStore.token, // Correct way to send auth token
|
||||||
|
},
|
||||||
|
body: jsonEncode({
|
||||||
|
"user_mail_verify": true,
|
||||||
|
"reviewed": true,
|
||||||
|
"role": 'user',
|
||||||
|
"uname": userDetails['name'],
|
||||||
|
"status": 'Approved',
|
||||||
|
"is_oauth_login": 1,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (response.statusCode == 200) {
|
||||||
|
print("✅ Device token updated successfully!");
|
||||||
|
} else {
|
||||||
|
print("❌ Failed to update device token: ${response.body}");
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
print("🚨 Error updating device token: $e");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// SessionEntity _sessionEntityFromPocketbaseRecord(RecordAuth ra) {
|
// SessionEntity _sessionEntityFromPocketbaseRecord(RecordAuth ra) {
|
||||||
// final decodedToken = JwtDecoder.decode(ra.token);
|
// final decodedToken = JwtDecoder.decode(ra.token);
|
||||||
// final expInSeconds = decodedToken['exp'];
|
// final expInSeconds = decodedToken['exp'];
|
||||||
@ -575,7 +644,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
color: isDarkTheme ? Color(0xFFFFA100) : Colors.red,
|
color: Color(0xFFD83731),
|
||||||
),
|
),
|
||||||
labelText: context.translate(
|
labelText: context.translate(
|
||||||
'Email address',
|
'Email address',
|
||||||
@ -587,42 +656,40 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
fontSize: locale?.languageCode == 'ar' ? 13 : 16,
|
fontSize: locale?.languageCode == 'ar' ? 13 : 16,
|
||||||
color: isDarkTheme ? Color(0xFFFFFFFF) : Color(0xFF898C81), // For label text color
|
color: isDarkTheme
|
||||||
|
? Color(0xFFFFFFFF)
|
||||||
|
: Color(0xFF898C81), // For label text color
|
||||||
// fontWeight: FontWeight.w600,
|
// fontWeight: FontWeight.w600,
|
||||||
),
|
),
|
||||||
// ✅ Default Border
|
// ✅ Default Border
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ✅ Bottom border (no outline)
|
// ✅ Bottom border (no outline)
|
||||||
enabledBorder: UnderlineInputBorder(
|
enabledBorder: UnderlineInputBorder(
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: isDarkTheme ? Colors.white : const Color(0xFF898C81),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: const Color(0xFF898C81),
|
||||||
width: 1,
|
width: 1,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
focusedBorder: UnderlineInputBorder(
|
focusedBorder: UnderlineInputBorder(
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: isDarkTheme ? const Color(0xFF24B4FB) : Colors.deepPurple,
|
color: Color(0xFFB68A34),
|
||||||
width: 2,
|
width: 2,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
errorBorder: UnderlineInputBorder(
|
errorBorder: UnderlineInputBorder(
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: isDarkTheme ? const Color(0xFFFFA100) : Colors.red,
|
color: Color(0xFFD83731),
|
||||||
width: 1,
|
width: 1,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
focusedErrorBorder: UnderlineInputBorder(
|
focusedErrorBorder: UnderlineInputBorder(
|
||||||
borderSide: BorderSide(
|
borderSide: BorderSide(
|
||||||
color: isDarkTheme ? const Color(0xFFFFA100) : Colors.red,
|
color: Color(0xFFD83731),
|
||||||
width: 2,
|
width: 2,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -631,10 +698,9 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
onPressed: Navigator.of(dialogCtx, rootNavigator: true).pop,
|
onPressed: Navigator.of(dialogCtx, rootNavigator: true).pop,
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
// backgroundColor: Colors.white, // Background color
|
// backgroundColor: Colors.white, // Background color
|
||||||
foregroundColor: isDarkTheme ? Color(0xFF24B4FB) : Color(0xFF92722A), // Font (text) color
|
foregroundColor: Color(0xFF92722A), // Font (text) color
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
color: isDarkTheme ? Color(0xFF24B4FB) : Color(0xFF92722A)
|
color: Color(0xFF92722A)), // Border outline color
|
||||||
), // Border outline color
|
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(8), // Optional: Rounded corners
|
BorderRadius.circular(8), // Optional: Rounded corners
|
||||||
@ -647,10 +713,13 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
'Return',
|
'Return',
|
||||||
'يعود',
|
'يعود',
|
||||||
),
|
),
|
||||||
style: TextStyle( fontSize: context.translate(12, 10), fontFamily: context.translate(
|
style: TextStyle(
|
||||||
|
fontSize: context.translate(12, 10),
|
||||||
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),),
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
@ -662,7 +731,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
style: ElevatedButton.styleFrom(
|
style: ElevatedButton.styleFrom(
|
||||||
backgroundColor: isDarkTheme ? Color(0xFF24B4FB) : Color(0xFF92722A),
|
backgroundColor: Color(0xFFB68A34),
|
||||||
foregroundColor: Colors.white,
|
foregroundColor: Colors.white,
|
||||||
padding: EdgeInsets.symmetric(
|
padding: EdgeInsets.symmetric(
|
||||||
horizontal: 10, vertical: 10), // Optional: Adjusts size
|
horizontal: 10, vertical: 10), // Optional: Adjusts size
|
||||||
@ -676,10 +745,13 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
'Send Email',
|
'Send Email',
|
||||||
'إرسال بريد إلكتروني',
|
'إرسال بريد إلكتروني',
|
||||||
),
|
),
|
||||||
style: TextStyle( fontSize: context.translate(12, 10), fontFamily: context.translate(
|
style: TextStyle(
|
||||||
|
fontSize: context.translate(12, 10),
|
||||||
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),),
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -689,11 +761,15 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
if (email == null) return;
|
if (email == null) return;
|
||||||
if (!context.mounted) return;
|
if (!context.mounted) return;
|
||||||
|
|
||||||
|
// await context.loaderWithErrorDialog(() async {
|
||||||
|
// await forgotPasswordMail(email);
|
||||||
|
// });
|
||||||
|
String status = '';
|
||||||
await context.loaderWithErrorDialog(() async {
|
await context.loaderWithErrorDialog(() async {
|
||||||
await forgotPasswordMail(email);
|
status = await forgotPasswordMail(email);
|
||||||
});
|
});
|
||||||
if (!context.mounted) return;
|
if (!context.mounted) return;
|
||||||
|
if (status == 'success') {
|
||||||
context.simpleDialog(
|
context.simpleDialog(
|
||||||
title: context.translate(
|
title: context.translate(
|
||||||
'Success!',
|
'Success!',
|
||||||
@ -704,6 +780,19 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
'تم إرسال بريد إلكتروني إلى $email يتضمن المزيد من التفاصيل.',
|
'تم إرسال بريد إلكتروني إلى $email يتضمن المزيد من التفاصيل.',
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
context.simpleDialog(
|
||||||
|
title: context.translate(
|
||||||
|
'Failed!',
|
||||||
|
'نجاح',
|
||||||
|
),
|
||||||
|
content: context.translate(
|
||||||
|
'Password reset is not available for accounts signed in with Apple or Google.',
|
||||||
|
'لا تتوفر إمكانية إعادة تعيين كلمة المرور للحسابات التي تم تسجيل الدخول إليها باستخدام Apple أو Google.',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
padding: EdgeInsets.zero,
|
padding: EdgeInsets.zero,
|
||||||
@ -892,7 +981,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
padding: const WidgetStatePropertyAll(
|
padding: const WidgetStatePropertyAll(
|
||||||
EdgeInsets.symmetric(vertical: 10.5),
|
EdgeInsets.symmetric(vertical: 16.5),
|
||||||
),
|
),
|
||||||
textStyle: WidgetStatePropertyAll(
|
textStyle: WidgetStatePropertyAll(
|
||||||
TextStyle(
|
TextStyle(
|
||||||
@ -901,7 +990,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
fontSize: locale?.languageCode == 'ar' ? 14 : 16,
|
fontSize: locale?.languageCode == 'ar' ? 14 : 16,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w500,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
backgroundColor: WidgetStatePropertyAll(
|
backgroundColor: WidgetStatePropertyAll(
|
||||||
@ -929,15 +1018,15 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
fontSize: locale?.languageCode == 'ar' ? 12 : 18,
|
fontSize: locale?.languageCode == 'ar' ? 12 : 16,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
color: isDarkTheme ? Color(0xFF000000) : null,
|
color: isDarkTheme ? Colors.white : Colors.white,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
6.horizontalSpace,
|
6.horizontalSpace,
|
||||||
Icon(
|
Icon(
|
||||||
Icons.chevron_right_outlined,
|
Icons.chevron_right_outlined,
|
||||||
color: isDarkTheme ? Color(0xFF000000) : Colors.white, // Set your desired color here
|
color: isDarkTheme ? Colors.white : Colors.white, // Set your desired color here
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -995,7 +1084,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
controller: pwCtl,
|
controller: pwCtl,
|
||||||
isObscurable: true,
|
isObscurable: true,
|
||||||
),
|
),
|
||||||
// 6.verticalSpace,
|
6.verticalSpace,
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.zero,
|
padding: EdgeInsets.zero,
|
||||||
child: Align(
|
child: Align(
|
||||||
@ -1003,7 +1092,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
child: forgotPwBtn,
|
child: forgotPwBtn,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
10.verticalSpace,
|
11.verticalSpace,
|
||||||
loginBtn,
|
loginBtn,
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -1146,14 +1235,14 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
child: OutlinedButton(
|
child: OutlinedButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
googleLogin(context,ref,'google');
|
oAuthGoogleAndAppleLogin(context,ref,'google');
|
||||||
},
|
},
|
||||||
style: OutlinedButton.styleFrom(
|
style: OutlinedButton.styleFrom(
|
||||||
side: const BorderSide(color: Color(0xFF000000)),
|
side: const BorderSide(color: Color(0xFF000000)),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.symmetric(vertical: 12),
|
padding: const EdgeInsets.symmetric(vertical: 16.5),
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
foregroundColor: Colors.black,
|
foregroundColor: Colors.black,
|
||||||
textStyle: TextStyle(
|
textStyle: TextStyle(
|
||||||
@ -1186,14 +1275,14 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
child: OutlinedButton(
|
child: OutlinedButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
googleLogin(context,ref,'apple');
|
oAuthGoogleAndAppleLogin(context,ref,'apple');
|
||||||
},
|
},
|
||||||
style: OutlinedButton.styleFrom(
|
style: OutlinedButton.styleFrom(
|
||||||
side: const BorderSide(color: Color(0xFF000000)),
|
side: const BorderSide(color: Color(0xFF000000)),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.symmetric(vertical: 12),
|
padding: const EdgeInsets.symmetric(vertical: 16.5),
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
foregroundColor: Colors.black,
|
foregroundColor: Colors.black,
|
||||||
textStyle: TextStyle(
|
textStyle: TextStyle(
|
||||||
@ -1231,7 +1320,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(8),
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.symmetric(vertical: 12),
|
padding: const EdgeInsets.symmetric(vertical: 16.5),
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
foregroundColor: Colors.black,
|
foregroundColor: Colors.black,
|
||||||
textStyle: TextStyle(
|
textStyle: TextStyle(
|
||||||
@ -1260,11 +1349,14 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
final fcscBanner = Image.asset(
|
final fcscBanner = Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 50),
|
||||||
|
child: Image.asset(
|
||||||
isDarkTheme
|
isDarkTheme
|
||||||
? BannerAssetPath.fcscLogoDark
|
? BannerAssetPath.fcscLogoDark
|
||||||
: BannerAssetPath.fcscLogoLight,
|
: BannerAssetPath.fcscLogoLight,
|
||||||
height: 40,
|
height: 30,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
final screenWidth = MediaQuery.of(context).size.width;
|
final screenWidth = MediaQuery.of(context).size.width;
|
||||||
final listViewHorizontalPadding =
|
final listViewHorizontalPadding =
|
||||||
@ -1283,8 +1375,16 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
isOn: locale?.languageCode == 'en',
|
isOn: locale?.languageCode == 'en',
|
||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
final formState = formKey.currentState;
|
final formState = formKey.currentState;
|
||||||
ref.read(localeProvider.notifier).toggleLocale();
|
ref.read(localeProvider.notifier).toggleLocale();
|
||||||
@ -1297,7 +1397,7 @@ class LoginRoute extends HookConsumerWidget {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
34.verticalSpace,
|
20.verticalSpace,
|
||||||
helloAndPleaseLoginTexts,
|
helloAndPleaseLoginTexts,
|
||||||
40.verticalSpace,
|
40.verticalSpace,
|
||||||
form,
|
form,
|
||||||
|
|||||||
@ -174,6 +174,7 @@ import 'package:uae_stat/config/theme/theme_provider.dart';
|
|||||||
import 'package:uae_stat/config/toggle_lang_service.dart';
|
import 'package:uae_stat/config/toggle_lang_service.dart';
|
||||||
import 'package:uae_stat/domain/use_cases/language.dart';
|
import 'package:uae_stat/domain/use_cases/language.dart';
|
||||||
import 'package:uae_stat/infrastructure/data/p_auth_repo.dart';
|
import 'package:uae_stat/infrastructure/data/p_auth_repo.dart';
|
||||||
|
import 'package:uae_stat/infrastructure/services/img_asset_paths/logo_asset_path.dart';
|
||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
import 'package:tutorial_coach_mark/tutorial_coach_mark.dart';
|
import 'package:tutorial_coach_mark/tutorial_coach_mark.dart';
|
||||||
import 'package:uae_stat/presentation/Screens/app_tour/Target_content.dart';
|
import 'package:uae_stat/presentation/Screens/app_tour/Target_content.dart';
|
||||||
@ -200,7 +201,7 @@ class _MyHomePageState extends ConsumerState<MyHomePage> {
|
|||||||
context.go('/login'); // Redirect to login after logout
|
context.go('/login'); // Redirect to login after logout
|
||||||
}
|
}
|
||||||
|
|
||||||
void _showExitConfirmation(BuildContext context) {
|
void _showExitConfirmation(BuildContext context,isDarkTheme) {
|
||||||
double myheight = MediaQuery.of(context).size.height;
|
double myheight = MediaQuery.of(context).size.height;
|
||||||
showDialog(
|
showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
@ -209,11 +210,12 @@ class _MyHomePageState extends ConsumerState<MyHomePage> {
|
|||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(5.0), // Rounded corners
|
borderRadius: BorderRadius.circular(5.0), // Rounded corners
|
||||||
),
|
),
|
||||||
|
backgroundColor: isDarkTheme ? Colors.black : Colors.white,
|
||||||
contentPadding: EdgeInsets.zero,
|
contentPadding: EdgeInsets.zero,
|
||||||
title: Text(
|
title: Text(
|
||||||
context.translate('Log Out Confirmation', 'تأكيد تسجيل الخروج'),
|
context.translate('Log Out Confirmation', 'تأكيد تسجيل الخروج'),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, fontFamily: context.translate(
|
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: isDarkTheme ? Colors.white : Colors.black, fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),),
|
),),
|
||||||
@ -249,7 +251,7 @@ class _MyHomePageState extends ConsumerState<MyHomePage> {
|
|||||||
borderRadius: BorderRadius.circular(10.0),
|
borderRadius: BorderRadius.circular(10.0),
|
||||||
),
|
),
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
color: Color(0xFFAA8E83), // Border color
|
color: Color(0xFFB68A34), // Border color
|
||||||
width: 1,
|
width: 1,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -260,7 +262,7 @@ class _MyHomePageState extends ConsumerState<MyHomePage> {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
color: Color(0xFFAA8E83),
|
color: Color(0xFFB68A34),
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -272,7 +274,7 @@ class _MyHomePageState extends ConsumerState<MyHomePage> {
|
|||||||
child: TextButton(
|
child: TextButton(
|
||||||
onPressed: () => logout(context),
|
onPressed: () => logout(context),
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
backgroundColor: Color(0xFFAA8E83), // Background color
|
backgroundColor: Color(0xFFB68A34), // Background color
|
||||||
foregroundColor: Colors.white,
|
foregroundColor: Colors.white,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(10.0),
|
borderRadius: BorderRadius.circular(10.0),
|
||||||
@ -344,18 +346,23 @@ class _MyHomePageState extends ConsumerState<MyHomePage> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
double myheight = MediaQuery.of(context).size.height;
|
double myheight = MediaQuery.of(context).size.height;
|
||||||
double mywidth = MediaQuery.of(context).size.width;
|
double mywidth = MediaQuery.of(context).size.width;
|
||||||
|
|
||||||
|
final isDarkTheme = ref.watch(themeProvider) == ThemeMode.dark ||
|
||||||
|
(ref.watch(themeProvider) == ThemeMode.system &&
|
||||||
|
MediaQuery.of(context).platformBrightness == Brightness.dark);
|
||||||
|
|
||||||
return PopScope(
|
return PopScope(
|
||||||
canPop: false, // Allow back navigation only if not login screen
|
canPop: false, // Allow back navigation only if not login screen
|
||||||
onPopInvokedWithResult: (didPop, result) {
|
onPopInvokedWithResult: (didPop, result) {
|
||||||
if (didPop) return;
|
if (didPop) return;
|
||||||
_showExitConfirmation(context); // Show exit confirmation dialog
|
_showExitConfirmation(context,isDarkTheme); // Show exit confirmation dialog
|
||||||
},
|
},
|
||||||
child: BaseScaffold(
|
child: BaseScaffold(
|
||||||
title: Center(
|
title: Center(
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
height: myheight / 5,
|
height: myheight / 5,
|
||||||
width: mywidth / 3,
|
width: mywidth / 3,
|
||||||
child: Image(image: AssetImage('assets/logos/uae_stat.png')))),
|
child: Image(image: AssetImage(isDarkTheme ? LogoAssetPath.uaeStatDark : LogoAssetPath.uaeStatLight)))),
|
||||||
body: EconomyStatsWidget(),
|
body: EconomyStatsWidget(),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@ -1335,6 +1342,7 @@ class EconomyStatsState extends ConsumerState<EconomyStatsWidget> {
|
|||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
|
SizedBox(height: 10),
|
||||||
RoundedCornerContainer(
|
RoundedCornerContainer(
|
||||||
key: mainTopic['main_topic'] == firstMainTopic
|
key: mainTopic['main_topic'] == firstMainTopic
|
||||||
? cardTopicKey
|
? cardTopicKey
|
||||||
@ -1596,7 +1604,7 @@ class InfoCard extends StatelessWidget {
|
|||||||
child: Container(
|
child: Container(
|
||||||
height: myheight / 10.9,
|
height: myheight / 10.9,
|
||||||
|
|
||||||
width: mywidth / 4,
|
width: mywidth / 5,
|
||||||
|
|
||||||
margin: const EdgeInsets.symmetric(horizontal: 8),
|
margin: const EdgeInsets.symmetric(horizontal: 8),
|
||||||
// padding: const EdgeInsets.all(10),
|
// padding: const EdgeInsets.all(10),
|
||||||
|
|||||||
@ -289,10 +289,11 @@ class _VersionToggle extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
MyToggle(
|
// MyToggle(
|
||||||
isOn: version.toBool(),
|
// isOn: version.toBool(),
|
||||||
onTap: null,
|
// onTap: null,
|
||||||
),
|
//
|
||||||
|
// ),
|
||||||
DefaultTextStyleTransition(
|
DefaultTextStyleTransition(
|
||||||
style: styleTween.animate(
|
style: styleTween.animate(
|
||||||
Animation.fromValueListenable(
|
Animation.fromValueListenable(
|
||||||
|
|||||||
@ -551,13 +551,15 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
child: selectedTabIndex == 0
|
child: selectedTabIndex == 0
|
||||||
? (bookmarks.isNotEmpty
|
? (bookmarks.isNotEmpty
|
||||||
? SingleChildScrollView(
|
? SingleChildScrollView(
|
||||||
|
child: Container(
|
||||||
|
padding: const EdgeInsets.all(13.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: List.generate(
|
children: List.generate(
|
||||||
transformedList.length, (i) {
|
transformedList.length, (i) {
|
||||||
final mainTopic = transformedList[i];
|
final mainTopic = transformedList[i];
|
||||||
print('oustside1 $mainTopic');
|
print('oustside1 $mainTopic');
|
||||||
final list =
|
final list = List.from(
|
||||||
List.from(mainTopic['SubTopic'] ?? []);
|
mainTopic['SubTopic'] ?? []);
|
||||||
print('oustside2 $list');
|
print('oustside2 $list');
|
||||||
return CustomExpandableTile(
|
return CustomExpandableTile(
|
||||||
index: i,
|
index: i,
|
||||||
@ -571,8 +573,8 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
: index;
|
: index;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
title:
|
title: mainTopic['main_topic'] ??
|
||||||
mainTopic['main_topic'] ?? 'No Topic',
|
'No Topic',
|
||||||
childWidget: Container(
|
childWidget: Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -611,6 +613,7 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
: Center(
|
: Center(
|
||||||
child: Column(
|
child: Column(
|
||||||
@ -658,6 +661,8 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
)
|
)
|
||||||
: Padding(
|
: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Container(
|
||||||
|
margin: const EdgeInsets.all(13.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
@ -721,6 +726,7 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -100,6 +100,7 @@ class _EditProfileState extends ConsumerState<EditProfile> {
|
|||||||
dynamic recordId;
|
dynamic recordId;
|
||||||
dynamic collectionId;
|
dynamic collectionId;
|
||||||
dynamic role;
|
dynamic role;
|
||||||
|
late int isOAuthLogin;
|
||||||
|
|
||||||
bool _isHoveringDropdown = false;
|
bool _isHoveringDropdown = false;
|
||||||
bool _isHoveringPreferredLang = false;
|
bool _isHoveringPreferredLang = false;
|
||||||
@ -203,6 +204,7 @@ class _EditProfileState extends ConsumerState<EditProfile> {
|
|||||||
_usernameController.text = userDetailsResponse.data['uname'] ?? '';
|
_usernameController.text = userDetailsResponse.data['uname'] ?? '';
|
||||||
_emailController.text = userDetailsResponse.data['email'] ?? '';
|
_emailController.text = userDetailsResponse.data['email'] ?? '';
|
||||||
_fullNameController.text = userDetailsResponse.data['full_name'] ?? '';
|
_fullNameController.text = userDetailsResponse.data['full_name'] ?? '';
|
||||||
|
isOAuthLogin = userDetailsResponse.data['is_oauth_login'] ?? '';
|
||||||
// _selectedCountry = userDetailsResponse.data['country_region'] ?? '';
|
// _selectedCountry = userDetailsResponse.data['country_region'] ?? '';
|
||||||
|
|
||||||
final countryName =
|
final countryName =
|
||||||
@ -1412,6 +1414,7 @@ class _EditProfileState extends ConsumerState<EditProfile> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
if(isOAuthLogin != 1)
|
||||||
Center(
|
Center(
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
|||||||
@ -666,14 +666,14 @@ class _FeedbackFormState extends ConsumerState<FeedbackForm>
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
color: isDarkTheme ? Colors.black : Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
6.horizontalSpace,
|
6.horizontalSpace,
|
||||||
Icon(
|
Icon(
|
||||||
Icons.chevron_right_outlined,
|
Icons.chevron_right_outlined,
|
||||||
// color: Colors.white,
|
// color: Colors.white,
|
||||||
color: isDarkTheme ? Colors.black : Colors.white,
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -1231,8 +1231,16 @@ class LangToggle extends ConsumerWidget {
|
|||||||
},
|
},
|
||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,9 @@ import 'package:intl/intl.dart';
|
|||||||
import 'package:pocketbase/pocketbase.dart';
|
import 'package:pocketbase/pocketbase.dart';
|
||||||
import 'package:uae_stat/config/api_config.dart';
|
import 'package:uae_stat/config/api_config.dart';
|
||||||
import 'package:uae_stat/config/connectivity_provider.dart';
|
import 'package:uae_stat/config/connectivity_provider.dart';
|
||||||
|
import 'package:uae_stat/config/theme/app_theme.dart';
|
||||||
|
import 'package:uae_stat/config/theme/service.dart';
|
||||||
|
import 'package:uae_stat/config/theme/theme_provider.dart';
|
||||||
import 'package:uae_stat/config/toggle_lang_service.dart';
|
import 'package:uae_stat/config/toggle_lang_service.dart';
|
||||||
import 'package:uae_stat/domain/use_cases/language.dart';
|
import 'package:uae_stat/domain/use_cases/language.dart';
|
||||||
import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart';
|
import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart';
|
||||||
@ -15,7 +18,7 @@ import 'package:uae_stat/presentation/components/my_bottom_nav_bar.dart';
|
|||||||
import 'package:uae_stat/presentation/components/my_drawer.dart';
|
import 'package:uae_stat/presentation/components/my_drawer.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
|
|
||||||
class ManageUserRouter extends ConsumerStatefulWidget {
|
class ManageUserRouter extends ConsumerStatefulWidget {
|
||||||
late final Widget title;
|
late final Widget title;
|
||||||
@ -336,10 +339,51 @@ class _ManageUserRouterState extends ConsumerState<ManageUserRouter> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// ref.listen<Locale?>(localeProvider, (previous, next) async {
|
||||||
|
// final localeCode = next?.languageCode ?? 'en'; // Default to 'en' if null
|
||||||
|
// await _userService.updateLanguage(localeCode);
|
||||||
|
// });
|
||||||
|
|
||||||
ref.listen<Locale?>(localeProvider, (previous, next) async {
|
ref.listen<Locale?>(localeProvider, (previous, next) async {
|
||||||
final localeCode = next?.languageCode ?? 'en'; // Default to 'en' if null
|
final localeCode = next?.languageCode ?? 'en'; // Default to 'en' if null
|
||||||
await _userService.updateLanguage(localeCode);
|
setState(() {
|
||||||
|
isLoading = true;
|
||||||
});
|
});
|
||||||
|
await _userService.updateLanguage(localeCode);
|
||||||
|
|
||||||
|
final currentTheme = ref.read(themeProvider);
|
||||||
|
final isDark = currentTheme == ThemeMode.dark ||
|
||||||
|
(currentTheme == ThemeMode.system &&
|
||||||
|
MediaQuery.of(context).platformBrightness == Brightness.dark);
|
||||||
|
|
||||||
|
final themeString = isDark ? 'dark' : 'light';
|
||||||
|
fetchUnverifiedUsers();
|
||||||
|
// fetchBookmarks(localeCode, themeString);
|
||||||
|
});
|
||||||
|
|
||||||
|
ref.listen<ThemeMode>(themeProvider, (previous, next) async {
|
||||||
|
final localeCode = ref.watch(localeProvider)?.languageCode ?? 'en';
|
||||||
|
print(localeCode);
|
||||||
|
|
||||||
|
// Default to 'en' if null
|
||||||
|
setState(() {
|
||||||
|
isLoading = true;
|
||||||
|
print('isLoadingref $isLoading');
|
||||||
|
});
|
||||||
|
|
||||||
|
final currentTheme = ref.read(themeProvider);
|
||||||
|
final isDark = currentTheme == ThemeMode.dark ||
|
||||||
|
(currentTheme == ThemeMode.system &&
|
||||||
|
MediaQuery.of(context).platformBrightness == Brightness.dark);
|
||||||
|
|
||||||
|
final themeString = isDark ? 'dark' : 'light';
|
||||||
|
fetchUnverifiedUsers();
|
||||||
|
// fetchBookmarks(localeCode, themeString);
|
||||||
|
});
|
||||||
|
|
||||||
|
final isDarkTheme = ref.watch(themeProvider) == ThemeMode.dark ||
|
||||||
|
(ref.watch(themeProvider) == ThemeMode.system &&
|
||||||
|
MediaQuery.of(context).platformBrightness == Brightness.dark);
|
||||||
|
|
||||||
final Map<String, String> statusOptions = {
|
final Map<String, String> statusOptions = {
|
||||||
'Approved': AppLocalizations.of(context)!.approved,
|
'Approved': AppLocalizations.of(context)!.approved,
|
||||||
@ -356,6 +400,8 @@ class _ManageUserRouterState extends ConsumerState<ManageUserRouter> {
|
|||||||
context.go('/myhomepage'); // Show exit confirmation dialog
|
context.go('/myhomepage'); // Show exit confirmation dialog
|
||||||
},
|
},
|
||||||
child: BaseScaffold(
|
child: BaseScaffold(
|
||||||
|
backgroundColor: isDarkTheme ? Colors.black : Colors.white,
|
||||||
|
appbarColor: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
||||||
// title: Text("Manage User"),
|
// title: Text("Manage User"),
|
||||||
title: Text(
|
title: Text(
|
||||||
AppLocalizations.of(context)!.manage_user,
|
AppLocalizations.of(context)!.manage_user,
|
||||||
@ -391,81 +437,41 @@ class _ManageUserRouterState extends ConsumerState<ManageUserRouter> {
|
|||||||
const EdgeInsets.only(left: 10.0, right: 10.0, top: 3.0),
|
const EdgeInsets.only(left: 10.0, right: 10.0, top: 3.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
// TextField(
|
|
||||||
// decoration: InputDecoration(
|
|
||||||
// prefixIcon: const Icon(Icons.search),
|
|
||||||
// hintText: 'Search',
|
|
||||||
// border: OutlineInputBorder(
|
|
||||||
// borderRadius: BorderRadius.all(Radius.circular(20)),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// onChanged: filterUsers,
|
|
||||||
// ),
|
|
||||||
// Container(
|
|
||||||
// height: 40,
|
|
||||||
// decoration: BoxDecoration(
|
|
||||||
// color: Colors.white,
|
|
||||||
// borderRadius: BorderRadius.circular(30.0),
|
|
||||||
// border: Border.all(width: 2, color: Color(0xFFAA8E83)),
|
|
||||||
// ),
|
|
||||||
// child: TextField(
|
|
||||||
// decoration: InputDecoration(
|
|
||||||
// hintText: AppLocalizations.of(context)!.search,
|
|
||||||
// hintStyle: TextStyle(color: Color(0xFFC3C6CB)),
|
|
||||||
// prefixIcon: Image.asset(
|
|
||||||
// MiscIconAssetPath.search,
|
|
||||||
// width: 20,
|
|
||||||
// height: 20,
|
|
||||||
// ),
|
|
||||||
// // ,prefixIcon: Icon(
|
|
||||||
// // Icons.search,
|
|
||||||
// // color: Color(0xFFAA8E83),
|
|
||||||
// // ),
|
|
||||||
// border: InputBorder.none,
|
|
||||||
// contentPadding: EdgeInsets.symmetric(
|
|
||||||
// vertical: 15.0, horizontal: 20.0),
|
|
||||||
// ),
|
|
||||||
// onChanged: filterUsers,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
Container(
|
Container(
|
||||||
height: 40,
|
height: 40,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Colors.white,
|
color: isDarkTheme ? Color(0xFF000000) : Colors.white,
|
||||||
borderRadius: BorderRadius.circular(30.0),
|
borderRadius: BorderRadius.circular(5.0),
|
||||||
border:
|
border: Border.all(width: 2, color: Color(0xFFA0A0A0)),
|
||||||
Border.all(width: 1, color: Color(0xFFAA8E83)),
|
|
||||||
),
|
),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.only(left: 12.0),
|
padding: EdgeInsets.only(left: 5.0),
|
||||||
child: TextField(
|
child: TextField(
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
hintText: AppLocalizations.of(context)!.search,
|
hintText: AppLocalizations.of(context)!.search,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(
|
||||||
color: Color(0xFFAA8E83),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
fontFamily:
|
fontFamily: context.translate('Roboto', 'NotoKufi'),
|
||||||
context.translate('Roboto', 'NotoKufi'),
|
fontSize: 18,
|
||||||
fontSize: 14,
|
// height: 1.8,
|
||||||
height: 2.5, // Helps with vertical alignment
|
|
||||||
),
|
),
|
||||||
prefixIconConstraints: BoxConstraints(
|
prefixIconConstraints: BoxConstraints(
|
||||||
maxWidth: 42,
|
maxWidth: 42,
|
||||||
maxHeight: 42,
|
maxHeight: 42,
|
||||||
),
|
),
|
||||||
prefixIcon: Container(
|
prefixIcon: Container(
|
||||||
|
padding: EdgeInsets.only(right: 5, left: 5),
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
padding: EdgeInsets.only(left: 10, right: 5),
|
|
||||||
child: SvgPicture.asset(
|
child: SvgPicture.asset(
|
||||||
MiscIconAssetPath.Search,
|
MiscIconAssetPath.Search,
|
||||||
semanticsLabel: 'Search',
|
semanticsLabel: 'Search',
|
||||||
|
colorFilter: ColorFilter.mode(Color(0xFFAA8E83), BlendMode.srcIn),
|
||||||
height: 18,
|
height: 18,
|
||||||
width: 18,
|
width: 18,
|
||||||
colorFilter: ColorFilter.mode(
|
|
||||||
Color(0xFFAA8E83), BlendMode.srcIn),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
contentPadding: EdgeInsets.only(
|
// contentPadding: EdgeInsets.symmetric(vertical: 12, horizontal: 18.0),
|
||||||
top: 14), // Aligns hint text with icon
|
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
),
|
),
|
||||||
onChanged: filterUsers,
|
onChanged: filterUsers,
|
||||||
|
|||||||
@ -286,6 +286,34 @@ class _NotificationPageState extends ConsumerState<NotificationPage> {
|
|||||||
{'title': AppLocalizations.of(context)!.notificationFavourites},
|
{'title': AppLocalizations.of(context)!.notificationFavourites},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// final List<Map<String, dynamic>> tabs = [
|
||||||
|
// {
|
||||||
|
// 'title': AppLocalizations.of(context)!.all_updates,
|
||||||
|
// 'color': Colors.blue,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'title': AppLocalizations.of(context)!.app_updates,
|
||||||
|
// 'color': Colors.green,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'title': AppLocalizations.of(context)!.notificationSocial,
|
||||||
|
// 'color': Color(0xFF675863),
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'title': AppLocalizations.of(context)!.notificationEconomy,
|
||||||
|
// 'color': Color(0xFF89AFD8),
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'title': AppLocalizations.of(context)!.notificationEnvironment,
|
||||||
|
// 'color': Color(0xFFB3CF99),
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'title': AppLocalizations.of(context)!.notificationFavourites,
|
||||||
|
// 'color': Colors.red,
|
||||||
|
// },
|
||||||
|
// ];
|
||||||
|
|
||||||
|
|
||||||
// Filter notifications based on the selected tab
|
// Filter notifications based on the selected tab
|
||||||
List<Map<String, dynamic>> filteredNotifications = selectedTabIndex == 0
|
List<Map<String, dynamic>> filteredNotifications = selectedTabIndex == 0
|
||||||
? notifications
|
? notifications
|
||||||
@ -423,7 +451,7 @@ class TabBarHeader extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Container(
|
return Container(
|
||||||
color: isDarkTheme ? Color(0xFF111111) : Colors.grey[200],
|
color: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
||||||
padding: const EdgeInsets.symmetric(vertical: 8),
|
padding: const EdgeInsets.symmetric(vertical: 8),
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
scrollDirection: Axis.horizontal,
|
scrollDirection: Axis.horizontal,
|
||||||
@ -440,8 +468,8 @@ class TabBarHeader extends StatelessWidget {
|
|||||||
foregroundColor:
|
foregroundColor:
|
||||||
MaterialStateProperty.resolveWith((states) {
|
MaterialStateProperty.resolveWith((states) {
|
||||||
return selectedIndex == index
|
return selectedIndex == index
|
||||||
? Color(0xFF985400)
|
? isDarkTheme ? Color(0xFFFFFFFF) : Color(0xFFB68A34)
|
||||||
: Colors.grey[700];
|
: isDarkTheme ? Color(0xFFBBBBBB) : Color(0xFF898C81);
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
child: Text(
|
child: Text(
|
||||||
|
|||||||
@ -179,7 +179,7 @@ class _GetStartedState extends ConsumerState<GetStarted> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: 10),
|
// SizedBox(height: 10),
|
||||||
// SizedBox(
|
// SizedBox(
|
||||||
// width: MediaQuery.of(context).size.width,
|
// width: MediaQuery.of(context).size.width,
|
||||||
// height: MediaQuery.of(context).size.height * 0.36,
|
// height: MediaQuery.of(context).size.height * 0.36,
|
||||||
@ -188,7 +188,8 @@ class _GetStartedState extends ConsumerState<GetStarted> {
|
|||||||
// fit: BoxFit.contain,
|
// fit: BoxFit.contain,
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
Padding(padding: const EdgeInsets.all(30.0),
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(30.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@ -232,7 +233,8 @@ class _GetStartedState extends ConsumerState<GetStarted> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),)
|
),
|
||||||
|
)
|
||||||
// SizedBox(
|
// SizedBox(
|
||||||
// height: MediaQuery.of(context).size.height * 0.12,
|
// height: MediaQuery.of(context).size.height * 0.12,
|
||||||
// ),
|
// ),
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import 'package:uae_stat/presentation/components/indicators/locale_provider.dart
|
|||||||
import '../../../../../../infrastructure/services/img_asset_paths/banner_asset_path.dart';
|
import '../../../../../../infrastructure/services/img_asset_paths/banner_asset_path.dart';
|
||||||
import '../../../custom_drawer_routes.dart';
|
import '../../../custom_drawer_routes.dart';
|
||||||
|
|
||||||
|
|
||||||
class AppFeatures extends ConsumerStatefulWidget {
|
class AppFeatures extends ConsumerStatefulWidget {
|
||||||
const AppFeatures({super.key});
|
const AppFeatures({super.key});
|
||||||
|
|
||||||
@ -176,7 +175,7 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: 20,),
|
// SizedBox(height: 20,),
|
||||||
// SizedBox(
|
// SizedBox(
|
||||||
// width: MediaQuery.of(context).size.width,
|
// width: MediaQuery.of(context).size.width,
|
||||||
// height: MediaQuery.of(context).size.height * 0.36,
|
// height: MediaQuery.of(context).size.height * 0.36,
|
||||||
@ -185,7 +184,8 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
// fit: BoxFit.contain,
|
// fit: BoxFit.contain,
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
Padding(padding: const EdgeInsets.all(30.0),
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(30.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@ -215,10 +215,13 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Colors.black,
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Colors.black,
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -239,7 +242,8 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
children: <TextSpan>[
|
children: <TextSpan>[
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate(
|
text: context.translate(
|
||||||
'Economy, Environment, Social, ', ''),
|
'Economy, Environment, Social, ',
|
||||||
|
''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -252,7 +256,8 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate('and more.', ''),
|
text: context.translate(
|
||||||
|
'and more.', ''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
? Colors.white
|
? Colors.white
|
||||||
@ -283,14 +288,16 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Explore statistics presented as smart metrics, graphs, and charts for better understanding.',
|
'Explore statistics presented as smart metrics, graphs, and charts for better understanding.',
|
||||||
'استكشاف الإحصائيات المقدمة على هيئة مقاييس ذكية ورسوم بيانية ومخططات لتعزيز الفهم.',
|
'استكشاف الإحصائيات المقدمة على هيئة مقاييس ذكية ورسوم بيانية ومخططات لتعزيز الفهم.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -336,14 +343,16 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Start with high-level categories and drill down to specific KPIs and metrics for deeper insights.',
|
'Start with high-level categories and drill down to specific KPIs and metrics for deeper insights.',
|
||||||
'البدء بالفئات العامة والتنقل وصولًا إلى مؤشرات الأداء الرئيسية (KPIs) والمقاييس المحددة للحصول على رؤى أعمق.',
|
'البدء بالفئات العامة والتنقل وصولًا إلى مؤشرات الأداء الرئيسية (KPIs) والمقاييس المحددة للحصول على رؤى أعمق.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -389,14 +398,16 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'View trends and relationships with interactive graphs and charts, including bar graphs, line charts, and more.',
|
'View trends and relationships with interactive graphs and charts, including bar graphs, line charts, and more.',
|
||||||
'عرض الاتجاهات والعلاقات باستخدام الرسوم البيانية التفاعلية مثل المخططات الشريطية، المخططات الخطية، وغيرها.',
|
'عرض الاتجاهات والعلاقات باستخدام الرسوم البيانية التفاعلية مثل المخططات الشريطية، المخططات الخطية، وغيرها.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -451,7 +462,8 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
'Available only to registered users whose accounts have been approved by an admin.',
|
'Available only to registered users whose accounts have been approved by an admin.',
|
||||||
'متاح فقط للمستخدمين المسجلين الذين تمت الموافقة على حساباتهم من قبل المسؤول.',
|
'متاح فقط للمستخدمين المسجلين الذين تمت الموافقة على حساباتهم من قبل المسؤول.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -460,8 +472,6 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
), // Space between bullet and text
|
), // Space between bullet and text
|
||||||
|
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Row(
|
Row(
|
||||||
@ -477,14 +487,16 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Login ensures secure access to sensitive statistical information.',
|
'Login ensures secure access to sensitive statistical information.',
|
||||||
'يضمن تسجيل الدخول الوصول الآمن إلى المعلومات الإحصائية الحساسة.',
|
'يضمن تسجيل الدخول الوصول الآمن إلى المعلومات الإحصائية الحساسة.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -539,7 +551,8 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
'Update your profile details, such as name, password, and region, to personalize your experience.',
|
'Update your profile details, such as name, password, and region, to personalize your experience.',
|
||||||
'قم بتحديث تفاصيل ملفك الشخصي، مثل الاسم وكلمة المرور والمنطقة، لتخصيص تجربتك.',
|
'قم بتحديث تفاصيل ملفك الشخصي، مثل الاسم وكلمة المرور والمنطقة، لتخصيص تجربتك.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -554,7 +567,8 @@ class _AppFeaturesState extends ConsumerState<AppFeatures> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),)
|
),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -182,16 +182,12 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(
|
// SizedBox(
|
||||||
height: 20,
|
// height: 20,
|
||||||
// width: MediaQuery.of(context).size.width,
|
//
|
||||||
// height: MediaQuery.of(context).size.height * 0.36,
|
|
||||||
// child: Image.asset(
|
|
||||||
// 'assets/user_guide/changePassword.png',
|
|
||||||
// fit: BoxFit.contain,
|
|
||||||
// ),
|
// ),
|
||||||
),
|
Padding(
|
||||||
Padding(padding: const EdgeInsets.all(30.0),
|
padding: const EdgeInsets.all(30.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@ -201,12 +197,13 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
'يُساعد تغيير كلمة المرور في الحفاظ على أمان حسابك. اتبع هذه الخطوات لتحديث كلمة مرور',
|
'يُساعد تغيير كلمة المرور في الحفاظ على أمان حسابك. اتبع هذه الخطوات لتحديث كلمة مرور',
|
||||||
),
|
),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
color:
|
||||||
|
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
SizedBox(height: 12),
|
SizedBox(height: 12),
|
||||||
Text(
|
Text(
|
||||||
context.translate(
|
context.translate('Steps to Change Password',
|
||||||
'Steps to Change Password', 'خطوات تغيير كلمة المرور '),
|
'خطوات تغيير كلمة المرور '),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
@ -251,7 +248,8 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -340,7 +338,8 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
@ -352,7 +351,8 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
? Colors.white
|
? Colors.white
|
||||||
: Color(0xFF898C81),
|
: Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -395,14 +395,16 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Enter your new password in the second field.',
|
'Enter your new password in the second field.',
|
||||||
'أدخل كلمة المرور الجديدة في الحقل الثاني.',
|
'أدخل كلمة المرور الجديدة في الحقل الثاني.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -426,14 +428,16 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Re-enter the new password in the third field for confirmation.',
|
'Re-enter the new password in the third field for confirmation.',
|
||||||
'أعد إدخال كلمة المرور الجديدة في الحقل الثالث للتأكيد.',
|
'أعد إدخال كلمة المرور الجديدة في الحقل الثالث للتأكيد.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -481,14 +485,16 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Your new password must be different from the previously used password.',
|
'Your new password must be different from the previously used password.',
|
||||||
'جب أن تكون كلمة المرور الجديدة مختلفة عن كلمة المرور المستخدمة سابقًا',
|
'جب أن تكون كلمة المرور الجديدة مختلفة عن كلمة المرور المستخدمة سابقًا',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -534,7 +540,8 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -553,7 +560,8 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
),
|
),
|
||||||
children: <TextSpan>[
|
children: <TextSpan>[
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate('Save ', '"حفظ".'),
|
text: context.translate(
|
||||||
|
'Save ', '"حفظ".'),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -592,14 +600,16 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'A confirmation message will appear: “Password has been successfully updated.”',
|
'A confirmation message will appear: “Password has been successfully updated.”',
|
||||||
'ستظهر رسالة تأكيد: "تم تحديث كلمة المرور بنجاح".',
|
'ستظهر رسالة تأكيد: "تم تحديث كلمة المرور بنجاح".',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -615,7 +625,8 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
),
|
),
|
||||||
SizedBox(height: 8),
|
SizedBox(height: 8),
|
||||||
Text(
|
Text(
|
||||||
context.translate('6. Re-Login:', '6. إعادة تسجيل الدخول'),
|
context.translate(
|
||||||
|
'6. Re-Login:', '6. إعادة تسجيل الدخول'),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
@ -644,14 +655,16 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Log in again using your new password to continue using the app',
|
'Log in again using your new password to continue using the app',
|
||||||
'قم بتسجيل الدخول مرة أخرى باستخدام كلمة المرور الجديدة للاستمرار في استخدام التطبيق.',
|
'قم بتسجيل الدخول مرة أخرى باستخدام كلمة المرور الجديدة للاستمرار في استخدام التطبيق.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -666,7 +679,8 @@ class _ChangeMyPasswordState extends ConsumerState<ChangeMyPassword> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),)
|
),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -180,16 +180,11 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(
|
// SizedBox(
|
||||||
height: 10,
|
// height: 10,
|
||||||
// width: MediaQuery.of(context).size.width,
|
|
||||||
// height: MediaQuery.of(context).size.height * 0.36,
|
|
||||||
// child: Image.asset(
|
|
||||||
// 'assets/user_guide/editProfile.png',
|
|
||||||
// fit: BoxFit.contain,
|
|
||||||
// ),
|
// ),
|
||||||
),
|
Padding(
|
||||||
Padding(padding: const EdgeInsets.all(30.0),
|
padding: const EdgeInsets.all(30.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@ -199,12 +194,13 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
'يتيح لك تعديل ملف التعريف الخاص بك بتحديث معلومات معينة مع ضمان أن تبقى البيانات الحساسة آمنة. اتبع الخطوات التالية لتحديث ملفك الشخصي:',
|
'يتيح لك تعديل ملف التعريف الخاص بك بتحديث معلومات معينة مع ضمان أن تبقى البيانات الحساسة آمنة. اتبع الخطوات التالية لتحديث ملفك الشخصي:',
|
||||||
),
|
),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
color:
|
||||||
|
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
SizedBox(height: 12),
|
SizedBox(height: 12),
|
||||||
Text(
|
Text(
|
||||||
context.translate(
|
context.translate('Steps to Edit Profile',
|
||||||
'Steps to Edit Profile', 'خطوات تعديل الملف الشخصي '),
|
'خطوات تعديل الملف الشخصي '),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
@ -249,7 +245,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -267,7 +264,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
children: <TextSpan>[
|
children: <TextSpan>[
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate('"Profile"', ''),
|
text:
|
||||||
|
context.translate('"Profile"', ''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -293,8 +291,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
SizedBox(height: 8),
|
SizedBox(height: 8),
|
||||||
Text(
|
Text(
|
||||||
context.translate(
|
context.translate('2. Editable Fields:',
|
||||||
'2. Editable Fields:', '2. الحقول القابلة للتعديل:'),
|
'2. الحقول القابلة للتعديل:'),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
@ -318,10 +316,13 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Colors.black,
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Colors.black,
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -373,10 +374,13 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Colors.black,
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Colors.black,
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -393,7 +397,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
children: <TextSpan>[
|
children: <TextSpan>[
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate(
|
text: context.translate(
|
||||||
'Date of Birth: ', 'تاريخ الميلاد: '),
|
'Date of Birth: ',
|
||||||
|
'تاريخ الميلاد: '),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -429,10 +434,13 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Colors.black,
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Colors.black,
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -486,10 +494,12 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
padding: const EdgeInsets.only(top: 8.0),
|
padding: const EdgeInsets.only(top: 8.0),
|
||||||
child: Icon(Icons.brightness_1,
|
child: Icon(Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Colors.black),
|
? Colors.white
|
||||||
|
: Colors.black),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -562,10 +572,12 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
padding: const EdgeInsets.only(top: 8.0),
|
padding: const EdgeInsets.only(top: 8.0),
|
||||||
child: Icon(Icons.brightness_1,
|
child: Icon(Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Colors.black),
|
? Colors.white
|
||||||
|
: Colors.black),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -604,7 +616,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate('Email Id: ', ''),
|
text: context.translate(
|
||||||
|
'Email Id: ', ''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -661,17 +674,21 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Colors.black,
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Colors.black,
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'Ensure that the checkbox for "I agree to Terms & Conditions and Privacy Policy" is selected before saving changes.',
|
'Ensure that the checkbox for "I agree to Terms & Conditions and Privacy Policy" is selected before saving changes.',
|
||||||
'تأكد من تحديد خانة "أوافق على الشروط والأحكام وسياسة الخصوصية" قبل حفظ التغييرات.',
|
'تأكد من تحديد خانة "أوافق على الشروط والأحكام وسياسة الخصوصية" قبل حفظ التغييرات.',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -716,7 +733,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -734,7 +752,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
children: <TextSpan>[
|
children: <TextSpan>[
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate('Save', '"حفظ" '),
|
text: context.translate(
|
||||||
|
'Save', '"حفظ" '),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -776,14 +795,16 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
context.translate(
|
context.translate(
|
||||||
'A confirmation dialog will appear with the message: “Are you sure you want to save this page? Once saved, you will not be able to change your name or date of birth.”',
|
'A confirmation dialog will appear with the message: “Are you sure you want to save this page? Once saved, you will not be able to change your name or date of birth.”',
|
||||||
'ستظهر نافذة تأكيد برسالة:"هل أنت متأكد أنك تريد حفظ هذه الصفحة؟ بمجرد الحفظ، لن تتمكن من تغيير اسمك أو تاريخ ميلادك."',
|
'ستظهر نافذة تأكيد برسالة:"هل أنت متأكد أنك تريد حفظ هذه الصفحة؟ بمجرد الحفظ، لن تتمكن من تغيير اسمك أو تاريخ ميلادك."',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign:
|
||||||
|
TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -807,7 +828,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
: Color(0xFF414042),
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(
|
||||||
|
width: 8), // Space between bullet and text
|
||||||
Expanded(
|
Expanded(
|
||||||
child: RichText(
|
child: RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
@ -825,7 +847,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
children: <TextSpan>[
|
children: <TextSpan>[
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate('Confirm', ''),
|
text:
|
||||||
|
context.translate('Confirm', ''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -852,7 +875,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate(' Cancel', ''),
|
text:
|
||||||
|
context.translate(' Cancel', ''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -865,7 +889,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate(' to go back.', ''),
|
text: context.translate(
|
||||||
|
' to go back.', ''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -887,8 +912,8 @@ class _EditMyProfileState extends ConsumerState<EditMyProfile> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),)
|
),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -8,7 +8,8 @@ import 'package:uae_stat/config/theme/theme_provider.dart';
|
|||||||
import 'package:uae_stat/config/toggle_lang_service.dart';
|
import 'package:uae_stat/config/toggle_lang_service.dart';
|
||||||
import 'package:uae_stat/domain/use_cases/language.dart';
|
import 'package:uae_stat/domain/use_cases/language.dart';
|
||||||
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
|
|
||||||
@ -182,15 +183,9 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(
|
// SizedBox(
|
||||||
height:10,
|
// height: 10,
|
||||||
// width: MediaQuery.of(context).size.width,
|
|
||||||
// height: MediaQuery.of(context).size.height * 0.36,
|
|
||||||
// child: Image.asset(
|
|
||||||
// 'assets/user_guide/howUse.png',
|
|
||||||
// fit: BoxFit.contain,
|
|
||||||
// ),
|
// ),
|
||||||
),
|
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(30.0),
|
padding: const EdgeInsets.all(30.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
@ -220,7 +215,9 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -233,8 +230,9 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -264,7 +262,9 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -277,8 +277,9 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -308,7 +309,9 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -321,8 +324,9 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -352,7 +356,9 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -365,14 +371,16 @@ class _HowUseTheAppState extends ConsumerState<HowUseTheApp> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),)
|
),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -11,7 +11,8 @@ import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Countr
|
|||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
|
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
|
|
||||||
class Purpose extends ConsumerStatefulWidget {
|
class Purpose extends ConsumerStatefulWidget {
|
||||||
const Purpose({super.key});
|
const Purpose({super.key});
|
||||||
@ -182,16 +183,12 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(
|
// SizedBox(
|
||||||
height: 10,
|
// height: 10,
|
||||||
// width: MediaQuery.of(context).size.width,
|
//
|
||||||
// height: MediaQuery.of(context).size.height * 0.36,
|
|
||||||
// child: Image.asset(
|
|
||||||
// 'assets/user_guide/purpose.png',
|
|
||||||
// fit: BoxFit.contain,
|
|
||||||
// ),
|
// ),
|
||||||
),
|
Padding(
|
||||||
Padding(padding: const EdgeInsets.all(30.0),
|
padding: const EdgeInsets.all(30.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@ -203,7 +200,9 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -215,8 +214,9 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
'توفير الإحصائيات الرسمية لدولة الإمارات بشكل سهل الوصول.',
|
'توفير الإحصائيات الرسمية لدولة الإمارات بشكل سهل الوصول.',
|
||||||
),
|
),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81),
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
@ -225,8 +225,8 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
),
|
),
|
||||||
children: <TextSpan>[
|
children: <TextSpan>[
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text:
|
text: context.translate(
|
||||||
context.translate('official statistics ', ''),
|
'official statistics ', ''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
@ -240,7 +240,8 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: context.translate(
|
text: context.translate(
|
||||||
'on the UAE in an accessible format.', ''),
|
'on the UAE in an accessible format.',
|
||||||
|
''),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme
|
color: isDarkTheme
|
||||||
? Colors.white
|
? Colors.white
|
||||||
@ -260,7 +261,9 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -273,8 +276,9 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -287,7 +291,9 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -300,15 +306,16 @@ class _PurposeState extends ConsumerState<Purpose> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),)
|
),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -10,7 +10,8 @@ import 'package:uae_stat/domain/use_cases/language.dart';
|
|||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
|
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
|
|
||||||
class StayUpdate extends ConsumerStatefulWidget {
|
class StayUpdate extends ConsumerStatefulWidget {
|
||||||
const StayUpdate({super.key});
|
const StayUpdate({super.key});
|
||||||
@ -179,15 +180,9 @@ class _StayUpdateState extends ConsumerState<StayUpdate> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(
|
// SizedBox(
|
||||||
height: 10,
|
// height: 10,
|
||||||
// width: MediaQuery.of(context).size.width,
|
|
||||||
// height: MediaQuery.of(context).size.height * 0.36,
|
|
||||||
// child: Image.asset(
|
|
||||||
// 'assets/user_guide/stayUpdate.png',
|
|
||||||
// fit: BoxFit.contain,
|
|
||||||
// ),
|
// ),
|
||||||
),
|
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(30),
|
padding: const EdgeInsets.all(30),
|
||||||
child: Row(
|
child: Row(
|
||||||
@ -211,14 +206,14 @@ class _StayUpdateState extends ConsumerState<StayUpdate> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -10,7 +10,8 @@ import 'package:uae_stat/domain/use_cases/language.dart';
|
|||||||
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
|
|
||||||
class WhoUseTheApp extends ConsumerStatefulWidget {
|
class WhoUseTheApp extends ConsumerStatefulWidget {
|
||||||
const WhoUseTheApp({super.key});
|
const WhoUseTheApp({super.key});
|
||||||
@ -181,7 +182,7 @@ class _WhoUseTheAppState extends ConsumerState<WhoUseTheApp> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: 10),
|
// SizedBox(height: 10),
|
||||||
// SizedBox(
|
// SizedBox(
|
||||||
// width: MediaQuery.of(context).size.width,
|
// width: MediaQuery.of(context).size.width,
|
||||||
// height: MediaQuery.of(context).size.height * 0.36,
|
// height: MediaQuery.of(context).size.height * 0.36,
|
||||||
@ -217,7 +218,9 @@ class _WhoUseTheAppState extends ConsumerState<WhoUseTheApp> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -230,8 +233,9 @@ class _WhoUseTheAppState extends ConsumerState<WhoUseTheApp> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -244,7 +248,9 @@ class _WhoUseTheAppState extends ConsumerState<WhoUseTheApp> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -257,8 +263,9 @@ class _WhoUseTheAppState extends ConsumerState<WhoUseTheApp> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -271,7 +278,9 @@ class _WhoUseTheAppState extends ConsumerState<WhoUseTheApp> {
|
|||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.brightness_1,
|
Icons.brightness_1,
|
||||||
size: 5,
|
size: 5,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme
|
||||||
|
? Colors.white
|
||||||
|
: Color(0xFF414042),
|
||||||
),
|
),
|
||||||
), // Bullet point
|
), // Bullet point
|
||||||
SizedBox(width: 8), // Space between bullet and text
|
SizedBox(width: 8), // Space between bullet and text
|
||||||
@ -284,15 +293,16 @@ class _WhoUseTheAppState extends ConsumerState<WhoUseTheApp> {
|
|||||||
textAlign: TextAlign.justify, // Align the text
|
textAlign: TextAlign.justify, // Align the text
|
||||||
softWrap: true,
|
softWrap: true,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color: isDarkTheme
|
||||||
isDarkTheme ? Colors.white : Color(0xFF898C81)),
|
? Colors.white
|
||||||
|
: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),)
|
),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -11,8 +11,8 @@ import 'package:uae_stat/domain/use_cases/language.dart';
|
|||||||
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
|
|
||||||
class aboutTheApp extends ConsumerStatefulWidget {
|
class aboutTheApp extends ConsumerStatefulWidget {
|
||||||
const aboutTheApp({super.key});
|
const aboutTheApp({super.key});
|
||||||
@ -149,7 +149,7 @@ class _aboutTheAppState extends ConsumerState<aboutTheApp> {
|
|||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: Border(
|
border: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.grey.shade300,
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFFDEDEDE),
|
||||||
width: 0.5,
|
width: 0.5,
|
||||||
), // Grey bottom line
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
@ -173,7 +173,13 @@ class _aboutTheAppState extends ConsumerState<aboutTheApp> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
|
),
|
||||||
|
shape: Border(
|
||||||
|
bottom: BorderSide(
|
||||||
|
color: Color(0xFFDEDEDE),
|
||||||
|
width: 1,
|
||||||
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -181,7 +187,7 @@ class _aboutTheAppState extends ConsumerState<aboutTheApp> {
|
|||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: Border(
|
border: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.grey.shade300,
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFFDEDEDE),
|
||||||
width: 0.5,
|
width: 0.5,
|
||||||
), // Grey bottom line
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
@ -205,12 +211,12 @@ class _aboutTheAppState extends ConsumerState<aboutTheApp> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
shape: Border(
|
shape: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.black,
|
color: Color(0xFFDEDEDE),
|
||||||
width: 3,
|
width: 1,
|
||||||
), // Grey bottom line
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -10,8 +10,8 @@ import 'package:uae_stat/domain/use_cases/language.dart';
|
|||||||
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
|
|
||||||
class FAQPage extends ConsumerStatefulWidget {
|
class FAQPage extends ConsumerStatefulWidget {
|
||||||
const FAQPage({super.key});
|
const FAQPage({super.key});
|
||||||
@ -119,6 +119,7 @@ class _FAQPageState extends ConsumerState<FAQPage> {
|
|||||||
|
|
||||||
return BaseScaffold(
|
return BaseScaffold(
|
||||||
dividerColor: Colors.grey[300],
|
dividerColor: Colors.grey[300],
|
||||||
|
showDivider: true,
|
||||||
showBackButton: true,
|
showBackButton: true,
|
||||||
// appbarColor: Colors.white,
|
// appbarColor: Colors.white,
|
||||||
backgroundColor: isDarkTheme ? Colors.black : Colors.white,
|
backgroundColor: isDarkTheme ? Colors.black : Colors.white,
|
||||||
@ -935,7 +936,8 @@ class _QuestionAnswerCardState extends State<QuestionAnswerCard> {
|
|||||||
trailing: Icon(isExpanded
|
trailing: Icon(isExpanded
|
||||||
? Icons.keyboard_arrow_up
|
? Icons.keyboard_arrow_up
|
||||||
: Icons.keyboard_arrow_down),
|
: Icons.keyboard_arrow_down),
|
||||||
iconColor: widget.isDarkTheme ? Colors.white : Color(0xFF898C81),
|
iconColor:
|
||||||
|
widget.isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
setState(() {
|
setState(() {
|
||||||
isExpanded = !isExpanded;
|
isExpanded = !isExpanded;
|
||||||
|
|||||||
@ -11,7 +11,8 @@ import 'package:uae_stat/domain/use_cases/language.dart';
|
|||||||
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
import 'package:uae_stat/infrastructure/services/img_asset_paths/banner_asset_path.dart';
|
import 'package:uae_stat/infrastructure/services/img_asset_paths/banner_asset_path.dart';
|
||||||
|
|
||||||
class UsingFeatures extends ConsumerStatefulWidget {
|
class UsingFeatures extends ConsumerStatefulWidget {
|
||||||
@ -173,7 +174,13 @@ class _UsingFeaturesState extends ConsumerState<UsingFeatures> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
|
),
|
||||||
|
shape: Border(
|
||||||
|
bottom: BorderSide(
|
||||||
|
color: Color(0xFFDEDEDE),
|
||||||
|
width: 1,
|
||||||
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -205,11 +212,13 @@ class _UsingFeaturesState extends ConsumerState<UsingFeatures> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
shape: Border(
|
shape: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.black, width: 3), // Grey bottom line
|
color: Color(0xFFDEDEDE),
|
||||||
|
width: 1,
|
||||||
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -240,11 +249,13 @@ class _UsingFeaturesState extends ConsumerState<UsingFeatures> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
shape: Border(
|
shape: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.black, width: 3), // Grey bottom line
|
color: Color(0xFFDEDEDE),
|
||||||
|
width: 1,
|
||||||
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -276,11 +287,13 @@ class _UsingFeaturesState extends ConsumerState<UsingFeatures> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
shape: Border(
|
shape: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.black, width: 3), // Grey bottom line
|
color: Color(0xFFDEDEDE),
|
||||||
|
width: 1,
|
||||||
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -311,11 +324,13 @@ class _UsingFeaturesState extends ConsumerState<UsingFeatures> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
shape: Border(
|
shape: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.black, width: 3), // Grey bottom line
|
color: Color(0xFFDEDEDE),
|
||||||
|
width: 1,
|
||||||
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -347,11 +362,13 @@ class _UsingFeaturesState extends ConsumerState<UsingFeatures> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
shape: Border(
|
shape: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.black, width: 3), // Grey bottom line
|
color: Color(0xFFDEDEDE),
|
||||||
|
width: 1,
|
||||||
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -383,11 +400,13 @@ class _UsingFeaturesState extends ConsumerState<UsingFeatures> {
|
|||||||
),
|
),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.keyboard_arrow_right,
|
Icons.keyboard_arrow_right,
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042),
|
color: isDarkTheme ? Color(0xFF898C81) : Color(0xFF898C81),
|
||||||
),
|
),
|
||||||
shape: Border(
|
shape: Border(
|
||||||
bottom: BorderSide(
|
bottom: BorderSide(
|
||||||
color: Colors.black, width: 3), // Grey bottom line
|
color: Color(0xFFDEDEDE),
|
||||||
|
width: 1,
|
||||||
|
), // Grey bottom line
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -4,12 +4,13 @@ import 'package:go_router/go_router.dart';
|
|||||||
import 'package:uae_stat/config/theme/theme_provider.dart';
|
import 'package:uae_stat/config/theme/theme_provider.dart';
|
||||||
import 'package:uae_stat/config/toggle_lang_service.dart';
|
import 'package:uae_stat/config/toggle_lang_service.dart';
|
||||||
import 'package:uae_stat/domain/use_cases/language.dart';
|
import 'package:uae_stat/domain/use_cases/language.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
// import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
// import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
import 'package:iconify_design/iconify_design.dart';
|
import 'package:iconify_design/iconify_design.dart';
|
||||||
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
// import 'package:uae_stat/l10n/app_localizations.dart';
|
// import 'package:uae_stat/l10n/app_localizations.dart';
|
||||||
|
|
||||||
class Userguide extends ConsumerStatefulWidget {
|
class Userguide extends ConsumerStatefulWidget {
|
||||||
@ -34,9 +35,9 @@ class _UserguideState extends ConsumerState<Userguide> {
|
|||||||
{
|
{
|
||||||
'routePath': 'features',
|
'routePath': 'features',
|
||||||
'color': Color(0xFFAA8E83),
|
'color': Color(0xFFAA8E83),
|
||||||
'text': 'Features',
|
'text': 'Key Features',
|
||||||
'icon': 'pajamas:issue-type-feature',
|
'icon': 'pajamas:issue-type-feature',
|
||||||
'text-ar': 'الميزات'
|
'text-ar': 'الميزات الرئيسية'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'routePath': 'faq',
|
'routePath': 'faq',
|
||||||
@ -52,7 +53,6 @@ class _UserguideState extends ConsumerState<Userguide> {
|
|||||||
initState() {
|
initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
print('123456789');
|
print('123456789');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -107,14 +107,12 @@ class _UserguideState extends ConsumerState<Userguide> {
|
|||||||
child: BaseScaffold(
|
child: BaseScaffold(
|
||||||
showDivider: true,
|
showDivider: true,
|
||||||
bottomColor: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
bottomColor: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
||||||
dividerColor: isDarkTheme ? Color(0xFF111111) : Colors.grey[300],
|
// dividerColor: isDarkTheme ? Color(0xFF111111) : Colors.grey[300],
|
||||||
|
dividerColor: isDarkTheme ? Colors.grey : Colors.grey[300],
|
||||||
appbarColor: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
appbarColor: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
||||||
title: Text(
|
title: Text(AppLocalizations.of(context)!.guide_title,
|
||||||
AppLocalizations.of(context)!.guide_title,
|
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: isDarkTheme ? Colors.white : Color(0xFF414042)
|
color: isDarkTheme ? Colors.white : Color(0xFF414042))),
|
||||||
)
|
|
||||||
),
|
|
||||||
body: Container(
|
body: Container(
|
||||||
color: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
color: isDarkTheme ? Color(0xFF111111) : Colors.white,
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20),
|
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20),
|
||||||
|
|||||||
@ -713,7 +713,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
print('NAVuserDetails: $userDetailsResponse');
|
print('NAVuserDetails: $userDetailsResponse');
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
userName = userDetailsResponse.data['uname'] ?? '';
|
userName = userDetailsResponse.data['full_name'] ?? '';
|
||||||
userEmail = userDetailsResponse.data['email'] ?? '';
|
userEmail = userDetailsResponse.data['email'] ?? '';
|
||||||
userAvatar = userDetailsResponse.data['avatar'] ?? '';
|
userAvatar = userDetailsResponse.data['avatar'] ?? '';
|
||||||
role = userDetailsResponse.data['role'] ?? '';
|
role = userDetailsResponse.data['role'] ?? '';
|
||||||
@ -973,7 +973,8 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
: Alignment.centerLeft,
|
: Alignment.centerLeft,
|
||||||
child: DefaultTextStyle(
|
child: DefaultTextStyle(
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: widget.colorChange ? Colors.white : Color(0xFFFFFFFF),
|
color: isDarkTheme ? Colors.white : Colors.black,
|
||||||
|
// color: widget.colorChange ? Colors.white : Color(0xFFFFFFFF),
|
||||||
fontSize: 22,
|
fontSize: 22,
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
@ -1041,8 +1042,16 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
isOn: locale?.languageCode == 'en',
|
isOn: locale?.languageCode == 'en',
|
||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
ref.read(localeProvider.notifier).toggleLocale();
|
ref.read(localeProvider.notifier).toggleLocale();
|
||||||
},
|
},
|
||||||
@ -1068,7 +1077,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
// : widget.colorChange
|
// : widget.colorChange
|
||||||
// ? Colors.white
|
// ? Colors.white
|
||||||
// : Colors.black,
|
// : Colors.black,
|
||||||
color: Colors.grey,
|
color: isDarkTheme ? Colors.white : Colors.black,
|
||||||
icon: const Icon(Icons.arrow_back_ios_new, size: 24),
|
icon: const Icon(Icons.arrow_back_ios_new, size: 24),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (widget.navBackArrow is Text &&
|
if (widget.navBackArrow is Text &&
|
||||||
@ -1093,7 +1102,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
padding: EdgeInsets.zero,
|
padding: EdgeInsets.zero,
|
||||||
constraints: BoxConstraints(),
|
constraints: BoxConstraints(),
|
||||||
key: drawerKey,
|
key: drawerKey,
|
||||||
color: isDarkTheme ? Colors.white : Colors.black,
|
color: isDarkTheme ? Colors.white : Color(0xFF000000),
|
||||||
icon: const Icon(Icons.menu, size: 30),
|
icon: const Icon(Icons.menu, size: 30),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Scaffold.of(context).openDrawer();
|
Scaffold.of(context).openDrawer();
|
||||||
@ -1387,7 +1396,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
onTap: () => _showLogoutConfirmationDialog(context),
|
onTap: () => _showLogoutConfirmationDialog(context,isDarkTheme),
|
||||||
),
|
),
|
||||||
if (userId == 'guest')
|
if (userId == 'guest')
|
||||||
ListTile(
|
ListTile(
|
||||||
@ -1477,22 +1486,22 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
])),
|
])),
|
||||||
bottomNavigationBar: Stack(
|
bottomNavigationBar: Stack(
|
||||||
children: [
|
children: [
|
||||||
if (isDarkTheme)
|
// if (isDarkTheme)
|
||||||
Positioned(
|
// Positioned(
|
||||||
bottom: 0,
|
// bottom: 0,
|
||||||
left: 0,
|
// left: 0,
|
||||||
right: 0,
|
// right: 0,
|
||||||
child: Container(
|
// child: Container(
|
||||||
height: kBottomNavigationBarHeight + 0, // Adjust as needed
|
// height: kBottomNavigationBarHeight + 0, // Adjust as needed
|
||||||
decoration: BoxDecoration(
|
// decoration: BoxDecoration(
|
||||||
image: DecorationImage(
|
// image: DecorationImage(
|
||||||
image: AssetImage(
|
// image: AssetImage(
|
||||||
'assets/dark_bg.png'), // your dark mode image
|
// 'assets/dark_bg.png'), // your dark mode image
|
||||||
fit: BoxFit.cover,
|
// fit: BoxFit.cover,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
BottomNavigationBar(
|
BottomNavigationBar(
|
||||||
backgroundColor: isDarkTheme ? Color(0xFF000000) : Colors.white,
|
backgroundColor: isDarkTheme ? Color(0xFF000000) : Colors.white,
|
||||||
currentIndex: _getSelectedIndex(currentRoute),
|
currentIndex: _getSelectedIndex(currentRoute),
|
||||||
@ -1506,7 +1515,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
BottomBarAssetIconPath.home,
|
BottomBarAssetIconPath.home,
|
||||||
color: _getSelectedIndex(currentRoute) == 0
|
color: _getSelectedIndex(currentRoute) == 0
|
||||||
? (isDarkTheme ? Color(0xFF24B4FB) : Colors.black)
|
? (isDarkTheme ? Color(0xFFFFFFFF) : Colors.black)
|
||||||
: Color(0xFF989898),
|
: Color(0xFF989898),
|
||||||
width: 23.98,
|
width: 23.98,
|
||||||
height: 25,
|
height: 25,
|
||||||
@ -1523,7 +1532,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
BottomBarAssetIconPath.uaeMap,
|
BottomBarAssetIconPath.uaeMap,
|
||||||
color: _getSelectedIndex(currentRoute) == 1
|
color: _getSelectedIndex(currentRoute) == 1
|
||||||
? (isDarkTheme ? Color(0xFF24B4FB) : Colors.black)
|
? (isDarkTheme ? Color(0xFFFFFFFF) : Colors.black)
|
||||||
: Color(0xFF989898),
|
: Color(0xFF989898),
|
||||||
width: 23.98,
|
width: 23.98,
|
||||||
height: 25,
|
height: 25,
|
||||||
@ -1539,7 +1548,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
BottomBarAssetIconPath.ranking,
|
BottomBarAssetIconPath.ranking,
|
||||||
color: _getSelectedIndex(currentRoute) == 2
|
color: _getSelectedIndex(currentRoute) == 2
|
||||||
? (isDarkTheme ? Color(0xFF24B4FB) : Colors.black)
|
? (isDarkTheme ? Color(0xFFFFFFFF) : Colors.black)
|
||||||
: Color(0xFF989898),
|
: Color(0xFF989898),
|
||||||
width: 23.98,
|
width: 23.98,
|
||||||
height: 25,
|
height: 25,
|
||||||
@ -1555,7 +1564,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
BottomBarAssetIconPath.globe,
|
BottomBarAssetIconPath.globe,
|
||||||
color: _getSelectedIndex(currentRoute) == 3
|
color: _getSelectedIndex(currentRoute) == 3
|
||||||
? (isDarkTheme ? Color(0xFF24B4FB) : Colors.black)
|
? (isDarkTheme ? Color(0xFFFFFFFF) : Colors.black)
|
||||||
: Color(0xFF989898),
|
: Color(0xFF989898),
|
||||||
width: 23.98,
|
width: 23.98,
|
||||||
height: 25,
|
height: 25,
|
||||||
@ -1566,8 +1575,8 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
key: bottomNavKey,
|
key: bottomNavKey,
|
||||||
selectedItemColor: isDarkTheme ? Color(0xFF24B4FB) : Colors.black,
|
selectedItemColor: isDarkTheme ? Color(0xFFFFFFFF) : Colors.black,
|
||||||
unselectedItemColor: Colors.grey,
|
unselectedItemColor: Color(0xFF989898),
|
||||||
selectedLabelStyle: TextStyle(
|
selectedLabelStyle: TextStyle(
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
@ -1732,7 +1741,7 @@ Future<void> logout(BuildContext context) async {
|
|||||||
context.go('/login'); // Redirect to login after logout
|
context.go('/login'); // Redirect to login after logout
|
||||||
}
|
}
|
||||||
|
|
||||||
void _showLogoutConfirmationDialog(BuildContext context) {
|
void _showLogoutConfirmationDialog(BuildContext context,isDarkTheme) {
|
||||||
double myheight = MediaQuery.of(context).size.height;
|
double myheight = MediaQuery.of(context).size.height;
|
||||||
showDialog(
|
showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
@ -1741,6 +1750,7 @@ void _showLogoutConfirmationDialog(BuildContext context) {
|
|||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(5.0), // Rounded corners
|
borderRadius: BorderRadius.circular(5.0), // Rounded corners
|
||||||
),
|
),
|
||||||
|
backgroundColor: isDarkTheme ? Colors.black : Colors.white,
|
||||||
contentPadding: EdgeInsets.zero,
|
contentPadding: EdgeInsets.zero,
|
||||||
title: Text(
|
title: Text(
|
||||||
context.translate('Log Out Confirmation', 'تأكيد تسجيل الخروج'),
|
context.translate('Log Out Confirmation', 'تأكيد تسجيل الخروج'),
|
||||||
@ -1752,6 +1762,7 @@ void _showLogoutConfirmationDialog(BuildContext context) {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
|
color: isDarkTheme ? Colors.white : Colors.black,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
content: Padding(
|
content: Padding(
|
||||||
@ -1785,7 +1796,7 @@ void _showLogoutConfirmationDialog(BuildContext context) {
|
|||||||
borderRadius: BorderRadius.circular(10.0),
|
borderRadius: BorderRadius.circular(10.0),
|
||||||
),
|
),
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
color: Color(0xFFAA8E83), // Border color
|
color: Color(0xFFB68A34), // Border color
|
||||||
width: 1,
|
width: 1,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -1796,7 +1807,7 @@ void _showLogoutConfirmationDialog(BuildContext context) {
|
|||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
),
|
),
|
||||||
color: Color(0xFFAA8E83),
|
color: Color(0xFFB68A34),
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -1809,7 +1820,7 @@ void _showLogoutConfirmationDialog(BuildContext context) {
|
|||||||
child: TextButton(
|
child: TextButton(
|
||||||
onPressed: () => logout(context),
|
onPressed: () => logout(context),
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
backgroundColor: Color(0xFFAA8E83), // Background color
|
backgroundColor: Color(0xFFB68A34), // Background color
|
||||||
foregroundColor: Colors.white,
|
foregroundColor: Colors.white,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(10.0),
|
borderRadius: BorderRadius.circular(10.0),
|
||||||
|
|||||||
@ -770,8 +770,16 @@ class LangToggle extends ConsumerWidget {
|
|||||||
},
|
},
|
||||||
knobTextWhenOn: 'ع',
|
knobTextWhenOn: 'ع',
|
||||||
knobTextWhenOff: 'EN',
|
knobTextWhenOff: 'EN',
|
||||||
pathColorWhenOn: Colors.grey.shade300,
|
pathColorWhenOn: Color(0xFFD9D9D9),
|
||||||
pathColorWhenOff: Colors.grey.shade300,
|
pathColorWhenOff: Color(0xFFD9D9D9),
|
||||||
|
knobTextStyleWhenOn: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
knobTextStyleWhenOff: TextStyle(
|
||||||
|
color: Color(0xFF010101),
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,7 +106,6 @@ flutter:
|
|||||||
generate: true
|
generate: true
|
||||||
uses-material-design: true
|
uses-material-design: true
|
||||||
assets:
|
assets:
|
||||||
- assets/dark_bg.png
|
|
||||||
- assets/user_guide_videos/
|
- assets/user_guide_videos/
|
||||||
- assets/logos/
|
- assets/logos/
|
||||||
- assets/logos/from_alsaray/
|
- assets/logos/from_alsaray/
|
||||||
@ -166,6 +165,7 @@ flutter:
|
|||||||
- assets/competitiveness/
|
- assets/competitiveness/
|
||||||
- assets/icons/uae_numbers/ShareDark.png
|
- assets/icons/uae_numbers/ShareDark.png
|
||||||
- assets/icons/uae_numbers/ShareLight.png
|
- assets/icons/uae_numbers/ShareLight.png
|
||||||
|
- assets/icons/misc/successMsg.png
|
||||||
|
|
||||||
fonts:
|
fonts:
|
||||||
- family: Segoe
|
- family: Segoe
|
||||||
|
|||||||