Compare commits
430 Commits
faiz_marat
...
master
| Author | SHA1 | Date |
|---|---|---|
|
|
58465a819b | 3 years ago |
|
|
3215ae6757 | 3 years ago |
|
|
cc2839c0ed | 3 years ago |
|
|
46acc41995 | 3 years ago |
|
|
12bfd034c9 | 3 years ago |
|
|
b073399ef4 | 3 years ago |
|
|
dae1a3c6cb | 3 years ago |
|
|
c7a4f02434 | 3 years ago |
|
|
735d39aca0 | 3 years ago |
|
|
7bbcaaf89f | 3 years ago |
|
|
472c62ca07 | 3 years ago |
|
|
31c49fbeec | 3 years ago |
|
|
852141edfa | 3 years ago |
|
|
d44d0b7709 | 3 years ago |
|
|
f7ab465c1e | 3 years ago |
|
|
a5bf631d40 | 3 years ago |
|
|
4a865a06e4 | 3 years ago |
|
|
2f914aa36a | 3 years ago |
|
|
d5e8b528c3 | 3 years ago |
|
|
44f23f413e | 3 years ago |
|
|
a04e4ffaf1 | 3 years ago |
|
|
a15466a1a8 | 3 years ago |
|
|
54ed5aac7d | 3 years ago |
|
|
b6f3a27eb8 | 3 years ago |
|
|
d770f078e7 | 3 years ago |
|
|
94b74cf9f0 | 3 years ago |
|
|
d3b66ebca8 | 3 years ago |
|
|
ae9e2310e3 | 3 years ago |
|
|
4924b1844b | 3 years ago |
|
|
6e381cbe16 | 3 years ago |
|
|
18ec3e4288 | 3 years ago |
|
|
4de3c55ad9 | 3 years ago |
|
|
add2b3a10f | 3 years ago |
|
|
9881f3a6ac | 3 years ago |
|
|
9593e7495b | 3 years ago |
|
|
b760dc44a5 | 3 years ago |
|
|
24b09ed7f3 | 3 years ago |
|
|
f5d2d52d8c | 3 years ago |
|
|
e0d02554b1 | 3 years ago |
|
|
182fa6774e | 3 years ago |
|
|
5f7c135346 | 3 years ago |
|
|
d31784075a | 3 years ago |
|
|
9162b259d5 | 3 years ago |
|
|
934cd9b1c6 | 3 years ago |
|
|
2b35c3d8d6 | 3 years ago |
|
|
2cd3ec88c2 | 3 years ago |
|
|
2303daa1ad | 3 years ago |
|
|
a8008bb9a7 | 3 years ago |
|
|
33af55c28d | 3 years ago |
|
|
a1ea371cef | 3 years ago |
|
|
6f74916204 | 3 years ago |
|
|
91eb51e42f | 3 years ago |
|
|
35d66187c6 | 3 years ago |
|
|
2e8d6c4ede | 3 years ago |
|
|
5233154a44 | 3 years ago |
|
|
a78b5b0a19 | 3 years ago |
|
|
c55c3d6a91 | 3 years ago |
|
|
6a3f904bd2 | 3 years ago |
|
|
be32b9c4a2 | 3 years ago |
|
|
1f04dfced2 | 3 years ago |
|
|
06828cd711 | 3 years ago |
|
|
e09d2675bc | 3 years ago |
|
|
4a431fb752 | 3 years ago |
|
|
d458e8ac45 | 3 years ago |
|
|
f72f49c719 | 3 years ago |
|
|
550e26dce1 | 3 years ago |
|
|
580c7d62f5 | 3 years ago |
|
|
9be7f453b1 | 3 years ago |
|
|
a59656184f | 3 years ago |
|
|
0e329e8e2b | 3 years ago |
|
|
ca6b482a8e | 3 years ago |
|
|
992490812e | 3 years ago |
|
|
0a85e37a5a | 3 years ago |
|
|
0c7771dab9 | 3 years ago |
|
|
7257fa88cc | 3 years ago |
|
|
3036e5cce1 | 3 years ago |
|
|
9a2a85f848 | 3 years ago |
|
|
6749074479 | 3 years ago |
|
|
b227f11c7b | 3 years ago |
|
|
59885b29f6 | 3 years ago |
|
|
a07563e7b1 | 3 years ago |
|
|
9dd53ad3ab | 3 years ago |
|
|
61904ca5f7 | 3 years ago |
|
|
3b2ef69f7c | 3 years ago |
|
|
787d6d7ab2 | 3 years ago |
|
|
aa511f02ac | 3 years ago |
|
|
b1dbd22b3e | 3 years ago |
|
|
948689b67a | 3 years ago |
|
|
7e235c9d8c | 3 years ago |
|
|
70861807c5 | 3 years ago |
|
|
be58dfdee1 | 3 years ago |
|
|
75eab961ce | 3 years ago |
|
|
ffd894ca28 | 3 years ago |
|
|
5fe9e55813 | 3 years ago |
|
|
342d75de33 | 3 years ago |
|
|
dd6627f216 | 3 years ago |
|
|
0a5207b098 | 3 years ago |
|
|
84a07df310 | 3 years ago |
|
|
0f84f9ae65 | 3 years ago |
|
|
b0267c9a16 | 3 years ago |
|
|
698aee3482 | 3 years ago |
|
|
73f5fc0a9a | 3 years ago |
|
|
229ced2e84 | 3 years ago |
|
|
81a060012e | 3 years ago |
|
|
1eca46600d | 3 years ago |
|
|
ef82a081fd | 3 years ago |
|
|
07dad71610 | 3 years ago |
|
|
7f9c82d165 | 3 years ago |
|
|
33da1a103d | 3 years ago |
|
|
f8ae5b0987 | 3 years ago |
|
|
e10ea6b023 | 3 years ago |
|
|
03ae216b69 | 3 years ago |
|
|
7152b0d57b | 3 years ago |
|
|
f4b57a33f9 | 3 years ago |
|
|
2120ca9fb4 | 3 years ago |
|
|
5f525f16a0 | 3 years ago |
|
|
a97b367c6a | 3 years ago |
|
|
311b27cf2b | 3 years ago |
|
|
a9bf383164 | 3 years ago |
|
|
f7049f2e40 | 3 years ago |
|
|
c8f9826266 | 3 years ago |
|
|
6b56d40349 | 3 years ago |
|
|
1c402f7215 | 3 years ago |
|
|
7f02dff689 | 3 years ago |
|
|
bd10bb4f1d | 3 years ago |
|
|
ed220b80a0 | 3 years ago |
|
|
10ef069a06 | 3 years ago |
|
|
c337b82676 | 3 years ago |
|
|
a7d87b7b44 | 3 years ago |
|
|
b152f8a6d6 | 3 years ago |
|
|
1f69ee262d | 3 years ago |
|
|
a72ac34122 | 3 years ago |
|
|
c865eca9c9 | 3 years ago |
|
|
f933539395 | 3 years ago |
|
|
c763e16f41 | 3 years ago |
|
|
4d7db61a36 | 3 years ago |
|
|
df72594f14 | 3 years ago |
|
|
e685cf188c | 3 years ago |
|
|
538fd133aa | 3 years ago |
|
|
dbb13515fc | 3 years ago |
|
|
377fd48693 | 3 years ago |
|
|
a165ac2e91 | 3 years ago |
|
|
47a274b1d3 | 3 years ago |
|
|
3003f354b8 | 3 years ago |
|
|
fe5807c997 | 3 years ago |
|
|
a23b273129 | 3 years ago |
|
|
83b8691a31 | 3 years ago |
|
|
a13a972083 | 3 years ago |
|
|
5592989b44 | 3 years ago |
|
|
16ea3b7c66 | 3 years ago |
|
|
1da23d874a | 3 years ago |
|
|
0d2052346e | 3 years ago |
|
|
088fd6f318 | 3 years ago |
|
|
05ff1fcf3f | 3 years ago |
|
|
54961c875f | 3 years ago |
|
|
935f959a02 | 3 years ago |
|
|
3083a0e9da | 3 years ago |
|
|
3f8dedbf80 | 3 years ago |
|
|
914ae0eb0e | 3 years ago |
|
|
ddaffe3af8 | 3 years ago |
|
|
24c118a66e | 3 years ago |
|
|
438217adcb | 3 years ago |
|
|
5028a3b860 | 3 years ago |
|
|
d24fa6b61b | 3 years ago |
|
|
ebe353928f | 3 years ago |
|
|
a746b607df | 3 years ago |
|
|
e847f7f2ec | 3 years ago |
|
|
a383a504aa | 3 years ago |
|
|
f21d75c24c | 3 years ago |
|
|
6cc84d4c31 | 3 years ago |
|
|
83820a8a20 | 3 years ago |
|
|
1c750a4084 | 3 years ago |
|
|
b34225501c | 3 years ago |
|
|
407899a602 | 3 years ago |
|
|
d096559a2f | 3 years ago |
|
|
3871d3f1e3 | 3 years ago |
|
|
c2d7684d33 | 3 years ago |
|
|
3e1fb6c6bc | 3 years ago |
|
|
975164f565 | 3 years ago |
|
|
2ab39e0d7b | 3 years ago |
|
|
47f76e40f7 | 3 years ago |
|
|
f5e74f5712 | 3 years ago |
|
|
e4ab7e96d1 | 3 years ago |
|
|
1e478c9900 | 3 years ago |
|
|
ec2bdedeef | 3 years ago |
|
|
4f780ad0aa | 3 years ago |
|
|
cdf016fc9b | 3 years ago |
|
|
e5310eff4e | 3 years ago |
|
|
f6c5e1de41 | 3 years ago |
|
|
b4fc3dd5fd | 3 years ago |
|
|
37fe3f46b0 | 3 years ago |
|
|
35f814b74a | 3 years ago |
|
|
9a269b5b56 | 3 years ago |
|
|
5ff4c19301 | 3 years ago |
|
|
4635c7f3bc | 3 years ago |
|
|
f01cf2ac2e | 3 years ago |
|
|
8c3745b747 | 3 years ago |
|
|
5bb998a8d2 | 3 years ago |
|
|
d9749fc402 | 3 years ago |
|
|
f39a5dec71 | 3 years ago |
|
|
5261f3e416 | 3 years ago |
|
|
738658d514 | 3 years ago |
|
|
fb9f395877 | 3 years ago |
|
|
78f6ebf622 | 3 years ago |
|
|
773a99e8d9 | 3 years ago |
|
|
09c401a157 | 3 years ago |
|
|
7a5879eeb6 | 3 years ago |
|
|
49e9b35eff | 3 years ago |
|
|
642fee7331 | 3 years ago |
|
|
fb3b3e8e46 | 3 years ago |
|
|
7131706998 | 3 years ago |
|
|
dd8da2cdfe | 3 years ago |
|
|
45a5fdad02 | 3 years ago |
|
|
705adbc17e | 3 years ago |
|
|
47b712d132 | 3 years ago |
|
|
47732d67cb | 3 years ago |
|
|
4acd7a4325 | 3 years ago |
|
|
dd6b0c0902 | 3 years ago |
|
|
5eec9dc07b | 3 years ago |
|
|
97dd82aff7 | 3 years ago |
|
|
8a393c1e73 | 3 years ago |
|
|
4bbc7d81fc | 3 years ago |
|
|
091abc68bf | 3 years ago |
|
|
e65d876223 | 3 years ago |
|
|
2ab1c5afdc | 3 years ago |
|
|
47a697f352 | 3 years ago |
|
|
02fdfc746c | 3 years ago |
|
|
b3782f6342 | 3 years ago |
|
|
12defa65ac | 3 years ago |
|
|
5d93451c13 | 3 years ago |
|
|
ddb9dec80f | 3 years ago |
|
|
bcf67895b9 | 3 years ago |
|
|
374417b6bd | 3 years ago |
|
|
7707bc8027 | 3 years ago |
|
|
abd1fa9375 | 3 years ago |
|
|
3a6d1c3273 | 3 years ago |
|
|
fe02776a69 | 3 years ago |
|
|
4cb7bbee5d | 3 years ago |
|
|
696a6881c4 | 3 years ago |
|
|
f60394cc38 | 3 years ago |
|
|
ddba673970 | 3 years ago |
|
|
4021eccd9f | 3 years ago |
|
|
9c867c3041 | 3 years ago |
|
|
e40cd2c5c8 | 3 years ago |
|
|
71454ccca3 | 3 years ago |
|
|
91052f12bd | 3 years ago |
|
|
0077a876d9 | 3 years ago |
|
|
c76f8ca9de | 3 years ago |
|
|
5be9adca31 | 3 years ago |
|
|
3f7e1cd0be | 3 years ago |
|
|
7fc8fd9123 | 3 years ago |
|
|
9602e95fe7 | 3 years ago |
|
|
ece6a68a95 | 3 years ago |
|
|
f62253374d | 3 years ago |
|
|
966533c793 | 3 years ago |
|
|
885a1aa377 | 3 years ago |
|
|
58fb7a7894 | 3 years ago |
|
|
84accea908 | 3 years ago |
|
|
2174512d79 | 3 years ago |
|
|
b522aab685 | 3 years ago |
|
|
dafa075e4c | 3 years ago |
|
|
660fdb63dd | 3 years ago |
|
|
486a0aeb0e | 3 years ago |
|
|
86d6b57cbc | 3 years ago |
|
|
08e0af8f64 | 3 years ago |
|
|
3d4d5403a9 | 3 years ago |
|
|
3b6f3f5c4f | 3 years ago |
|
|
881b351505 | 3 years ago |
|
|
631752cffa | 3 years ago |
|
|
31c24a54ec | 3 years ago |
|
|
cb4b95ddb4 | 3 years ago |
|
|
2266ace39a | 3 years ago |
|
|
28d055c449 | 3 years ago |
|
|
dfec571de0 | 3 years ago |
|
|
9f91f1e83c | 3 years ago |
|
|
5f062d123a | 3 years ago |
|
|
f62e37cabf | 3 years ago |
|
|
5384d0e59c | 3 years ago |
|
|
7b6e2547d7 | 3 years ago |
|
|
c1be522331 | 3 years ago |
|
|
2caf5b6caa | 3 years ago |
|
|
a39e6808d7 | 3 years ago |
|
|
ff3c7be11f | 3 years ago |
|
|
243da0c775 | 3 years ago |
|
|
cf87a6da05 | 3 years ago |
|
|
feff454e65 | 3 years ago |
|
|
1144664d64 | 3 years ago |
|
|
76239d0077 | 3 years ago |
|
|
ab480a934b | 3 years ago |
|
|
26ff2bf372 | 3 years ago |
|
|
86d25d3ecc | 3 years ago |
|
|
72a32c8176 | 3 years ago |
|
|
67c4970897 | 3 years ago |
|
|
b22ecaff3a | 3 years ago |
|
|
4a513c08d9 | 3 years ago |
|
|
ac2691f4ae | 3 years ago |
|
|
6b36be58b9 | 3 years ago |
|
|
45b4adc252 | 3 years ago |
|
|
2a39ee9ddc | 3 years ago |
|
|
feb5c5071c | 3 years ago |
|
|
ef347f1078 | 3 years ago |
|
|
65e1540f97 | 3 years ago |
|
|
19b17ca7d6 | 3 years ago |
|
|
43fb34c218 | 3 years ago |
|
|
ae559df29f | 3 years ago |
|
|
668efb8412 | 3 years ago |
|
|
ff3592a120 | 3 years ago |
|
|
30c7f5738d | 3 years ago |
|
|
7d1086522d | 3 years ago |
|
|
0370aa5e1a | 3 years ago |
|
|
0502d79fc1 | 3 years ago |
|
|
b7534671cf | 3 years ago |
|
|
8ae8f6d2fe | 3 years ago |
|
|
8a3ca3135b | 3 years ago |
|
|
d2f2fbd930 | 3 years ago |
|
|
1e7ff09f14 | 3 years ago |
|
|
cc48d45b27 | 3 years ago |
|
|
4c53fcfdb6 | 3 years ago |
|
|
810920a934 | 3 years ago |
|
|
5b7f1beced | 3 years ago |
|
|
7cdcea93ba | 3 years ago |
|
|
af2cbd8c50 | 3 years ago |
|
|
2fdc882ff2 | 3 years ago |
|
|
ecaede0deb | 3 years ago |
|
|
f1b7b897cc | 3 years ago |
|
|
dde200fd7a | 3 years ago |
|
|
cd813a163f | 3 years ago |
|
|
59b1cbec38 | 3 years ago |
|
|
2790d18c1d | 3 years ago |
|
|
c70d92b172 | 3 years ago |
|
|
a212963ad7 | 3 years ago |
|
|
0f38825314 | 3 years ago |
|
|
d25e608565 | 3 years ago |
|
|
a2cfbda3d1 | 3 years ago |
|
|
d66f841ca4 | 3 years ago |
|
|
1a3bf90b89 | 3 years ago |
|
|
75603d7530 | 3 years ago |
|
|
8433d594a2 | 3 years ago |
|
|
25f4bd93bc | 3 years ago |
|
|
6f070baa5a | 3 years ago |
|
|
ae64001e63 | 3 years ago |
|
|
fb0dff48bc | 3 years ago |
|
|
80c97b0a65 | 3 years ago |
|
|
6d026a37ba | 3 years ago |
|
|
616e35f2d3 | 3 years ago |
|
|
0f7afa911a | 3 years ago |
|
|
29c9caddde | 3 years ago |
|
|
c51af6522c | 3 years ago |
|
|
70ffb8afd8 | 3 years ago |
|
|
6efc07fcab | 3 years ago |
|
|
6a7a24349f | 3 years ago |
|
|
34c15e7026 | 3 years ago |
|
|
fe6e63dadb | 3 years ago |
|
|
7f043e6048 | 3 years ago |
|
|
cbd74c7a44 | 3 years ago |
|
|
4e4e393f3d | 3 years ago |
|
|
cd284e8339 | 3 years ago |
|
|
ead2dcb631 | 3 years ago |
|
|
677a0ca275 | 3 years ago |
|
|
f31db58a76 | 3 years ago |
|
|
603ff1b19f | 3 years ago |
|
|
6463dfc424 | 3 years ago |
|
|
d80f93a6dc | 3 years ago |
|
|
323741ad06 | 3 years ago |
|
|
aca90119eb | 3 years ago |
|
|
f43b4905c5 | 3 years ago |
|
|
0b46e5fe72 | 3 years ago |
|
|
86be7ccc5f | 3 years ago |
|
|
c500da9a18 | 3 years ago |
|
|
ba73ff1307 | 3 years ago |
|
|
915a7d208f | 3 years ago |
|
|
de6652623c | 3 years ago |
|
|
a949f15023 | 3 years ago |
|
|
da4a1db499 | 3 years ago |
|
|
e94a8d9a5e | 3 years ago |
|
|
2d6ffff8be | 3 years ago |
|
|
ff7eb2ad6d | 3 years ago |
|
|
d2de59bf6e | 3 years ago |
|
|
f3ffdc0088 | 3 years ago |
|
|
2ec7a107d6 | 3 years ago |
|
|
19ab49029f | 3 years ago |
|
|
581e6de897 | 3 years ago |
|
|
38c6acbd7d | 3 years ago |
|
|
31fba1f8e6 | 3 years ago |
|
|
0fb4a749a4 | 3 years ago |
|
|
f752331767 | 3 years ago |
|
|
8133542ae0 | 3 years ago |
|
|
21c7597026 | 3 years ago |
|
|
abc586b81e | 3 years ago |
|
|
8d5cc7ed23 | 3 years ago |
|
|
62acd531b0 | 3 years ago |
|
|
64ba4cdad9 | 3 years ago |
|
|
f63e0e1e7c | 3 years ago |
|
|
e505a9fa8c | 3 years ago |
|
|
4e96108207 | 3 years ago |
|
|
0f13ab65d6 | 3 years ago |
|
|
85be372ad8 | 3 years ago |
|
|
9d0bf4fe7e | 3 years ago |
|
|
0db4a5a7cd | 3 years ago |
|
|
fb97319164 | 3 years ago |
|
|
76c3c5c3ae | 3 years ago |
|
|
6a3c6a25d0 | 3 years ago |
|
|
13a7f60d67 | 3 years ago |
|
|
e6f22e5933 | 3 years ago |
|
|
ef5136ebfa | 3 years ago |
|
|
3e666eb6be | 3 years ago |
|
|
a08f1c6d77 | 3 years ago |
|
|
00f3d268ed | 3 years ago |
|
|
f6f801f9cf | 3 years ago |
|
|
c9dd403b23 | 3 years ago |
|
|
a947b759f8 | 3 years ago |
|
|
0099ba8a61 | 3 years ago |
|
|
c7dca3c377 | 3 years ago |
|
|
cecb2d59e9 | 3 years ago |
|
|
ab6c221cdb | 3 years ago |
|
|
741259505d | 3 years ago |
|
|
3438b9c174 | 3 years ago |
|
|
a619380df8 | 3 years ago |
|
|
93901ce444 | 3 years ago |
|
|
4eb8cca7d2 | 3 years ago |
|
|
f5684ab27e | 3 years ago |
|
|
b718f96c3a | 3 years ago |
|
|
492b6b5e34 | 3 years ago |
|
|
01a37d253e | 3 years ago |
|
|
cd0b00021d | 3 years ago |
|
|
46de4b88ab | 3 years ago |
|
|
3309541142 | 3 years ago |
|
|
5430fd2d32 | 3 years ago |
|
|
7aaa4da771 | 3 years ago |
|
|
1c22905fcc | 4 years ago |
@ -0,0 +1,57 @@
|
||||
{
|
||||
"agcgw_all":{
|
||||
"CN":"connect-drcn.dbankcloud.cn",
|
||||
"CN_back":"connect-drcn.hispace.hicloud.com",
|
||||
"DE":"connect-dre.dbankcloud.cn",
|
||||
"DE_back":"connect-dre.hispace.hicloud.com",
|
||||
"RU":"connect-drru.hispace.dbankcloud.ru",
|
||||
"RU_back":"connect-drru.hispace.dbankcloud.cn",
|
||||
"SG":"connect-dra.dbankcloud.cn",
|
||||
"SG_back":"connect-dra.hispace.hicloud.com"
|
||||
},
|
||||
"websocketgw_all":{
|
||||
"CN":"connect-ws-drcn.hispace.dbankcloud.cn",
|
||||
"CN_back":"connect-ws-drcn.hispace.dbankcloud.com",
|
||||
"DE":"connect-ws-dre.hispace.dbankcloud.cn",
|
||||
"DE_back":"connect-ws-dre.hispace.dbankcloud.com",
|
||||
"RU":"connect-ws-drru.hispace.dbankcloud.ru",
|
||||
"RU_back":"connect-ws-drru.hispace.dbankcloud.cn",
|
||||
"SG":"connect-ws-dra.hispace.dbankcloud.cn",
|
||||
"SG_back":"connect-ws-dra.hispace.dbankcloud.com"
|
||||
},
|
||||
"client":{
|
||||
"cp_id":"2640966000002322881",
|
||||
"product_id":"737518067793559971",
|
||||
"client_id":"715996003571874624",
|
||||
"client_secret":"B5B89A56A53847C6BB9D216A8747E75952760DF9A8232239D8744CD847A8FFDA",
|
||||
"project_id":"737518067793559971",
|
||||
"app_id":"104737117",
|
||||
"api_key":"DAEDACKDrYgyco9mjPV9ZUjCSh1kCr/GBV0nseHH0z2mnxlZ41RksOKmyTi+PUTwmGEPK+VxCup4F9oUf4VbDnCsjB7aNBShYcjR+g==",
|
||||
"package_name":"hmg.cloudSolutions.mohem"
|
||||
},
|
||||
"oauth_client":{
|
||||
"client_id":"104737117",
|
||||
"client_type":1
|
||||
},
|
||||
"app_info":{
|
||||
"app_id":"104737117",
|
||||
"package_name":"hmg.cloudSolutions.mohem"
|
||||
},
|
||||
"configuration_version":"3.0",
|
||||
"appInfos":[
|
||||
{
|
||||
"package_name":"hmg.cloudSolutions.mohem",
|
||||
"client":{
|
||||
"app_id":"104737117"
|
||||
},
|
||||
"app_info":{
|
||||
"package_name":"hmg.cloudSolutions.mohem",
|
||||
"app_id":"104737117"
|
||||
},
|
||||
"oauth_client":{
|
||||
"client_type":1,
|
||||
"client_id":"104737117"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||
<path style="fill:#E2E5E7;" d="M128,0c-17.6,0-32,14.4-32,32v448c0,17.6,14.4,32,32,32h320c17.6,0,32-14.4,32-32V128L352,0H128z"/>
|
||||
<path style="fill:#B0B7BD;" d="M384,128h96L352,0v96C352,113.6,366.4,128,384,128z"/>
|
||||
<polygon style="fill:#CAD1D8;" points="480,224 384,128 480,128 "/>
|
||||
<path style="fill:#F15642;" d="M416,416c0,8.8-7.2,16-16,16H48c-8.8,0-16-7.2-16-16V256c0-8.8,7.2-16,16-16h352c8.8,0,16,7.2,16,16
|
||||
V416z"/>
|
||||
<g>
|
||||
<path style="fill:#FFFFFF;" d="M88.368,384c-4.096-2.304-6.656-6.912-4.096-12.288l36.72-71.744c3.456-6.784,12.656-7.04,15.856,0
|
||||
l36.08,71.744c5.248,9.984-10.24,17.904-14.848,7.936l-5.632-11.248h-47.2l-5.52,11.248C97.712,384,92.992,384.912,88.368,384z
|
||||
M143.392,351.52l-14.464-31.616l-15.744,31.616H143.392z"/>
|
||||
<path style="fill:#FFFFFF;" d="M189.184,384c-4.096-2.304-6.656-6.912-4.096-12.288l36.704-71.744
|
||||
c3.456-6.784,12.672-7.04,15.872,0l36.064,71.744c5.248,9.984-10.24,17.904-14.832,7.936l-5.648-11.248h-47.2l-5.504,11.248
|
||||
C198.512,384,193.776,384.912,189.184,384z M244.192,351.52l-14.448-31.616l-15.728,31.616H244.192z"/>
|
||||
<path style="fill:#FFFFFF;" d="M282.416,339.088c0-24.688,15.488-45.904,44.912-45.904c11.136,0,19.952,3.312,29.296,11.376
|
||||
c3.456,3.184,3.84,8.832,0.384,12.4c-3.456,3.056-8.704,2.688-11.76-0.368c-5.248-5.504-10.624-7.024-17.92-7.024
|
||||
c-19.696,0-29.168,13.936-29.168,29.536c0,15.872,9.344,30.464,29.168,30.464c7.296,0,14.08-2.96,19.952-8.192
|
||||
c3.968-3.072,9.472-1.552,11.776,1.536c2.048,2.816,3.056,7.536-1.408,12.016c-8.96,8.336-19.696,9.984-30.336,9.984
|
||||
C296.368,384.912,282.416,363.792,282.416,339.088z"/>
|
||||
</g>
|
||||
<path style="fill:#CAD1D8;" d="M400,432H96v16h304c8.8,0,16-7.2,16-16v-16C416,424.8,408.8,432,400,432z"/>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||
<path style="fill:#E2E5E7;" d="M128,0c-17.6,0-32,14.4-32,32v448c0,17.616,14.4,32,32,32h320c17.6,0,32-14.384,32-32V128L352,0H128z
|
||||
"/>
|
||||
<path style="fill:#B0B7BD;" d="M384,128h96L352,0v96C352,113.6,366.4,128,384,128z"/>
|
||||
<polygon style="fill:#CAD1D8;" points="480,224 384,128 480,128 "/>
|
||||
<path style="fill:#50BEE8;" d="M416,416c0,8.8-7.2,16-16,16H48c-8.8,0-16-7.2-16-16V256c0-8.8,7.2-16,16-16h352c8.8,0,16,7.2,16,16
|
||||
V416z"/>
|
||||
<g>
|
||||
<path style="fill:#FFFFFF;" d="M117.184,327.84v47.344c0,5.632-4.592,8.832-9.216,8.832c-4.096,0-7.664-3.2-7.664-8.832v-72.032
|
||||
c0-6.64,5.632-8.832,7.664-8.832c3.712,0,5.888,2.192,8.064,4.608l28.16,38l29.152-39.408c4.24-5.248,14.592-3.2,14.592,5.632
|
||||
v72.032c0,5.632-3.6,8.832-7.68,8.832c-4.592,0-8.192-3.2-8.192-8.832V327.84l-21.232,26.88c-4.592,5.632-10.352,5.632-14.576,0
|
||||
L117.184,327.84z"/>
|
||||
<path style="fill:#FFFFFF;" d="M210.288,303.152c0-4.224,3.328-8.832,8.704-8.832h29.552c16.64,0,31.616,11.136,31.616,32.496
|
||||
c0,20.224-14.976,31.472-31.616,31.472h-21.36v16.896c0,5.632-3.584,8.832-8.192,8.832c-4.224,0-8.704-3.2-8.704-8.832V303.152z
|
||||
M227.168,310.448v31.856h21.36c8.576,0,15.36-7.552,15.36-15.488c0-8.96-6.784-16.368-15.36-16.368L227.168,310.448
|
||||
L227.168,310.448z"/>
|
||||
<path style="fill:#FFFFFF;" d="M322.064,311.472h-21.872c-10.736,0-10.096-15.984,0-15.984h39.152c7.792,0,11.376,8.96,5.632,14.72
|
||||
l-21.232,19.824c15.616-1.152,27.888,10.48,27.888,24.816c0,15.728-11.136,29.168-34.544,29.168
|
||||
c-10.24,0-20.336-4.224-26.224-13.44c-6.144-9.072,7.024-17.776,13.936-8.832c3.328,4.352,8.704,6.528,14.448,6.528
|
||||
c7.808,0,15.488-3.328,15.488-13.44c0-13.296-16.256-11.248-25.072-10.352c-10.752,2.048-13.936-9.6-7.664-14.448L322.064,311.472z
|
||||
"/>
|
||||
</g>
|
||||
<path style="fill:#CAD1D8;" d="M400,432H96v16h304c8.8,0,16-7.2,16-16v-16C416,424.8,408.8,432,400,432z"/>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
@ -1,7 +1,5 @@
|
||||
<svg id="interview_3_" data-name="interview (3)" xmlns="http://www.w3.org/2000/svg" width="27.258" height="27.258" viewBox="0 0 27.258 27.258">
|
||||
<path id="Path_4667" data-name="Path 4667" d="M7.663,248.55a4.22,4.22,0,1,0-5.175,0A5.07,5.07,0,0,0,0,252.918v1.711a.8.8,0,0,0,.8.8H9.352a.8.8,0,0,0,.8-.8v-1.711A5.07,5.07,0,0,0,7.663,248.55Zm-5.21-3.33a2.623,2.623,0,1,1,2.623,2.623A2.626,2.626,0,0,1,2.452,245.22Zm6.1,8.61H1.6v-.912a3.478,3.478,0,1,1,6.956,0v.912Zm0,0" transform="translate(0 -228.17)" fill="#989898"/>
|
||||
<path id="Path_4668" data-name="Path 4668" d="M206.43,0H196.165A3.363,3.363,0,0,0,192.8,3.365v15.4a.8.8,0,0,0,1.278.639l3.208-2.406h9.143a3.363,3.363,0,0,0,3.365-3.365V3.365A3.363,3.363,0,0,0,206.43,0ZM208.2,13.629A1.766,1.766,0,0,1,206.43,15.4h-9.409a.8.8,0,0,0-.479.16L194.4,17.164V3.365A1.766,1.766,0,0,1,196.165,1.6H206.43A1.766,1.766,0,0,1,208.2,3.365Zm0,0" transform="translate(-182.536 0)" fill="#989898"/>
|
||||
<path id="Path_4669" data-name="Path 4669" d="M266.419,80.332h-8.554a.8.8,0,1,0,0,1.6h8.554a.8.8,0,0,0,0-1.6Zm0,0" transform="translate(-243.381 -76.055)" fill="#989898"/>
|
||||
<path id="Path_4670" data-name="Path 4670" d="M266.419,144.6h-8.554a.8.8,0,1,0,0,1.6h8.554a.8.8,0,0,0,0-1.6Zm0,0" transform="translate(-243.381 -136.903)" fill="#989898"/>
|
||||
<path id="Path_4671" data-name="Path 4671" d="M262.142,208.867h-4.277a.8.8,0,1,0,0,1.6h4.277a.8.8,0,1,0,0-1.6Zm0,0" transform="translate(-243.381 -197.747)" fill="#989898"/>
|
||||
<svg id="interview_4_" data-name="interview (4)" xmlns="http://www.w3.org/2000/svg" width="25.9" height="25.9" viewBox="0 0 25.9 25.9">
|
||||
<path id="Path_4711" data-name="Path 4711" d="M205.751,0H196a3.2,3.2,0,0,0-3.2,3.2v14.63a.759.759,0,0,0,1.214.607l3.049-2.286h8.687a3.2,3.2,0,0,0,3.2-3.2V3.2A3.2,3.2,0,0,0,205.751,0Zm-5.635,12.084h-3.3a.759.759,0,1,1,0-1.518h3.3a.759.759,0,1,1,0,1.518Zm4.823-3.251h-8.128a.759.759,0,1,1,0-1.518h8.128a.759.759,0,1,1,0,1.518Zm0-3.251h-8.128a.759.759,0,1,1,0-1.518h8.128a.759.759,0,1,1,0,1.518Zm0,0" transform="translate(-183.048)" fill="#818181"/>
|
||||
<path id="Path_4712" data-name="Path 4712" d="M31.6,244.575a3.587,3.587,0,1,1-3.587-3.587A3.587,3.587,0,0,1,31.6,244.575Zm0,0" transform="translate(-23.19 -228.797)" fill="#818181"/>
|
||||
<path id="Path_4713" data-name="Path 4713" d="M4.823,382.8A4.823,4.823,0,0,0,0,387.627v.954a.759.759,0,0,0,.759.759H8.886a.759.759,0,0,0,.759-.759v-.954A4.823,4.823,0,0,0,4.823,382.8Zm0,0" transform="translate(0 -363.44)" fill="#818181"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1018 B |
@ -1,7 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25.898" height="25.9" viewBox="0 0 25.898 25.9">
|
||||
<g id="home_12_" data-name="home (12)" transform="translate(-0.022)">
|
||||
<path id="Path_4683" data-name="Path 4683" d="M351.362.759A.759.759,0,0,0,350.6,0h-3.251a.759.759,0,0,0-.759.759v.687l4.769,4.769Z" transform="translate(-329.039 0)" fill="#2e303a"/>
|
||||
<path id="Path_4684" data-name="Path 4684" d="M25.221,11.259,14.661.7A2.391,2.391,0,0,0,11.28.7L.721,11.26A2.391,2.391,0,1,0,4.1,14.641l8.869-8.869,8.869,8.869a2.375,2.375,0,0,0,1.69.7h0a2.391,2.391,0,0,0,1.691-4.081Z" fill="#2e303a"/>
|
||||
<path id="Path_4685" data-name="Path 4685" d="M65.238,156.525l-7.8,7.8a3.878,3.878,0,0,1-2.369,1.125v6.271a2.794,2.794,0,0,0,2.791,2.791H62.8a.759.759,0,0,0,.759-.759v-5.743h3.359v5.743a.759.759,0,0,0,.759.759h4.935a2.794,2.794,0,0,0,2.791-2.791v-6.271a3.879,3.879,0,0,1-2.368-1.125Z" transform="translate(-52.267 -148.607)" fill="#2e303a"/>
|
||||
<g id="home_12_" data-name="home (12)" transform="translate(-0.021)">
|
||||
<path id="Path_4683" data-name="Path 4683" d="M351.362.759A.759.759,0,0,0,350.6,0h-3.251a.759.759,0,0,0-.759.759v.687l4.769,4.769Z" transform="translate(-329.039 0)" fill="#818181"/>
|
||||
<path id="Path_4684" data-name="Path 4684" d="M25.221,11.259,14.661.7A2.391,2.391,0,0,0,11.28.7L.721,11.26A2.391,2.391,0,1,0,4.1,14.641l8.869-8.869,8.869,8.869a2.375,2.375,0,0,0,1.69.7h0a2.391,2.391,0,0,0,1.691-4.081Z" fill="#818181"/>
|
||||
<path id="Path_4685" data-name="Path 4685" d="M65.238,156.525l-7.8,7.8a3.878,3.878,0,0,1-2.369,1.125v6.271a2.794,2.794,0,0,0,2.791,2.791H62.8a.759.759,0,0,0,.759-.759v-5.743h3.359v5.743a.759.759,0,0,0,.759.759h4.935a2.794,2.794,0,0,0,2.791-2.791v-6.271a3.879,3.879,0,0,1-2.368-1.125Z" transform="translate(-52.267 -148.607)" fill="#818181"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 955 B After Width: | Height: | Size: 955 B |
@ -1,3 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25.974" height="24.23" viewBox="0 0 25.974 24.23">
|
||||
<path id="shipping_2_" data-name="shipping (2)" d="M23.959,29.714V17.886a.764.764,0,0,0-.764-.764H2.724a.764.764,0,0,0-.764.764V30.657A2.294,2.294,0,0,0,.512,34.381l3.442,4.172c2.13,2.493,4.393,2.8,7.758,2.8a25.054,25.054,0,0,0,6.694-.561l2.45-.586a2.138,2.138,0,0,0,1.737.914H23.8a2.238,2.238,0,0,0,2.175-2.291V32A2.248,2.248,0,0,0,23.959,29.714Zm-3.434,1.572-1.018-.517a6.053,6.053,0,0,0-5.309-.086,7.3,7.3,0,0,1-2,.774H8.664a2.128,2.128,0,0,0-2.125,2.125v.557l-.02-.021L4,31.381a2.327,2.327,0,0,0-.508-.416v-7.58H9.741v2.8a.764.764,0,0,0,.764.764h4.821a.764.764,0,0,0,.764-.764v-2.8h6.341v6.329A2.2,2.2,0,0,0,20.525,31.286Zm-9.256-7.9h3.293v2.037H11.269Zm11.162-1.528H16.091V18.65h6.341v3.206ZM14.563,18.65v3.206H11.269V18.65Zm-4.821,0v3.206H3.488V18.65ZM18.05,39.3a24.308,24.308,0,0,1-6.312.511c-3.158,0-4.684-.051-6.606-2.235L1.691,33.408a.773.773,0,0,1,1.182-.993L5.4,35.154a3.469,3.469,0,0,0,2.54,1.113h6.994a.764.764,0,0,0,0-1.528H8.067V33.582a.6.6,0,0,1,.6-.6H12.2a6.994,6.994,0,0,0,2.645-.917,4.533,4.533,0,0,1,3.975.063l1.6.813v5.794Zm6.4-.477a.713.713,0,0,1-.647.763H22.592a.713.713,0,0,1-.647-.763V32a.713.713,0,0,1,.647-.763H23.8a.713.713,0,0,1,.647.763Z" transform="translate(0.001 -17.122)" fill="#989898"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="23.893" height="22.83" viewBox="0 0 23.893 22.83">
|
||||
<g id="shipping_3_" data-name="shipping (3)" transform="translate(0 -11.379)">
|
||||
<path id="Path_4716" data-name="Path 4716" d="M217.941,11.378h3.429v4.135h-3.429Z" transform="translate(-207.769)" fill="#818181"/>
|
||||
<path id="Path_4717" data-name="Path 4717" d="M217.941,134.067h3.429v2.121h-3.429Z" transform="translate(-207.769 -116.963)" fill="#818181"/>
|
||||
<path id="Path_4718" data-name="Path 4718" d="M27.275,134.067v7.59a2.406,2.406,0,0,1,1.325.737l2.627,2.852.021.021v-.58a2.216,2.216,0,0,1,2.213-2.213H37.14a7.7,7.7,0,0,0,2.083-.806,6.3,6.3,0,0,1,5.529.089l1.06.539a2.283,2.283,0,0,1,2.152-1.644h.629v-6.584h-7.4v2.917a.8.8,0,0,1-.8.8H35.378a.8.8,0,0,1-.8-.8v-2.917Z" transform="translate(-26.002 -116.963)" fill="#818181"/>
|
||||
<path id="Path_4719" data-name="Path 4719" d="M325.521,15.513h7.4V12.482a1.023,1.023,0,0,0-.917-1.1h-6.482Z" transform="translate(-310.328)" fill="#818181"/>
|
||||
<path id="Path_4720" data-name="Path 4720" d="M456.823,309.24a.742.742,0,0,0-.673.794v7.113a.742.742,0,0,0,.673.795h1.257a.742.742,0,0,0,.673-.795v-7.113a.742.742,0,0,0-.673-.794Z" transform="translate(-434.861 -283.961)" fill="#818181"/>
|
||||
<path id="Path_4721" data-name="Path 4721" d="M34.582,11.378H28.037a.851.851,0,0,0-.762.917v3.217h7.307Z" transform="translate(-26.002)" fill="#818181"/>
|
||||
<path id="Path_4722" data-name="Path 4722" d="M1.428,319.1c-.7-.7-1.9.216-1.231,1.034l3.584,4.345A6.361,6.361,0,0,0,8.7,326.795h4.054a19.348,19.348,0,0,0,4.475-.525l2.465-.59v-6.034l-1.666-.846a4.72,4.72,0,0,0-4.139-.066l-1.417.659a3.193,3.193,0,0,1-1.337.3H7.459a.622.622,0,0,0-.622.622v1.205h7.146a.8.8,0,1,1,0,1.591H6.7a3.66,3.66,0,0,1-2.645-1.16Z" transform="translate(0 -292.586)" fill="#818181"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.8 KiB |
@ -1,15 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21.12" height="26.881" viewBox="0 0 21.12 26.881">
|
||||
<g id="clipboard_5_" data-name="clipboard (5)" transform="translate(-47.037 0)">
|
||||
<g id="Group_7687" data-name="Group 7687" transform="translate(47.037 0)">
|
||||
<g id="Group_7686" data-name="Group 7686" transform="translate(0 0)">
|
||||
<path id="Path_4672" data-name="Path 4672" d="M65.469,3.522H63.037V2.434c0-.352-.384-.512-.736-.512H60.413A2.862,2.862,0,0,0,57.565,0a2.912,2.912,0,0,0-2.848,1.92H52.861c-.352,0-.7.16-.7.512V3.522H49.725a2.72,2.72,0,0,0-2.688,2.592V24.45a2.575,2.575,0,0,0,2.688,2.432H65.469a2.575,2.575,0,0,0,2.688-2.432V6.114A2.72,2.72,0,0,0,65.469,3.522ZM53.437,3.2H55.2a.7.7,0,0,0,.608-.576,1.856,1.856,0,0,1,1.76-1.44,1.824,1.824,0,0,1,1.728,1.44.7.7,0,0,0,.64.576h1.824v2.56h-8.32ZM66.877,24.45A1.3,1.3,0,0,1,65.469,25.6H49.725a1.3,1.3,0,0,1-1.408-1.152V6.114A1.44,1.44,0,0,1,49.725,4.8h2.432V6.434a.672.672,0,0,0,.7.608H62.3a.7.7,0,0,0,.736-.608V4.8h2.432a1.44,1.44,0,0,1,1.408,1.312V24.45Z" transform="translate(-47.037 0)" fill="#989898"/>
|
||||
<path id="Path_4673" data-name="Path 4673" d="M104.271,230.511a.64.64,0,0,0-.9-.032l-2.048,1.952-.864-.9a.64.64,0,0,0-.9-.032.672.672,0,0,0,0,.928l1.312,1.344a.576.576,0,0,0,.448.192.64.64,0,0,0,.448-.192l2.5-2.368a.608.608,0,0,0,.037-.859C104.3,230.535,104.283,230.523,104.271,230.511Z" transform="translate(-96.175 -216.205)" fill="#989898"/>
|
||||
<path id="Path_4674" data-name="Path 4674" d="M206.548,256.034h-7.36a.64.64,0,0,0,0,1.28h7.36a.64.64,0,1,0,0-1.28Z" transform="translate(-189.268 -240.352)" fill="#989898"/>
|
||||
<path id="Path_4675" data-name="Path 4675" d="M104.271,146.919a.64.64,0,0,0-.9-.032l-2.048,1.952-.864-.9a.64.64,0,0,0-.9-.032.672.672,0,0,0,0,.928l1.312,1.344a.576.576,0,0,0,.448.192.64.64,0,0,0,.448-.192l2.5-2.368a.608.608,0,0,0,.037-.859C104.3,146.943,104.283,146.931,104.271,146.919Z" transform="translate(-96.175 -137.733)" fill="#989898"/>
|
||||
<path id="Path_4676" data-name="Path 4676" d="M206.548,172.442h-7.36a.64.64,0,0,0,0,1.28h7.36a.64.64,0,1,0,0-1.28Z" transform="translate(-189.268 -161.88)" fill="#989898"/>
|
||||
<path id="Path_4677" data-name="Path 4677" d="M104.271,314.1a.64.64,0,0,0-.9-.032l-2.048,1.952-.864-.9a.64.64,0,0,0-.9-.032.672.672,0,0,0,0,.928l1.312,1.344a.576.576,0,0,0,.448.192.64.64,0,0,0,.448-.192l2.5-2.368a.608.608,0,0,0,.037-.859C104.3,314.126,104.283,314.114,104.271,314.1Z" transform="translate(-96.175 -294.677)" fill="#989898"/>
|
||||
<path id="Path_4678" data-name="Path 4678" d="M206.548,339.626h-7.36a.64.64,0,0,0,0,1.28h7.36a.64.64,0,1,0,0-1.28Z" transform="translate(-189.268 -318.824)" fill="#989898"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="19.729" height="25.9" viewBox="0 0 19.729 25.9">
|
||||
<g id="to-do-list_1_" data-name="to-do-list (1)" transform="translate(-61)">
|
||||
<path id="Path_4714" data-name="Path 4714" d="M80.064,30.668A2.258,2.258,0,0,0,78.455,30H77.446v1.012a2.025,2.025,0,0,1-2.021,2.023h-9.1a2.025,2.025,0,0,1-2.021-2.023V30H63.3a2.278,2.278,0,0,0-2.274,2.274L61,52.1a2.275,2.275,0,0,0,2.274,2.279H78.433a2.278,2.278,0,0,0,2.274-2.274l.022-19.83A2.263,2.263,0,0,0,80.064,30.668Zm-8.942,6.92h5.385a.759.759,0,0,1,0,1.518H71.122a.759.759,0,0,1,0-1.518Zm0,5.059h5.385a.759.759,0,0,1,0,1.518H71.122a.759.759,0,0,1,0-1.518Zm0,5.059h5.407a.759.759,0,0,1,0,1.518H71.122a.759.759,0,0,1,0-1.518ZM64.664,37.618a.757.757,0,0,1,1.072,0l.412.413,1.748-1.75a.758.758,0,1,1,1.072,1.073L66.684,39.64a.757.757,0,0,1-1.072,0l-.948-.949a.759.759,0,0,1,0-1.073Zm0,5.445a.757.757,0,0,1,1.072,0l.412.413,1.748-1.75A.758.758,0,0,1,68.968,42.8l-2.284,2.286a.757.757,0,0,1-1.072,0l-.948-.949A.759.759,0,0,1,64.664,43.063Zm0,5.059a.757.757,0,0,1,1.072,0l.412.413,1.748-1.75a.758.758,0,1,1,1.072,1.073l-2.284,2.286a.757.757,0,0,1-1.072,0l-.948-.949A.759.759,0,0,1,64.664,48.122Z" transform="translate(0 -28.482)" fill="#818181"/>
|
||||
<path id="Path_4715" data-name="Path 4715" d="M156.361,2.529a.506.506,0,0,0,.505.506h9.1a.506.506,0,0,0,.505-.506V.506A.506.506,0,0,0,165.962,0h-9.1a.506.506,0,0,0-.505.506Z" transform="translate(-90.537)" fill="#818181"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 732 B |
|
After Width: | Height: | Size: 702 B |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 610 B |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 518 B |
|
After Width: | Height: | Size: 187 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 17 KiB |
@ -0,0 +1,522 @@
|
||||
[
|
||||
{
|
||||
"id": "b8f10b10-221c-495d-b99b-6a8094892549",
|
||||
"titleEn": "How many time Uruguay won FIFA World Cups?",
|
||||
"titleAr": "How many time Uruguay won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/51b598b6-c837-45be-8734-1374978bd426_congratulations-gif.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 1,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "772e6062-543c-4ddc-e516-08dae8b36b35",
|
||||
"titleEn": "1",
|
||||
"titleAr": "1",
|
||||
"questionId": "b8f10b10-221c-495d-b99b-6a8094892549",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "ea3c673e-78c7-41dd-e517-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "b8f10b10-221c-495d-b99b-6a8094892549",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
},
|
||||
{
|
||||
"id": "7adbdfec-ef77-417e-e518-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "b8f10b10-221c-495d-b99b-6a8094892549",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "895eab85-e321-4d3e-e519-08dae8b36b35",
|
||||
"titleEn": "4",
|
||||
"titleAr": "4",
|
||||
"questionId": "b8f10b10-221c-495d-b99b-6a8094892549",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "0d60d55f-4067-48f9-9ace-b6309c6a7cf0",
|
||||
"titleEn": "Who is the current FIFA World Cup Winner?",
|
||||
"titleAr": "Who is the current FIFA World Cup Winner?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/24dddc50-7583-48b4-9fec-8a490d246191_great-thumbs.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "dd0ba127-26ed-4308-e50e-08dae8b36b35",
|
||||
"titleEn": "Brazil",
|
||||
"titleAr": "Brazil",
|
||||
"questionId": "0d60d55f-4067-48f9-9ace-b6309c6a7cf0",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "4748df31-95f0-4fee-e50f-08dae8b36b35",
|
||||
"titleEn": "Argentina",
|
||||
"titleAr": "Argentina",
|
||||
"questionId": "0d60d55f-4067-48f9-9ace-b6309c6a7cf0",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
},
|
||||
{
|
||||
"id": "4079d32a-891b-4e83-e510-08dae8b36b35",
|
||||
"titleEn": "Germany",
|
||||
"titleAr": "Germany",
|
||||
"questionId": "0d60d55f-4067-48f9-9ace-b6309c6a7cf0",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "1c17cfcd-9f19-4020-e511-08dae8b36b35",
|
||||
"titleEn": "France",
|
||||
"titleAr": "France",
|
||||
"questionId": "0d60d55f-4067-48f9-9ace-b6309c6a7cf0",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "489659b0-0400-4b64-8ce2-e6fe48db61db",
|
||||
"titleEn": "How many times England won FIFA World Cups?",
|
||||
"titleAr": "How many times England won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/a9ffa364-231c-4877-824f-84febac51086_thumbs-up-simon-cowell.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "7f63cd45-ce2c-417f-e502-08dae8b36b35",
|
||||
"titleEn": "1",
|
||||
"titleAr": "1",
|
||||
"questionId": "489659b0-0400-4b64-8ce2-e6fe48db61db",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
},
|
||||
{
|
||||
"id": "34690bfa-0ffd-453f-e503-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "489659b0-0400-4b64-8ce2-e6fe48db61db",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "4526efdd-ff6f-4340-e504-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "489659b0-0400-4b64-8ce2-e6fe48db61db",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "65d06188-fa63-49fd-e505-08dae8b36b35",
|
||||
"titleEn": "4",
|
||||
"titleAr": "4",
|
||||
"questionId": "489659b0-0400-4b64-8ce2-e6fe48db61db",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "253fc396-dab9-41ca-82bd-511f98c5dee8",
|
||||
"titleEn": "How many time Germany won FIFA World Cups?",
|
||||
"titleAr": "How many time Germany won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/012d6493-3612-42c9-8f6f-84417d4736d4_good-job-well-done.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "dce4999c-5629-45f4-e4f6-08dae8b36b35",
|
||||
"titleEn": "1",
|
||||
"titleAr": "1",
|
||||
"questionId": "253fc396-dab9-41ca-82bd-511f98c5dee8",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "00913ba1-5ccc-4d7c-e4f7-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "253fc396-dab9-41ca-82bd-511f98c5dee8",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "9e5f5e89-608e-4fc9-e4f8-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "253fc396-dab9-41ca-82bd-511f98c5dee8",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "a535cacf-ee4d-4895-e4f9-08dae8b36b35",
|
||||
"titleEn": "4",
|
||||
"titleAr": "4",
|
||||
"questionId": "253fc396-dab9-41ca-82bd-511f98c5dee8",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "669c4fe2-a3e6-4e29-8c56-ae09efa9ba6c",
|
||||
"titleEn": "How many times Portugal won FIFA World Cups?",
|
||||
"titleAr": "How many times Portugal won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/ca3f32a1-ed9f-45df-b2fb-3d1df78d5651_congrats-14.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "597c308e-3f09-4a05-e506-08dae8b36b35",
|
||||
"titleEn": "0",
|
||||
"titleAr": "0",
|
||||
"questionId": "669c4fe2-a3e6-4e29-8c56-ae09efa9ba6c",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
},
|
||||
{
|
||||
"id": "2face927-7c8e-4945-e507-08dae8b36b35",
|
||||
"titleEn": "1",
|
||||
"titleAr": "1",
|
||||
"questionId": "669c4fe2-a3e6-4e29-8c56-ae09efa9ba6c",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "bde21640-798e-4750-e508-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "669c4fe2-a3e6-4e29-8c56-ae09efa9ba6c",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "9312acac-f0c3-4ed4-e509-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "669c4fe2-a3e6-4e29-8c56-ae09efa9ba6c",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "f91774ce-14f0-4af0-9a77-e649bc013b44",
|
||||
"titleEn": "How many times Spain won FIFA World Cups?",
|
||||
"titleAr": "How many times Spain won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/6484c5bc-09fd-4586-8036-67868afbe27b_good-job-well-done.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "2f968964-ce91-4478-e512-08dae8b36b35",
|
||||
"titleEn": "1",
|
||||
"titleAr": "1",
|
||||
"questionId": "f91774ce-14f0-4af0-9a77-e649bc013b44",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
},
|
||||
{
|
||||
"id": "4fed9355-2c9f-458d-e513-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "f91774ce-14f0-4af0-9a77-e649bc013b44",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "8f232a43-3792-4cd0-e514-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "f91774ce-14f0-4af0-9a77-e649bc013b44",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "24478e43-bf4c-4852-e515-08dae8b36b35",
|
||||
"titleEn": "4",
|
||||
"titleAr": "4",
|
||||
"questionId": "f91774ce-14f0-4af0-9a77-e649bc013b44",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "fd3a90e6-5b35-4035-bc1c-4483facaf6d3",
|
||||
"titleEn": "How many times France won FIFA World Cups?",
|
||||
"titleAr": "How many times France won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/24dddc50-7583-48b4-9fec-8a490d246191_great-thumbs.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "9d0743e0-9f3f-48d0-e4fa-08dae8b36b35",
|
||||
"titleEn": "1",
|
||||
"titleAr": "1",
|
||||
"questionId": "fd3a90e6-5b35-4035-bc1c-4483facaf6d3",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "a81eda99-d9ad-49e0-e4fb-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "fd3a90e6-5b35-4035-bc1c-4483facaf6d3",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
},
|
||||
{
|
||||
"id": "7ca78891-890d-4023-e4fc-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "fd3a90e6-5b35-4035-bc1c-4483facaf6d3",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "d1a98bd9-8afa-49c1-e4fd-08dae8b36b35",
|
||||
"titleEn": "4",
|
||||
"titleAr": "4",
|
||||
"questionId": "fd3a90e6-5b35-4035-bc1c-4483facaf6d3",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "3a35855d-3ed7-4d45-8864-9135d71378de",
|
||||
"titleEn": "How many time Argentina won FIFA World Cups?",
|
||||
"titleAr": "How many time Argentina won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/24dddc50-7583-48b4-9fec-8a490d246191_great-thumbs.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "f0766816-837f-47e6-e51a-08dae8b36b35",
|
||||
"titleEn": "1",
|
||||
"titleAr": "1",
|
||||
"questionId": "3a35855d-3ed7-4d45-8864-9135d71378de",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "dc9c68de-afa4-4b63-e51b-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "3a35855d-3ed7-4d45-8864-9135d71378de",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "52f2d024-8a29-4781-e51c-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "3a35855d-3ed7-4d45-8864-9135d71378de",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
},
|
||||
{
|
||||
"id": "122636e4-5e98-499e-e51d-08dae8b36b35",
|
||||
"titleEn": "4",
|
||||
"titleAr": "4",
|
||||
"questionId": "3a35855d-3ed7-4d45-8864-9135d71378de",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "6c9d809d-683b-4d77-b98e-62a0d083488a",
|
||||
"titleEn": "How many times Brazil won FIFA World Cups?",
|
||||
"titleAr": "How many times Brazil won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/a9ffa364-231c-4877-824f-84febac51086_thumbs-up-simon-cowell.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "4e94437a-b10d-46c6-e4fe-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "6c9d809d-683b-4d77-b98e-62a0d083488a",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "6e0e8baa-c13e-45f1-e4ff-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "6c9d809d-683b-4d77-b98e-62a0d083488a",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "3065d26a-9aa4-4626-e500-08dae8b36b35",
|
||||
"titleEn": "4",
|
||||
"titleAr": "4",
|
||||
"questionId": "6c9d809d-683b-4d77-b98e-62a0d083488a",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "6cc3ff60-02cc-4e59-e501-08dae8b36b35",
|
||||
"titleEn": "5",
|
||||
"titleAr": "5",
|
||||
"questionId": "6c9d809d-683b-4d77-b98e-62a0d083488a",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "e8c8442e-f370-444d-bee9-f7f75d146e5c",
|
||||
"titleEn": "How many times Italy won FIFA World Cups?",
|
||||
"titleAr": "How many times Italy won FIFA World Cups?",
|
||||
"marathonId": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"questionTypeId": 1,
|
||||
"questionTime": 10,
|
||||
"nextQuestGap": 5,
|
||||
"gapType": 0,
|
||||
"gapText": null,
|
||||
"gapImage": "Questions/34f3c402-1244-4320-98c2-751cb2a347c5_congrats-1.gif",
|
||||
"questOptionsLimit": 0,
|
||||
"remainingParticipantCount": 0,
|
||||
"questionOptions": [
|
||||
{
|
||||
"id": "53d456b7-8f56-4c58-e50a-08dae8b36b35",
|
||||
"titleEn": "1",
|
||||
"titleAr": "1",
|
||||
"questionId": "e8c8442e-f370-444d-bee9-f7f75d146e5c",
|
||||
"sequence": 1,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "280df6d7-ca61-4d78-e50b-08dae8b36b35",
|
||||
"titleEn": "2",
|
||||
"titleAr": "2",
|
||||
"questionId": "e8c8442e-f370-444d-bee9-f7f75d146e5c",
|
||||
"sequence": 2,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "769939dc-4a46-4f4f-e50c-08dae8b36b35",
|
||||
"titleEn": "3",
|
||||
"titleAr": "3",
|
||||
"questionId": "e8c8442e-f370-444d-bee9-f7f75d146e5c",
|
||||
"sequence": 3,
|
||||
"image": "null",
|
||||
"isCorrectOption": false
|
||||
},
|
||||
{
|
||||
"id": "c389fae7-0019-4922-e50d-08dae8b36b35",
|
||||
"titleEn": "4",
|
||||
"titleAr": "4",
|
||||
"questionId": "e8c8442e-f370-444d-bee9-f7f75d146e5c",
|
||||
"sequence": 4,
|
||||
"image": "null",
|
||||
"isCorrectOption": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"id": "979813be-eafa-4d3e-d27e-08dae8a08a3b",
|
||||
"titleEn": "FIFA World Cup",
|
||||
"titleAr": "undefined",
|
||||
"descEn": "FIFA World Cup Description",
|
||||
"descAr": "undefined",
|
||||
"questionTime": 10,
|
||||
"winDeciderTime": 30,
|
||||
"winnersCount": 1,
|
||||
"questGapTime": 5,
|
||||
"startTime": "2022-12-28T10:44:41",
|
||||
"endTime": null,
|
||||
"marathoneStatusId": 4,
|
||||
"scheduleTime": "2022-12-28T10:14:41",
|
||||
"selectedLanguage": 0,
|
||||
"projects": {
|
||||
"id": "b1cd3fa3-bb27-422e-a4c1-08dac09254df",
|
||||
"nameEn": "Cloud Solutions",
|
||||
"nameAr": "333شركة حلول السحابة للاتصالات وتقنية المعلومات",
|
||||
"projectCode": "CS"
|
||||
},
|
||||
"sponsors": [
|
||||
{
|
||||
"id": "3272b127-b388-4f09-425b-08dac2eb788e",
|
||||
"nameEn": "Cloud Solutions",
|
||||
"nameAr": "حل السحابة",
|
||||
"image": "SponsorImage/b9aed4a8-42b2-45fc-b6f1-47ee0c7b4138_sponsor.jpeg",
|
||||
"video": "SponsorVideo/9ab678ab-1b4c-4ea4-aaf2-32ce1353d3fe_sample-10s.mp4",
|
||||
"logo": "SponsorLogo/eb029f0d-bce1-4a61-b0c0-abaa484912a0_sponsor.jpeg",
|
||||
"videoDuration": null,
|
||||
"sponsorPrizes": [
|
||||
{
|
||||
"id": "e657a18c-6fb2-4099-07c8-08dae89efcd3",
|
||||
"marathonPrizeEn": "SAR 500",
|
||||
"marathonPrizeAr": "SAR 500"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"questions": null,
|
||||
"isEmailSent": false,
|
||||
"totalQuestions": 10,
|
||||
"cancelReason": null,
|
||||
"marathonBufferTime": 30,
|
||||
"currentTime": "2022-12-28T08:03:24.3671803Z"
|
||||
}
|
||||
|
After Width: | Height: | Size: 163 KiB |
@ -0,0 +1,25 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:logger/logger.dart' as L;
|
||||
import 'package:mohem_flutter_app/models/marathon/marathon_model.dart';
|
||||
import 'package:mohem_flutter_app/models/marathon/question_model.dart';
|
||||
|
||||
class DemoMarathonRepo {
|
||||
L.Logger logger = L.Logger();
|
||||
|
||||
Future<MarathonDetailModel> getDemoMarathonDetails() async {
|
||||
String response = await rootBundle.loadString('assets/json/demo_upcoming_marathon');
|
||||
var json = jsonDecode(response);
|
||||
MarathonDetailModel marathonDetailModel = MarathonDetailModel.fromJson(json);
|
||||
return marathonDetailModel;
|
||||
}
|
||||
|
||||
Future<QuestionModel> getDemoNextQuestion({required int currentQuestionNumber}) async {
|
||||
String response = await rootBundle.loadString('assets/json/demo_questions_marathon');
|
||||
List json = jsonDecode(response);
|
||||
QuestionModel currentQuestion = QuestionModel.fromJson(json.elementAt(currentQuestionNumber));
|
||||
|
||||
return currentQuestion;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class EmailImageEncryption {
|
||||
static final EmailImageEncryption _instance = EmailImageEncryption._internal();
|
||||
static const MethodChannel _channel = MethodChannel('flutter_des');
|
||||
static const key = "PeShVmYp";
|
||||
static const iv = "j70IbWYn";
|
||||
|
||||
EmailImageEncryption._internal();
|
||||
|
||||
factory EmailImageEncryption() => _instance;
|
||||
|
||||
Future<String> encrypt({required String val}) async {
|
||||
Uint8List? crypt = await _channel.invokeMethod('encrypt', [val, key, iv]);
|
||||
String enc = base64Encode(crypt!.toList());
|
||||
return enc;
|
||||
}
|
||||
|
||||
Future<String> decrypt({required String encodedVal}) async {
|
||||
Uint8List deco = base64Decode(encodedVal);
|
||||
String? decCrypt = await _channel.invokeMethod('decrypt', [deco, key, iv]);
|
||||
return decCrypt!;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,279 @@
|
||||
// import 'dart:io';
|
||||
//
|
||||
// import 'package:firebase_core/firebase_core.dart';
|
||||
// import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
// import 'package:flutter/foundation.dart';
|
||||
// import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||
// import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
|
||||
// import 'package:huawei_push/huawei_push.dart' as huawei_push;
|
||||
// import 'package:mohem_flutter_app/app_state/app_state.dart';
|
||||
// import 'package:mohem_flutter_app/classes/utils.dart';
|
||||
// import 'package:permission_handler/permission_handler.dart';
|
||||
//
|
||||
// final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
|
||||
//
|
||||
// class AppNotifications {
|
||||
// static final AppNotifications _instance = AppNotifications._internal();
|
||||
//
|
||||
// AppNotifications._internal();
|
||||
//
|
||||
// factory AppNotifications() => _instance;
|
||||
//
|
||||
// late HmsApiAvailability hmsApiAvailability;
|
||||
//
|
||||
// String _huaweiToken = '';
|
||||
//
|
||||
// Future<void> requestPermissions() async {
|
||||
// if (Platform.isIOS) {
|
||||
// await flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation<IOSFlutterLocalNotificationsPlugin>()?.requestPermissions(alert: true, badge: true, sound: true);
|
||||
// } else if (Platform.isAndroid) {
|
||||
// AndroidFlutterLocalNotificationsPlugin? androidImplementation = flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation<AndroidFlutterLocalNotificationsPlugin>();
|
||||
// bool? granted = await androidImplementation?.requestPermission();
|
||||
// if (granted == false) {
|
||||
// if (kDebugMode) {
|
||||
// print("-------------------- Permission Granted ------------------------");
|
||||
// print(granted);
|
||||
// }
|
||||
// await Permission.notification.request();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// void init(String? firebaseToken) async {
|
||||
// hmsApiAvailability = HmsApiAvailability();
|
||||
// await requestPermissions();
|
||||
// AppState().setDeviceToken = firebaseToken;
|
||||
// await Permission.notification.isDenied.then((bool value) {
|
||||
// if (value) {
|
||||
// Permission.notification.request();
|
||||
// }
|
||||
// });
|
||||
// RemoteMessage? initialMessage = await FirebaseMessaging.instance.getInitialMessage();
|
||||
//
|
||||
// if (initialMessage != null) _handleMessage(initialMessage);
|
||||
//
|
||||
// FirebaseMessaging.onMessage.listen((RemoteMessage message) {
|
||||
// if (message.notification != null) _handleMessage(message);
|
||||
// });
|
||||
//
|
||||
// FirebaseMessaging.onMessageOpenedApp.listen(_handleOpenApp);
|
||||
//
|
||||
// FirebaseMessaging.onBackgroundMessage(backgroundMessageHandler);
|
||||
//
|
||||
// FirebaseMessaging.instance.onTokenRefresh.listen((String token) {
|
||||
// AppState().setDeviceToken = token;
|
||||
// });
|
||||
//
|
||||
// if (Platform.isAndroid) {
|
||||
// await hmsApiAvailability.isHMSAvailable().then((value) async {
|
||||
// if (value == 0) {
|
||||
// huawei_push.Push.enableLogger();
|
||||
// var result = await huawei_push.Push.setAutoInitEnabled(true);
|
||||
//
|
||||
// huawei_push.Push.onNotificationOpenedApp.listen((message) {
|
||||
// // newMessage(toFirebaseRemoteMessage(message));
|
||||
// }, onError: (e) => print(e.toString()));
|
||||
//
|
||||
// huawei_push.Push.onMessageReceivedStream.listen((message) {
|
||||
// // newMessage(toFirebaseRemoteMessage(message));
|
||||
// }, onError: (e) => print(e.toString()));
|
||||
// }
|
||||
// }).catchError((err) {
|
||||
// print(err);
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// void initHuaweiPush(Function loginCallback) {
|
||||
// AppState().setIsHuawei = true;
|
||||
// initTokenStream(loginCallback);
|
||||
// huawei_push.Push.getToken("");
|
||||
// }
|
||||
//
|
||||
// // HUAWEI PUSH TOKEN IMPLEMENTATION
|
||||
// void _onTokenEvent(String event) {
|
||||
// _huaweiToken = event;
|
||||
// AppState().setHuaweiPushToken = _huaweiToken;
|
||||
// debugPrint("HUAWEI PUSH TOKEN: $_huaweiToken");
|
||||
// }
|
||||
//
|
||||
// void _onTokenError(Object error) {}
|
||||
//
|
||||
// Future<void> initTokenStream(Function loginCallback) async {
|
||||
// huawei_push.Push.getTokenStream.listen(_onTokenEvent, onError: _onTokenError).onData((data) {
|
||||
// AppState().setHuaweiPushToken = data;
|
||||
// debugPrint("HUAWEI PUSH TOKEN: $data");
|
||||
// loginCallback();
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// void _handleMessage(RemoteMessage message) {
|
||||
// Utils.saveStringFromPrefs("isAppOpendByChat", "false");
|
||||
// }
|
||||
//
|
||||
// void _handleOpenApp(RemoteMessage message) {
|
||||
// Utils.saveStringFromPrefs("isAppOpendByChat", "true");
|
||||
// Utils.saveStringFromPrefs("notificationData", message.data["user_chat_history_response"].toString());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// AndroidNotificationChannel channel = const AndroidNotificationChannel(
|
||||
// "high_importance_channel",
|
||||
// "High Importance Notifications",
|
||||
// importance: Importance.high,
|
||||
// );
|
||||
//
|
||||
// Future<dynamic> backgroundMessageHandler(RemoteMessage message) async {
|
||||
// await Firebase.initializeApp();
|
||||
// Utils.saveStringFromPrefs("isAppOpendByChat", "false");
|
||||
// Utils.saveStringFromPrefs("notificationData", message.data["user_chat_history_response"].toString());
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//************** NEW fILE *****************
|
||||
|
||||
|
||||
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:firebase_core/firebase_core.dart';
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||
|
||||
// import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
|
||||
import 'package:huawei_push/huawei_push.dart' as huawei_push;
|
||||
import 'package:mohem_flutter_app/app_state/app_state.dart';
|
||||
import 'package:mohem_flutter_app/classes/utils.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
|
||||
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
|
||||
|
||||
class AppNotifications {
|
||||
static final AppNotifications _instance = AppNotifications._internal();
|
||||
|
||||
AppNotifications._internal();
|
||||
|
||||
factory AppNotifications() => _instance;
|
||||
|
||||
// late HmsApiAvailability hmsApiAvailability;
|
||||
|
||||
String _huaweiToken = '';
|
||||
|
||||
Future<void> requestPermissions() async {
|
||||
if (Platform.isIOS) {
|
||||
await flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation<IOSFlutterLocalNotificationsPlugin>()?.requestPermissions(alert: true, badge: true, sound: true);
|
||||
} else if (Platform.isAndroid) {
|
||||
AndroidFlutterLocalNotificationsPlugin? androidImplementation = flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation<AndroidFlutterLocalNotificationsPlugin>();
|
||||
bool? granted = await androidImplementation?.requestPermission();
|
||||
if (granted == false) {
|
||||
if (kDebugMode) {
|
||||
print("-------------------- Permission Granted ------------------------");
|
||||
print(granted);
|
||||
}
|
||||
await Permission.notification.request();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void init(String? firebaseToken) async {
|
||||
// if (Platform.isAndroid) {
|
||||
// hmsApiAvailability = HmsApiAvailability();
|
||||
// }
|
||||
|
||||
await requestPermissions();
|
||||
AppState().setDeviceToken = firebaseToken;
|
||||
await Permission.notification.isDenied.then((bool value) {
|
||||
if (value) {
|
||||
Permission.notification.request();
|
||||
}
|
||||
});
|
||||
RemoteMessage? initialMessage = await FirebaseMessaging.instance.getInitialMessage();
|
||||
|
||||
if (initialMessage != null) _handleMessage(initialMessage);
|
||||
|
||||
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
|
||||
if (message.notification != null) _handleMessage(message);
|
||||
});
|
||||
|
||||
FirebaseMessaging.onMessageOpenedApp.listen(_handleOpenApp);
|
||||
|
||||
FirebaseMessaging.onBackgroundMessage(backgroundMessageHandler);
|
||||
|
||||
FirebaseMessaging.instance.onTokenRefresh.listen((String token) {
|
||||
AppState().setDeviceToken = token;
|
||||
});
|
||||
|
||||
if (Platform.isAndroid) {
|
||||
// await hmsApiAvailability.isHMSAvailable().then((value) async {
|
||||
if (!(await Utils.isGoogleServicesAvailable())) {
|
||||
huawei_push.Push.enableLogger();
|
||||
var result = await huawei_push.Push.setAutoInitEnabled(true);
|
||||
|
||||
huawei_push.Push.onNotificationOpenedApp.listen((message) {
|
||||
// newMessage(toFirebaseRemoteMessage(message));
|
||||
}, onError: (e) => print(e.toString()));
|
||||
|
||||
huawei_push.Push.onMessageReceivedStream.listen((message) {
|
||||
// newMessage(toFirebaseRemoteMessage(message));
|
||||
}, onError: (e) => print(e.toString()));
|
||||
}
|
||||
// }).catchError((err) {
|
||||
// print(err);
|
||||
// });
|
||||
}
|
||||
}
|
||||
|
||||
void initHuaweiPush(Function loginCallback) {
|
||||
AppState().setIsHuawei = true;
|
||||
initTokenStream(loginCallback);
|
||||
huawei_push.Push.getToken("");
|
||||
}
|
||||
|
||||
// HUAWEI PUSH TOKEN IMPLEMENTATION
|
||||
void _onTokenEvent(String event) {
|
||||
_huaweiToken = event;
|
||||
AppState().setHuaweiPushToken = _huaweiToken;
|
||||
debugPrint("HUAWEI PUSH TOKEN: $_huaweiToken");
|
||||
}
|
||||
|
||||
void _onTokenError(Object error) {}
|
||||
|
||||
Future<void> initTokenStream(Function loginCallback) async {
|
||||
huawei_push.Push.getTokenStream.listen(_onTokenEvent, onError: _onTokenError).onData((data) {
|
||||
AppState().setHuaweiPushToken = data;
|
||||
debugPrint("HUAWEI PUSH TOKEN: $data");
|
||||
loginCallback();
|
||||
});
|
||||
}
|
||||
|
||||
void _handleMessage(RemoteMessage message) {
|
||||
Utils.saveStringFromPrefs("isAppOpendByChat", "false");
|
||||
}
|
||||
|
||||
void _handleOpenApp(RemoteMessage message) {
|
||||
if (message.data.isNotEmpty && message.data["type"] == 'chat') {
|
||||
Utils.saveStringFromPrefs("isAppOpendByChat", "true");
|
||||
Utils.saveStringFromPrefs("notificationData", message.data["user_chat_history_response"].toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AndroidNotificationChannel channel = const AndroidNotificationChannel(
|
||||
"high_importance_channel",
|
||||
"High Importance Notifications",
|
||||
importance: Importance.high,
|
||||
);
|
||||
|
||||
Future<dynamic> backgroundMessageHandler(RemoteMessage message) async {
|
||||
await Firebase.initializeApp();
|
||||
Utils.saveStringFromPrefs("isAppOpendByChat", "false");
|
||||
Utils.saveStringFromPrefs("notificationData", message.data["user_chat_history_response"].toString());
|
||||
if (message.data.isNotEmpty && message.data["type"] == 'call') {
|
||||
// ChatVoipCall().showCallkitIncoming(uuid: const Uuid().v4(), data: message);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
var json = {};
|
||||
@ -0,0 +1,206 @@
|
||||
// ignore_for_file: prefer_single_quotes, lines_longer_than_80_chars final
|
||||
// link to generate dart class https://www.webinovers.com/web-tools/json-to-dart-convertor
|
||||
|
||||
Map<String, dynamic> _env = {
|
||||
"appConfig": "lib/config/config_en.json",
|
||||
"login": {
|
||||
"verification": true,
|
||||
"verificationMethod": {
|
||||
"whatsapp": false,
|
||||
},
|
||||
"forgetPassword": false
|
||||
},
|
||||
"bottomBar": false,
|
||||
"dashboard": {
|
||||
"attendance": false,
|
||||
"worklist": true,
|
||||
"ticketBalance": false,
|
||||
"leaveBalance": true,
|
||||
"missingSwipe": false,
|
||||
"monthlyAttendance": false,
|
||||
"vocationRules": false,
|
||||
},
|
||||
"itg": false,
|
||||
"marathon": false,
|
||||
"offersDiscount": false,
|
||||
"myTeams": false,
|
||||
"modifiy": false,
|
||||
"myRequest": false,
|
||||
"pendingTransactions": false,
|
||||
"myProfile": false,
|
||||
"itemsForSale": false,
|
||||
"chat": false,
|
||||
"monthlyAttendance": true,
|
||||
"vocationRules": false,
|
||||
"canEdit": false,
|
||||
};
|
||||
|
||||
Env env = Env.fromJson(_env);
|
||||
|
||||
class Env {
|
||||
Env({
|
||||
required this.appConfig,
|
||||
required this.login,
|
||||
required this.bottomBar,
|
||||
required this.dashboard,
|
||||
required this.itg,
|
||||
required this.marathon,
|
||||
required this.offersDiscount,
|
||||
required this.myTeams,
|
||||
required this.modifiy,
|
||||
required this.myRequest,
|
||||
required this.pendingTransactions,
|
||||
required this.myProfile,
|
||||
required this.itemsForSale,
|
||||
required this.chat,
|
||||
required this.monthlyAttendance,
|
||||
required this.vocationRules,
|
||||
required this.canEdit,
|
||||
});
|
||||
|
||||
late final String appConfig;
|
||||
late final Login login;
|
||||
late final bool bottomBar;
|
||||
late final Dashboard dashboard;
|
||||
late final bool itg;
|
||||
late final bool marathon;
|
||||
late final bool offersDiscount;
|
||||
late final bool myTeams;
|
||||
late final bool modifiy;
|
||||
late final bool myRequest;
|
||||
late final bool pendingTransactions;
|
||||
late final bool myProfile;
|
||||
late final bool itemsForSale;
|
||||
late final bool chat;
|
||||
late final bool monthlyAttendance;
|
||||
late final bool vocationRules;
|
||||
late final bool canEdit;
|
||||
|
||||
Env.fromJson(Map<String, dynamic> json) {
|
||||
appConfig = json['appConfig'];
|
||||
login = Login.fromJson(json['login']);
|
||||
bottomBar = json['bottomBar'];
|
||||
dashboard = Dashboard.fromJson(json['dashboard']);
|
||||
marathon = json['marathon'];
|
||||
itg = json['itg'];
|
||||
offersDiscount = json['offersDiscount'];
|
||||
myTeams = json['myTeams'];
|
||||
modifiy = json['modifiy'];
|
||||
myRequest = json['myRequest'];
|
||||
pendingTransactions = json['pendingTransactions'];
|
||||
myProfile = json['myProfile'];
|
||||
itemsForSale = json['itemsForSale'];
|
||||
chat = json['chat'];
|
||||
monthlyAttendance = json['monthlyAttendance'];
|
||||
vocationRules = json['vocationRules'];
|
||||
canEdit = json['canEdit'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
var _data = <String, dynamic>{};
|
||||
_data['appConfig'] = appConfig;
|
||||
_data['login'] = login.toJson();
|
||||
_data['bottomBar'] = bottomBar;
|
||||
_data['dashboard'] = dashboard.toJson();
|
||||
_data['marathon'] = marathon;
|
||||
_data['itg'] = itg;
|
||||
_data['offersDiscount'] = offersDiscount;
|
||||
_data['myTeams'] = myTeams;
|
||||
_data['modifiy'] = modifiy;
|
||||
_data['myRequest'] = myRequest;
|
||||
_data['pendingTransactions'] = pendingTransactions;
|
||||
_data['myProfile'] = myProfile;
|
||||
_data['itemsForSale'] = itemsForSale;
|
||||
_data['chat'] = chat;
|
||||
_data['monthlyAttendance'] = monthlyAttendance;
|
||||
_data['vocationRules'] = vocationRules;
|
||||
_data['canEdit'] = canEdit;
|
||||
return _data;
|
||||
}
|
||||
}
|
||||
|
||||
class Login {
|
||||
Login({
|
||||
required this.verification,
|
||||
required this.verificationMethod,
|
||||
required this.forgetPassword,
|
||||
});
|
||||
|
||||
late final bool verification;
|
||||
late final VerificationMethod verificationMethod;
|
||||
late final bool forgetPassword;
|
||||
|
||||
Login.fromJson(Map<String, dynamic> json) {
|
||||
verification = json['verification'];
|
||||
verificationMethod = VerificationMethod.fromJson(json['verificationMethod']);
|
||||
forgetPassword = json['forgetPassword'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
var _data = <String, dynamic>{};
|
||||
_data['verification'] = verification;
|
||||
_data['verificationMethod'] = verificationMethod.toJson();
|
||||
_data['forgetPassword'] = forgetPassword;
|
||||
return _data;
|
||||
}
|
||||
}
|
||||
|
||||
class VerificationMethod {
|
||||
VerificationMethod({
|
||||
required this.whatsapp,
|
||||
});
|
||||
|
||||
late final bool whatsapp;
|
||||
|
||||
VerificationMethod.fromJson(Map<String, dynamic> json) {
|
||||
whatsapp = json['whatsapp'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
var _data = <String, dynamic>{};
|
||||
_data['whatsapp'] = whatsapp;
|
||||
return _data;
|
||||
}
|
||||
}
|
||||
|
||||
class Dashboard {
|
||||
Dashboard({
|
||||
required this.attendance,
|
||||
required this.worklist,
|
||||
required this.ticketBalance,
|
||||
required this.leaveBalance,
|
||||
required this.missingSwipe,
|
||||
required this.monthlyAttendance,
|
||||
required this.vocationRules,
|
||||
});
|
||||
|
||||
late final bool attendance;
|
||||
late final bool worklist;
|
||||
late final bool ticketBalance;
|
||||
late final bool leaveBalance;
|
||||
late final bool missingSwipe;
|
||||
late final bool monthlyAttendance;
|
||||
late final bool vocationRules;
|
||||
|
||||
Dashboard.fromJson(Map<String, dynamic> json) {
|
||||
attendance = json['attendance'];
|
||||
worklist = json['worklist'];
|
||||
ticketBalance = json['ticketBalance'];
|
||||
leaveBalance = json['leaveBalance'];
|
||||
missingSwipe = json['missingSwipe'];
|
||||
monthlyAttendance = json['monthlyAttendance'];
|
||||
vocationRules = json['vocationRules'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
var _data = <String, dynamic>{};
|
||||
_data['attendance'] = attendance;
|
||||
_data['worklist'] = worklist;
|
||||
_data['ticketBalance'] = ticketBalance;
|
||||
_data['leaveBalance'] = leaveBalance;
|
||||
_data['missingSwipe'] = missingSwipe;
|
||||
_data['monthlyAttendance'] = monthlyAttendance;
|
||||
_data['vocationRules'] = vocationRules;
|
||||
return _data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
// To parse this JSON data, do
|
||||
//
|
||||
// final chatUserImageModel = chatUserImageModelFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<ChatUserImageModel> chatUserImageModelFromJson(String str) => List<ChatUserImageModel>.from(json.decode(str).map((x) => ChatUserImageModel.fromJson(x)));
|
||||
|
||||
String chatUserImageModelToJson(List<ChatUserImageModel> data) => json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class ChatUserImageModel {
|
||||
ChatUserImageModel({
|
||||
this.email,
|
||||
this.profilePicture,
|
||||
this.mobileNumber,
|
||||
});
|
||||
|
||||
String? email;
|
||||
String? profilePicture;
|
||||
String? mobileNumber;
|
||||
|
||||
factory ChatUserImageModel.fromJson(Map<String, dynamic> json) => ChatUserImageModel(
|
||||
email: json["email"] == null ? null : json["email"],
|
||||
profilePicture: json["profilePicture"] == null ? null : json["profilePicture"],
|
||||
mobileNumber: json["mobileNumber"] == null ? null : json["mobileNumber"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"email": email == null ? null : email,
|
||||
"profilePicture": profilePicture == null ? null : profilePicture,
|
||||
"mobileNumber": mobileNumber == null ? null : mobileNumber,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
// To parse this JSON data, do
|
||||
//
|
||||
// final employeeLeavesList = employeeLeavesListFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
EmployeeLeavesList employeeLeavesListFromJson(String str) => EmployeeLeavesList.fromJson(json.decode(str));
|
||||
|
||||
String employeeLeavesListToJson(EmployeeLeavesList data) => json.encode(data.toJson());
|
||||
|
||||
class EmployeeLeavesList {
|
||||
EmployeeLeavesList({
|
||||
this.absenceAttendanceTypeName,
|
||||
this.dateEnd,
|
||||
this.dateStart,
|
||||
this.eventDate,
|
||||
this.holidayType,
|
||||
this.leaveType,
|
||||
});
|
||||
|
||||
String? absenceAttendanceTypeName;
|
||||
String? dateEnd;
|
||||
String? dateStart;
|
||||
String? eventDate;
|
||||
String? holidayType;
|
||||
String? leaveType;
|
||||
|
||||
factory EmployeeLeavesList.fromJson(Map<String, dynamic> json) => EmployeeLeavesList(
|
||||
absenceAttendanceTypeName: json["ABSENCE_ATTENDANCE_TYPE_NAME"],
|
||||
dateEnd: json["DATE_END"],
|
||||
dateStart: json["DATE_START"],
|
||||
eventDate: json["EVENT_DATE"],
|
||||
holidayType: json["HOLIDAY_TYPE"],
|
||||
leaveType: json["LEAVE_TYPE"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"ABSENCE_ATTENDANCE_TYPE_NAME": absenceAttendanceTypeName,
|
||||
"DATE_END": dateEnd,
|
||||
"DATE_START": dateStart,
|
||||
"EVENT_DATE": eventDate,
|
||||
"HOLIDAY_TYPE": holidayType,
|
||||
"LEAVE_TYPE": leaveType,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,71 @@
|
||||
class SupervisorHierarchyLists {
|
||||
SupervisorHierarchyLists({
|
||||
this.subordinateHierarchyList,
|
||||
this.supervisorHierarchyList,
|
||||
});
|
||||
|
||||
List<HierarchyList>? subordinateHierarchyList;
|
||||
List<HierarchyList>? supervisorHierarchyList;
|
||||
|
||||
factory SupervisorHierarchyLists.fromJson(Map<String, dynamic> json) => SupervisorHierarchyLists(
|
||||
subordinateHierarchyList: json["SubordinateHierarchyList"] == null ? [] : List<HierarchyList>.from(json["SubordinateHierarchyList"]!.map((x) => HierarchyList.fromJson(x))),
|
||||
supervisorHierarchyList: json["SupervisorHierarchyList"] == null ? [] : List<HierarchyList>.from(json["SupervisorHierarchyList"]!.map((x) => HierarchyList.fromJson(x))),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"SubordinateHierarchyList": subordinateHierarchyList == null ? [] : List<dynamic>.from(subordinateHierarchyList!.map((x) => x.toJson())),
|
||||
"SupervisorHierarchyList": supervisorHierarchyList == null ? [] : List<dynamic>.from(supervisorHierarchyList!.map((x) => x.toJson())),
|
||||
};
|
||||
}
|
||||
|
||||
class HierarchyList {
|
||||
HierarchyList({
|
||||
this.employeeEmailAddress,
|
||||
this.employeeImage,
|
||||
this.employeeMobileNumber,
|
||||
this.employeeName,
|
||||
this.employeeNumber,
|
||||
this.employeeWorkNumber,
|
||||
this.lvl,
|
||||
this.numOfSubordinates,
|
||||
this.organizationName,
|
||||
this.positionName,
|
||||
});
|
||||
|
||||
String? employeeEmailAddress;
|
||||
dynamic employeeImage;
|
||||
String? employeeMobileNumber;
|
||||
String? employeeName;
|
||||
String? employeeNumber;
|
||||
String? employeeWorkNumber;
|
||||
int? lvl;
|
||||
int? numOfSubordinates;
|
||||
String? organizationName;
|
||||
String? positionName;
|
||||
|
||||
factory HierarchyList.fromJson(Map<String, dynamic> json) => HierarchyList(
|
||||
employeeEmailAddress: json["EMPLOYEE_EMAIL_ADDRESS"],
|
||||
employeeImage: json["EMPLOYEE_IMAGE"],
|
||||
employeeMobileNumber: json["EMPLOYEE_MOBILE_NUMBER"],
|
||||
employeeName: json["EMPLOYEE_NAME"],
|
||||
employeeNumber: json["EMPLOYEE_NUMBER"],
|
||||
employeeWorkNumber: json["EMPLOYEE_WORK_NUMBER"],
|
||||
lvl: json["LVL"],
|
||||
numOfSubordinates: json["NUM_OF_SUBORDINATES"],
|
||||
organizationName: json["ORGANIZATION_NAME"],
|
||||
positionName: json["POSITION_NAME"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"EMPLOYEE_EMAIL_ADDRESS": employeeEmailAddress,
|
||||
"EMPLOYEE_IMAGE": employeeImage,
|
||||
"EMPLOYEE_MOBILE_NUMBER": employeeMobileNumber,
|
||||
"EMPLOYEE_NAME": employeeName,
|
||||
"EMPLOYEE_NUMBER": employeeNumber,
|
||||
"EMPLOYEE_WORK_NUMBER": employeeWorkNumber,
|
||||
"LVL": lvl,
|
||||
"NUM_OF_SUBORDINATES": numOfSubordinates,
|
||||
"ORGANIZATION_NAME": organizationName,
|
||||
"POSITION_NAME": positionName,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
class WinnerModel {
|
||||
String? id;
|
||||
String? marathoneId;
|
||||
String? employeeId;
|
||||
String? nameEn;
|
||||
String? nameAr;
|
||||
|
||||
WinnerModel({id, marathoneId, employeeId, nameEn, nameAr});
|
||||
|
||||
WinnerModel.fromJson(Map<String, dynamic> json) {
|
||||
id = json['id'];
|
||||
marathoneId = json['marathoneId'];
|
||||
employeeId = json['employeeId'];
|
||||
nameEn = json['nameEn'];
|
||||
nameAr = json['nameAr'];
|
||||
}
|
||||
}
|
||||
@ -1,96 +1,192 @@
|
||||
class OffersListModel {
|
||||
String? title;
|
||||
String? titleAR;
|
||||
String? description;
|
||||
String? descriptionAR;
|
||||
int? offersDiscountId;
|
||||
String? titleEn;
|
||||
String? titleAr;
|
||||
String? descriptionEn;
|
||||
String? descriptionAr;
|
||||
String? startDate;
|
||||
String? endDate;
|
||||
String? logo;
|
||||
String? bannerImage;
|
||||
String? discount;
|
||||
String? rowID;
|
||||
int? categoryId;
|
||||
String? categoryNameEn;
|
||||
String? categoryNameAr;
|
||||
String? categoryID;
|
||||
String? isHasLocation;
|
||||
String? discount;
|
||||
String? location;
|
||||
int? statusId;
|
||||
String? statusTitle;
|
||||
bool? isHasLocation;
|
||||
String? discountDescription;
|
||||
String? websiteUrl;
|
||||
bool? bookMarked;
|
||||
bool? isHotDeal;
|
||||
List<OffersDiscountImageColl>? offersDiscountImageColl;
|
||||
dynamic locationList;
|
||||
String? created;
|
||||
String? publishedDesc;
|
||||
String? published;
|
||||
String? expireAfter;
|
||||
String? status;
|
||||
String? isActive;
|
||||
String? totalItems;
|
||||
String? bannerImage;
|
||||
String? logo;
|
||||
bool? isActive;
|
||||
int? pageSize;
|
||||
int? pageNo;
|
||||
int? languageId;
|
||||
|
||||
OffersListModel(
|
||||
{this.title,
|
||||
this.titleAR,
|
||||
this.description,
|
||||
this.descriptionAR,
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.logo,
|
||||
this.bannerImage,
|
||||
this.discount,
|
||||
this.rowID,
|
||||
this.categoryNameEn,
|
||||
this.categoryNameAr,
|
||||
this.categoryID,
|
||||
this.isHasLocation,
|
||||
this.created,
|
||||
this.publishedDesc,
|
||||
this.published,
|
||||
this.expireAfter,
|
||||
this.status,
|
||||
this.isActive,
|
||||
this.totalItems});
|
||||
{this.offersDiscountId,
|
||||
this.titleEn,
|
||||
this.titleAr,
|
||||
this.descriptionEn,
|
||||
this.descriptionAr,
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.categoryId,
|
||||
this.categoryNameEn,
|
||||
this.categoryNameAr,
|
||||
this.discount,
|
||||
this.location,
|
||||
this.statusId,
|
||||
this.statusTitle,
|
||||
this.isHasLocation,
|
||||
this.discountDescription,
|
||||
this.websiteUrl,
|
||||
this.bookMarked,
|
||||
this.isHotDeal,
|
||||
this.offersDiscountImageColl,
|
||||
this.locationList,
|
||||
this.created,
|
||||
this.bannerImage,
|
||||
this.logo,
|
||||
this.isActive,
|
||||
this.pageSize,
|
||||
this.pageNo,
|
||||
this.languageId});
|
||||
|
||||
OffersListModel.fromJson(Map<String, dynamic> json) {
|
||||
title = json['Title'];
|
||||
titleAR = json['Title_AR'];
|
||||
description = json['Description'];
|
||||
descriptionAR = json['Description_AR'];
|
||||
startDate = json['Start Date'];
|
||||
endDate = json['End Date'];
|
||||
logo = json['Logo'];
|
||||
bannerImage = json['Banner_Image'];
|
||||
discount = json['Discount'];
|
||||
rowID = json['rowID'];
|
||||
offersDiscountId = json['offersDiscountId'];
|
||||
titleEn = json['titleEn'];
|
||||
titleAr = json['titleAr'];
|
||||
descriptionEn = json['descriptionEn'];
|
||||
descriptionAr = json['descriptionAr'];
|
||||
startDate = json['startDate'];
|
||||
endDate = json['endDate'];
|
||||
categoryId = json['categoryId'];
|
||||
categoryNameEn = json['categoryName_en'];
|
||||
categoryNameAr = json['categoryName_ar'];
|
||||
categoryID = json['categoryID'];
|
||||
isHasLocation = json['IsHasLocation'];
|
||||
discount = json['discount'];
|
||||
location = json['location'];
|
||||
statusId = json['statusId'];
|
||||
statusTitle = json['statusTitle'];
|
||||
isHasLocation = json['isHasLocation'];
|
||||
discountDescription = json['discountDescription'];
|
||||
websiteUrl = json['websiteUrl'];
|
||||
bookMarked = json['bookMarked'];
|
||||
isHotDeal = json['isHotDeal'];
|
||||
if (json['offersDiscountImageColl'] != null) {
|
||||
offersDiscountImageColl = <OffersDiscountImageColl>[];
|
||||
json['offersDiscountImageColl'].forEach((v) {
|
||||
offersDiscountImageColl!.add(new OffersDiscountImageColl.fromJson(v));
|
||||
});
|
||||
}
|
||||
locationList = json['locationList'];
|
||||
created = json['created'];
|
||||
publishedDesc = json['PublishedDesc'];
|
||||
published = json['Published'];
|
||||
expireAfter = json['ExpireAfter'];
|
||||
status = json['Status'];
|
||||
isActive = json['IsActive'];
|
||||
totalItems = json['TotalItems'];
|
||||
bannerImage = json['banner_Image'];
|
||||
logo = json['logo'];
|
||||
isActive = json['isActive'];
|
||||
pageSize = json['pageSize'];
|
||||
pageNo = json['pageNo'];
|
||||
languageId = json['languageId'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['Title'] = this.title;
|
||||
data['Title_AR'] = this.titleAR;
|
||||
data['Description'] = this.description;
|
||||
data['Description_AR'] = this.descriptionAR;
|
||||
data['Start Date'] = this.startDate;
|
||||
data['End Date'] = this.endDate;
|
||||
data['Logo'] = this.logo;
|
||||
data['Banner_Image'] = this.bannerImage;
|
||||
data['Discount'] = this.discount;
|
||||
data['rowID'] = this.rowID;
|
||||
data['offersDiscountId'] = this.offersDiscountId;
|
||||
data['titleEn'] = this.titleEn;
|
||||
data['titleAr'] = this.titleAr;
|
||||
data['descriptionEn'] = this.descriptionEn;
|
||||
data['descriptionAr'] = this.descriptionAr;
|
||||
data['startDate'] = this.startDate;
|
||||
data['endDate'] = this.endDate;
|
||||
data['categoryId'] = this.categoryId;
|
||||
data['categoryName_en'] = this.categoryNameEn;
|
||||
data['categoryName_ar'] = this.categoryNameAr;
|
||||
data['categoryID'] = this.categoryID;
|
||||
data['IsHasLocation'] = this.isHasLocation;
|
||||
data['discount'] = this.discount;
|
||||
data['location'] = this.location;
|
||||
data['statusId'] = this.statusId;
|
||||
data['statusTitle'] = this.statusTitle;
|
||||
data['isHasLocation'] = this.isHasLocation;
|
||||
data['discountDescription'] = this.discountDescription;
|
||||
data['websiteUrl'] = this.websiteUrl;
|
||||
data['bookMarked'] = this.bookMarked;
|
||||
data['isHotDeal'] = this.isHotDeal;
|
||||
if (this.offersDiscountImageColl != null) {
|
||||
data['offersDiscountImageColl'] = this.offersDiscountImageColl!.map((v) => v.toJson()).toList();
|
||||
}
|
||||
data['locationList'] = this.locationList;
|
||||
data['created'] = this.created;
|
||||
data['PublishedDesc'] = this.publishedDesc;
|
||||
data['Published'] = this.published;
|
||||
data['ExpireAfter'] = this.expireAfter;
|
||||
data['Status'] = this.status;
|
||||
data['IsActive'] = this.isActive;
|
||||
data['TotalItems'] = this.totalItems;
|
||||
data['banner_Image'] = this.bannerImage;
|
||||
data['logo'] = this.logo;
|
||||
data['isActive'] = this.isActive;
|
||||
data['pageSize'] = this.pageSize;
|
||||
data['pageNo'] = this.pageNo;
|
||||
data['languageId'] = this.languageId;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class OffersDiscountImageColl {
|
||||
int? imageAttachmentId;
|
||||
String? fileName;
|
||||
String? contentType;
|
||||
String? attachFileStream;
|
||||
String? base64String;
|
||||
int? referenceItemId;
|
||||
String? filePath;
|
||||
String? imageTag;
|
||||
bool? isActive;
|
||||
int? pageSize;
|
||||
int? pageNo;
|
||||
int? languageId;
|
||||
|
||||
OffersDiscountImageColl(
|
||||
{this.imageAttachmentId,
|
||||
this.fileName,
|
||||
this.contentType,
|
||||
this.attachFileStream,
|
||||
this.base64String,
|
||||
this.referenceItemId,
|
||||
this.filePath,
|
||||
this.imageTag,
|
||||
this.isActive,
|
||||
this.pageSize,
|
||||
this.pageNo,
|
||||
this.languageId});
|
||||
|
||||
OffersDiscountImageColl.fromJson(Map<String, dynamic> json) {
|
||||
imageAttachmentId = json['imageAttachmentId'];
|
||||
fileName = json['fileName'];
|
||||
contentType = json['contentType'];
|
||||
attachFileStream = json['attachFileStream'];
|
||||
base64String = json['base64String'];
|
||||
referenceItemId = json['referenceItemId'];
|
||||
filePath = json['filePath'];
|
||||
imageTag = json['imageTag'];
|
||||
isActive = json['isActive'];
|
||||
pageSize = json['pageSize'];
|
||||
pageNo = json['pageNo'];
|
||||
languageId = json['languageId'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['imageAttachmentId'] = this.imageAttachmentId;
|
||||
data['fileName'] = this.fileName;
|
||||
data['contentType'] = this.contentType;
|
||||
data['attachFileStream'] = this.attachFileStream;
|
||||
data['base64String'] = this.base64String;
|
||||
data['referenceItemId'] = this.referenceItemId;
|
||||
data['filePath'] = this.filePath;
|
||||
data['imageTag'] = this.imageTag;
|
||||
data['isActive'] = this.isActive;
|
||||
data['pageSize'] = this.pageSize;
|
||||
data['pageNo'] = this.pageNo;
|
||||
data['languageId'] = this.languageId;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
// To parse this JSON data, do
|
||||
//
|
||||
// final employeeQualificationsList = employeeQualificationsListFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
EmployeeQualificationsList employeeQualificationsListFromJson(String str) => EmployeeQualificationsList.fromJson(json.decode(str));
|
||||
|
||||
String employeeQualificationsListToJson(EmployeeQualificationsList data) => json.encode(data.toJson());
|
||||
|
||||
class EmployeeQualificationsList {
|
||||
EmployeeQualificationsList({
|
||||
this.establishment,
|
||||
this.grade,
|
||||
this.gradeDescription,
|
||||
this.qualificationType,
|
||||
this.status,
|
||||
});
|
||||
|
||||
String? establishment;
|
||||
String? grade;
|
||||
String? gradeDescription;
|
||||
String? qualificationType;
|
||||
String? status;
|
||||
|
||||
factory EmployeeQualificationsList.fromJson(Map<String, dynamic> json) => EmployeeQualificationsList(
|
||||
establishment: json["ESTABLISHMENT"],
|
||||
grade: json["GRADE"],
|
||||
gradeDescription: json["GRADE_DESCRIPTION"],
|
||||
qualificationType: json["QUALIFICATION_TYPE"],
|
||||
status: json["STATUS"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"ESTABLISHMENT": establishment,
|
||||
"GRADE": grade,
|
||||
"GRADE_DESCRIPTION": gradeDescription,
|
||||
"QUALIFICATION_TYPE": qualificationType,
|
||||
"STATUS": status,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
class GetAddressNotificationBodyList {
|
||||
String? pREVSEGMENTVALUEDSP;
|
||||
String? sEGMENTPROMPT;
|
||||
String? sEGMENTVALUEDSP;
|
||||
String? uPDATEDFLAG;
|
||||
|
||||
GetAddressNotificationBodyList(
|
||||
{this.pREVSEGMENTVALUEDSP,
|
||||
this.sEGMENTPROMPT,
|
||||
this.sEGMENTVALUEDSP,
|
||||
this.uPDATEDFLAG});
|
||||
|
||||
GetAddressNotificationBodyList.fromJson(Map<String, dynamic> json) {
|
||||
pREVSEGMENTVALUEDSP = json['PREV_SEGMENT_VALUE_DSP'];
|
||||
sEGMENTPROMPT = json['SEGMENT_PROMPT'];
|
||||
sEGMENTVALUEDSP = json['SEGMENT_VALUE_DSP'];
|
||||
uPDATEDFLAG = json['UPDATED_FLAG'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['PREV_SEGMENT_VALUE_DSP'] = this.pREVSEGMENTVALUEDSP;
|
||||
data['SEGMENT_PROMPT'] = this.sEGMENTPROMPT;
|
||||
data['SEGMENT_VALUE_DSP'] = this.sEGMENTVALUEDSP;
|
||||
data['UPDATED_FLAG'] = this.uPDATEDFLAG;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,187 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter_webrtc/flutter_webrtc.dart';
|
||||
import 'package:mohem_flutter_app/ui/landing/dashboard_screen.dart';
|
||||
|
||||
class ChatCallProvider with ChangeNotifier, DiagnosticableTreeMixin {
|
||||
///////////////////// Web RTC Video Calling //////////////////////
|
||||
// Video Call
|
||||
late RTCPeerConnection _peerConnection;
|
||||
RTCVideoRenderer _localVideoRenderer = RTCVideoRenderer();
|
||||
final RTCVideoRenderer _remoteRenderer = RTCVideoRenderer();
|
||||
|
||||
MediaStream? _localStream;
|
||||
MediaStream? _remoteStream;
|
||||
|
||||
void initCallListeners() {
|
||||
chatHubConnection.on("OnCallAcceptedAsync", onCallAcceptedAsync);
|
||||
chatHubConnection.on("OnIceCandidateAsync", onIceCandidateAsync);
|
||||
chatHubConnection.on("OnOfferAsync", onOfferAsync);
|
||||
chatHubConnection.on("OnAnswerOffer", onAnswerOffer);
|
||||
chatHubConnection.on("OnHangUpAsync", onHangUpAsync);
|
||||
chatHubConnection.on("OnCallDeclinedAsync", onCallDeclinedAsync);
|
||||
}
|
||||
|
||||
//Video Constraints
|
||||
var videoConstraints = {
|
||||
"video": {
|
||||
"mandatory": {
|
||||
"width": {"min": 320},
|
||||
"height": {"min": 180}
|
||||
},
|
||||
"optional": [
|
||||
{
|
||||
"width": {"max": 1280}
|
||||
},
|
||||
{"frameRate": 25},
|
||||
{"facingMode": "user"}
|
||||
]
|
||||
},
|
||||
"frameRate": 25,
|
||||
"width": 420, //420,//640,//1280,
|
||||
"height": 240 //240//480//720
|
||||
};
|
||||
|
||||
// Audio Constraints
|
||||
var audioConstraints = {
|
||||
"sampleRate": 8000,
|
||||
"sampleSize": 16,
|
||||
"channelCount": 2,
|
||||
"echoCancellation": true,
|
||||
"audio": true,
|
||||
};
|
||||
|
||||
Future<RTCPeerConnection> _createPeerConnection() async {
|
||||
// {"url": "stun:stun.l.google.com:19302"},
|
||||
Map<String, dynamic> configuration = {
|
||||
"iceServers": [
|
||||
{"urls": 'stun:15.185.116.59:3478'},
|
||||
{"urls": "turn:15.185.116.59:3479", "username": "admin", "credential": "admin"}
|
||||
]
|
||||
};
|
||||
|
||||
Map<String, dynamic> offerSdpConstraints = {
|
||||
"mandatory": {
|
||||
"OfferToReceiveAudio": true,
|
||||
"OfferToReceiveVideo": true,
|
||||
},
|
||||
"optional": [],
|
||||
};
|
||||
|
||||
RTCPeerConnection pc = await createPeerConnection(configuration, offerSdpConstraints);
|
||||
// if (pc != null) print(pc);
|
||||
//pc.addStream(widget.localStream);
|
||||
|
||||
pc.onIceCandidate = (e) {
|
||||
if (e.candidate != null) {
|
||||
print(json.encode({
|
||||
'candidate': e.candidate.toString(),
|
||||
'sdpMid': e.sdpMid.toString(),
|
||||
'sdpMlineIndex': e.sdpMLineIndex,
|
||||
}));
|
||||
}
|
||||
};
|
||||
pc.onIceConnectionState = (e) {
|
||||
print(e);
|
||||
};
|
||||
pc.onAddStream = (stream) {
|
||||
print('addStream: ' + stream.id);
|
||||
_remoteRenderer.srcObject = stream;
|
||||
};
|
||||
return pc;
|
||||
}
|
||||
|
||||
void init() {
|
||||
initRenderers();
|
||||
_createPeerConnection().then((pc) {
|
||||
_peerConnection = pc;
|
||||
// _setRemoteDescription(widget.info);
|
||||
});
|
||||
}
|
||||
|
||||
void initRenderers() {
|
||||
_localVideoRenderer.initialize();
|
||||
_remoteRenderer.initialize();
|
||||
initLocalCamera();
|
||||
}
|
||||
|
||||
void initLocalCamera() async {
|
||||
_localStream = await navigator.mediaDevices.getUserMedia({'video': true, 'audio': true});
|
||||
_localVideoRenderer.srcObject = _localStream;
|
||||
// _localVideoRenderer.srcObject = await navigator.mediaDevices
|
||||
// .getUserMedia({'video': true, 'audio': true});
|
||||
print('this source Object');
|
||||
print('this suarce ${_localVideoRenderer.srcObject != null}');
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void startCall({required String callType}) {}
|
||||
|
||||
void endCall() {}
|
||||
|
||||
void checkCall(Map<String, dynamic> message) {
|
||||
switch (message["callStatus"]) {
|
||||
case 'connected':
|
||||
{}
|
||||
break;
|
||||
case 'offer':
|
||||
{}
|
||||
break;
|
||||
case 'accept':
|
||||
{}
|
||||
break;
|
||||
case 'candidate':
|
||||
{}
|
||||
break;
|
||||
case 'bye':
|
||||
{}
|
||||
break;
|
||||
case 'leave':
|
||||
{}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//// Listeners Methods ////
|
||||
|
||||
void onCallAcceptedAsync(List<Object?>? params) {}
|
||||
|
||||
void onIceCandidateAsync(List<Object?>? params) {}
|
||||
|
||||
void onOfferAsync(List<Object?>? params) {}
|
||||
|
||||
void onAnswerOffer(List<Object?>? params) {}
|
||||
|
||||
void onHangUpAsync(List<Object?>? params) {}
|
||||
|
||||
void onCallDeclinedAsync(List<Object?>? params) {}
|
||||
|
||||
//// Invoke Methods
|
||||
|
||||
Future<void> invoke({required String invokeMethod, required String currentUserID, required String targetUserID, bool isVideoCall = false, var data}) async {
|
||||
List<Object> args = [];
|
||||
if (invokeMethod == "answerCallAsync") {
|
||||
args = [currentUserID, targetUserID];
|
||||
} else if (invokeMethod == "CallUserAsync") {
|
||||
args = [currentUserID, targetUserID, isVideoCall];
|
||||
} else if (invokeMethod == "IceCandidateAsync") {
|
||||
args = [targetUserID, data];
|
||||
} else if (invokeMethod == "OfferAsync") {
|
||||
args = [targetUserID, data];
|
||||
} else if (invokeMethod == "AnswerOfferAsync") {
|
||||
args = [targetUserID, data];
|
||||
//json In Data
|
||||
}
|
||||
await chatHubConnection.invoke(invokeMethod, args: args);
|
||||
}
|
||||
|
||||
void stopListeners() async {
|
||||
chatHubConnection.off('OnCallDeclinedAsync');
|
||||
chatHubConnection.off('OnCallAcceptedAsync');
|
||||
chatHubConnection.off('OnIceCandidateAsync');
|
||||
chatHubConnection.off('OnAnswerOffer');
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
|
||||
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
|
||||
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
|
||||
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
|
||||
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class AppUpdateScreen extends StatefulWidget {
|
||||
const AppUpdateScreen({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<AppUpdateScreen> createState() => _UnsafeDeviceScreenState();
|
||||
}
|
||||
|
||||
class _UnsafeDeviceScreenState extends State<AppUpdateScreen> {
|
||||
String? dynamicParams;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
dynamicParams ??= ModalRoute.of(context)!.settings.arguments as String;
|
||||
return Scaffold(
|
||||
body: SafeArea(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
21.height,
|
||||
Center(child: Image.asset("assets/images/logos/main_mohemm_logo.png", width: 200, height: 50)),
|
||||
50.height,
|
||||
"Please Update Your App".toText24(isBold: true),
|
||||
48.height,
|
||||
dynamicParams.toString().toText14(isCenter: true).paddingOnly(left: 20.0, right: 20.0),
|
||||
21.height,
|
||||
DefaultButton(LocaleKeys.ok.tr(), () async {
|
||||
if (Platform.isAndroid || Platform.isIOS) {
|
||||
var appId = Platform.isAndroid ? 'hmg.cloudSolutions.mohem' : '1468856602';
|
||||
var url = Uri.parse(
|
||||
Platform.isAndroid ? "market://details?id=$appId" : "https://apps.apple.com/app/id$appId",
|
||||
);
|
||||
launchUrl(
|
||||
url,
|
||||
mode: LaunchMode.externalApplication,
|
||||
);
|
||||
}
|
||||
}).paddingAll(24)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,358 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:easy_localization/src/public_ext.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/painting.dart';
|
||||
import 'package:flutter_html/flutter_html.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:mohem_flutter_app/api/monthly_attendance_api_client.dart';
|
||||
import 'package:mohem_flutter_app/classes/colors.dart';
|
||||
import 'package:mohem_flutter_app/classes/date_uitl.dart';
|
||||
import 'package:mohem_flutter_app/classes/utils.dart';
|
||||
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
|
||||
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
|
||||
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
|
||||
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
|
||||
import 'package:mohem_flutter_app/models/employee_leaves_list.dart';
|
||||
import 'package:mohem_flutter_app/models/get_day_hours_type_details_list_model.dart';
|
||||
import 'package:mohem_flutter_app/models/get_schedule_shifts_details_list_model.dart';
|
||||
import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart';
|
||||
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
|
||||
import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart';
|
||||
import 'package:month_picker_dialog_2/month_picker_dialog_2.dart';
|
||||
import 'package:pie_chart/pie_chart.dart';
|
||||
import 'package:sizer/sizer.dart';
|
||||
import 'package:syncfusion_flutter_calendar/calendar.dart';
|
||||
|
||||
enum LeaveType { ABSENCE, BUSINESS_TRIP, HOLIDAY, NORMAL }
|
||||
|
||||
class MoeMonthlyAttendanceScreen extends StatefulWidget {
|
||||
@override
|
||||
State<MoeMonthlyAttendanceScreen> createState() => _MoeMonthlyAttendanceScreenState();
|
||||
}
|
||||
|
||||
class _MoeMonthlyAttendanceScreenState extends State<MoeMonthlyAttendanceScreen> {
|
||||
DateTime currentDate = DateTime.now();
|
||||
int searchYear = DateTime.now().year;
|
||||
final CalendarController _calendarController = CalendarController();
|
||||
|
||||
List<EmployeeLeavesList> employeeLeavesList = [];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
getLeavesData(currentDate);
|
||||
// callTimeCardAndHourDetails(date.day, searchMonth, searchYear);
|
||||
}
|
||||
|
||||
void getLeavesData(DateTime date) async {
|
||||
try {
|
||||
Utils.showLoading(context);
|
||||
String startDate = '${date.year}-${date.month}-${date.day}';
|
||||
int lastday = DateTime(date.year, date.month + 1, 0).day;
|
||||
String endDate = '${date.year}-${date.month}-$lastday';
|
||||
employeeLeavesList = await MonthlyAttendanceApiClient().getEmployeeLeaves(startDate, endDate);
|
||||
Utils.hideLoading(context);
|
||||
_calendarController.displayDate = date;
|
||||
setState(() {});
|
||||
} catch (ex) {
|
||||
Utils.hideLoading(context);
|
||||
Utils.handleException(ex, context, null);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
appBar: AppBarWidget(
|
||||
context,
|
||||
// title: LocaleKeys.mowadhafhiRequest.tr(),
|
||||
title: "",
|
||||
// showHomeButton: true,
|
||||
),
|
||||
body: ListView(
|
||||
scrollDirection: Axis.vertical,
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
LocaleKeys.attendance.tr().toText24(isBold: true, color: MyColors.grey3AColor),
|
||||
Row(
|
||||
children: [
|
||||
"${DateFormat("MMMM-yyyy").format(currentDate)}".toText16(color: MyColors.greyACColor),
|
||||
const Icon(Icons.keyboard_arrow_down_rounded, color: MyColors.greyACColor),
|
||||
],
|
||||
).onPress(() async {
|
||||
showMonthPicker(
|
||||
context: context,
|
||||
//locale: EasyLocalization.of(context)?.locale,
|
||||
initialDate: currentDate,
|
||||
firstDate: DateTime(searchYear - 2),
|
||||
lastDate: DateTime.now(),
|
||||
confirmText: Text(LocaleKeys.confirm.tr()),
|
||||
cancelText: Text(LocaleKeys.cancel.tr()),
|
||||
).then((selectedDate) {
|
||||
if (selectedDate != null) {
|
||||
getLeavesData(selectedDate);
|
||||
setState(() {
|
||||
currentDate = selectedDate;
|
||||
});
|
||||
}
|
||||
});
|
||||
}),
|
||||
18.height,
|
||||
AspectRatio(aspectRatio: 304 / 244, child: calendarWidget()),
|
||||
12.height,
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: [
|
||||
showColorItem("Absence", MyColors.pinkDarkColor),
|
||||
showColorItem("Business Trip", MyColors.gradiantStartColor),
|
||||
showColorItem("Holiday", MyColors.gradiantEndColor),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
).paddingOnly(left: 21, right: 21, top: 21),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget showColorItem(String title, Color color) {
|
||||
return Row(
|
||||
children: [
|
||||
Container(
|
||||
width: 20,
|
||||
height: 20,
|
||||
color: color,
|
||||
).circle(2000),
|
||||
8.width,
|
||||
title.toText12()
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget calendarWidget() {
|
||||
return SfCalendar(
|
||||
view: CalendarView.month,
|
||||
showDatePickerButton: false,
|
||||
controller: _calendarController,
|
||||
backgroundColor: Colors.white,
|
||||
headerHeight: 0,
|
||||
viewNavigationMode: ViewNavigationMode.none,
|
||||
todayHighlightColor: MyColors.grey3AColor,
|
||||
showNavigationArrow: false,
|
||||
showCurrentTimeIndicator: false,
|
||||
showWeekNumber: false,
|
||||
cellBorderColor: Colors.white,
|
||||
onTap: (v) {
|
||||
dynamic index = v.date?.day;
|
||||
if (index != null) {
|
||||
index = index - 1;
|
||||
}
|
||||
EmployeeLeavesList leaves = employeeLeavesList[index];
|
||||
if (leaves.leaveType != LeaveType.NORMAL.name) {
|
||||
showModalBottomSheet(
|
||||
context: context,
|
||||
shape: const RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(25.0),
|
||||
topRight: Radius.circular(25.0),
|
||||
)),
|
||||
isScrollControlled: true,
|
||||
backgroundColor: MyColors.white,
|
||||
builder: (_) {
|
||||
return DraggableScrollableSheet(
|
||||
maxChildSize: 0.75,
|
||||
expand: false,
|
||||
initialChildSize: 0.75,
|
||||
builder: (_, controller) {
|
||||
return Column(
|
||||
children: [
|
||||
Container(
|
||||
width: 49,
|
||||
height: 7,
|
||||
margin: const EdgeInsets.symmetric(vertical: 10),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(25),
|
||||
color: MyColors.darkGreyColor,
|
||||
),
|
||||
),
|
||||
16.height,
|
||||
Container(
|
||||
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 40),
|
||||
margin: const EdgeInsets.only(left: 20, right: 20),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
color: Colors.black,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(12)),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
DateUtil.getWeekDay(DateUtil.convertStringToDateTime(leaves.eventDate ?? "").weekday).toString().toText14(),
|
||||
DateUtil.convertStringToDateTime(leaves.eventDate ?? "").day.toString().toText20(),
|
||||
DateUtil.getMonth(DateUtil.convertStringToDateTime(leaves.eventDate ?? "").month).toString().toText14(),
|
||||
DateUtil.convertStringToDateTime(leaves.eventDate ?? "").year.toString().toText14(),
|
||||
],
|
||||
),
|
||||
),
|
||||
6.height,
|
||||
showText(LocaleKeys.leaveType.tr(), leaves.leaveType.toString()),
|
||||
// if (leaves.absenceAttendanceTypeName.toString().isNotEmpty)
|
||||
// const Divider(
|
||||
// color: MyColors.borderCEColor,
|
||||
// ),
|
||||
// if (leaves.absenceAttendanceTypeName.toString().isNotEmpty) showText(LocaleKeys.attendanceType.tr(), leaves.absenceAttendanceTypeName.toString()),
|
||||
const Divider(
|
||||
color: MyColors.borderCEColor,
|
||||
),
|
||||
showText(LocaleKeys.startDateT.tr(), leaves.dateStart.toString()),
|
||||
const Divider(
|
||||
color: MyColors.borderCEColor,
|
||||
),
|
||||
showText(LocaleKeys.endDate.tr(), leaves.dateEnd.toString()),
|
||||
],
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
selectionDecoration: BoxDecoration(
|
||||
border: Border.all(color: MyColors.white, width: 1),
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
dataSource: MeetingDataSource(_getDataSource()),
|
||||
// onTap: calendarTapped,
|
||||
monthViewSettings: const MonthViewSettings(
|
||||
dayFormat: 'EEE',
|
||||
showTrailingAndLeadingDates: false,
|
||||
showAgenda: false,
|
||||
),
|
||||
viewHeaderStyle: const ViewHeaderStyle(
|
||||
dayTextStyle: TextStyle(color: MyColors.grey3AColor, fontSize: 13, fontWeight: FontWeight.w600),
|
||||
),
|
||||
monthCellBuilder: (build, details) {
|
||||
LeaveType leaveType = LeaveType.NORMAL;
|
||||
for (int i = 0; i < employeeLeavesList.length; i++) {
|
||||
if (details.date.day == DateUtil.convertSimpleStringDateToDateddMMyyyy(employeeLeavesList[i].eventDate ?? "").day) {
|
||||
if (employeeLeavesList[i].leaveType == LeaveType.ABSENCE.name) {
|
||||
leaveType = LeaveType.ABSENCE;
|
||||
} else if (employeeLeavesList[i].leaveType == LeaveType.BUSINESS_TRIP.name) {
|
||||
leaveType = LeaveType.BUSINESS_TRIP;
|
||||
} else if (employeeLeavesList[i].leaveType == LeaveType.HOLIDAY.name) {
|
||||
leaveType = LeaveType.HOLIDAY;
|
||||
}
|
||||
}
|
||||
}
|
||||
return Container(
|
||||
margin: const EdgeInsets.all(4),
|
||||
decoration: BoxDecoration(
|
||||
color: leaveType == LeaveType.ABSENCE
|
||||
? MyColors.pinkDarkColor
|
||||
: leaveType == LeaveType.BUSINESS_TRIP
|
||||
? MyColors.gradiantStartColor
|
||||
: leaveType == LeaveType.HOLIDAY
|
||||
? MyColors.gradiantEndColor
|
||||
: MyColors.white,
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color: leaveType == LeaveType.ABSENCE
|
||||
? MyColors.pinkDarkColor
|
||||
: leaveType == LeaveType.BUSINESS_TRIP
|
||||
? MyColors.gradiantStartColor
|
||||
: leaveType == LeaveType.HOLIDAY
|
||||
? MyColors.gradiantEndColor
|
||||
: MyColors.black,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Text(
|
||||
"${details.date.day}",
|
||||
style: TextStyle(fontSize: 13, fontWeight: FontWeight.w500, color: leaveType == LeaveType.NORMAL ? MyColors.black : MyColors.white),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
List<Meeting> _getDataSource() {
|
||||
List<Meeting> meetings = <Meeting>[];
|
||||
return meetings;
|
||||
}
|
||||
|
||||
Widget showText(String title, String value) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
value.toText18(color: MyColors.gradiantEndColor, isBold: true),
|
||||
title.toText14(color: MyColors.greyACColor, isBold: false),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class MeetingDataSource extends CalendarDataSource {
|
||||
MeetingDataSource(List<Meeting> source) {
|
||||
appointments = source;
|
||||
}
|
||||
|
||||
@override
|
||||
DateTime getStartTime(int index) {
|
||||
return _getMeetingData(index).from;
|
||||
}
|
||||
|
||||
@override
|
||||
DateTime getEndTime(int index) {
|
||||
return _getMeetingData(index).to;
|
||||
}
|
||||
|
||||
@override
|
||||
String getSubject(int index) {
|
||||
return _getMeetingData(index).eventName;
|
||||
}
|
||||
|
||||
@override
|
||||
Color getColor(int index) {
|
||||
return _getMeetingData(index).background;
|
||||
}
|
||||
|
||||
@override
|
||||
bool isAllDay(int index) {
|
||||
return _getMeetingData(index).isAllDay;
|
||||
}
|
||||
|
||||
Meeting _getMeetingData(int index) {
|
||||
dynamic meeting = appointments;
|
||||
Meeting meetingData;
|
||||
if (meeting is Meeting) {
|
||||
meetingData = meeting;
|
||||
}
|
||||
return meeting;
|
||||
}
|
||||
}
|
||||
|
||||
class Meeting {
|
||||
Meeting(this.eventName, this.from, this.to, this.background, this.isAllDay);
|
||||
|
||||
String eventName;
|
||||
DateTime from;
|
||||
DateTime to;
|
||||
Color background;
|
||||
bool isAllDay;
|
||||
}
|
||||