diff --git a/.firebase/hosting.YnVpbGQ.cache b/.firebase/hosting.YnVpbGQ.cache
index 009abe7..92e803d 100644
--- a/.firebase/hosting.YnVpbGQ.cache
+++ b/.firebase/hosting.YnVpbGQ.cache
@@ -1,72 +1,72 @@
robots.txt,1761396900570,bfe106a3fb878dc83461c86818bf74fc1bdc7f28538ba613cd3e775516ce8b49
manifest.json,1761396900568,a9350a49aaac9fe94d3dd77b8270cc998c04ab97944a606189675022431faa51
favicon.svg,1761396900561,a2a4880301751061a600b0bfc5c26fc413aed41e581516c4fa976bcb7fff6663
-service-worker.js,1762033576010,cfb0ce475baa94cc60e1869832c0fe2939e1c4a58299d87c831802921cf671ba
-precache-manifest.e792bfc4213ddd52029a478d6027fc99.js,1762033576009,76ded865b62480a7f3e65736db15833c6baa240b7471fb78664c1b8fc48d3a11
-static/media/sub-ques-icon.366b4f1e.svg,1762033575914,8e397611007ec5db7581a4c1bcca006950390ddf652cae209bb3973a645af425
-index.html,1762033575945,da5fdeefcd2690e56b536507d9ec1ad38b5224edbdbbfa9bc496cd74a277782b
-asset-manifest.json,1762033576010,16aaa20a6971f047d30fbaaccca3dafda9e2f25d77fc37bf42c11976ead91d1e
-static/media/tru-fals-icon.d0b962d8.svg,1762033575911,a1deab7e5db8e8a94a9c5812dcde5f8cbfbe5da790da8500bf106980b9c79c33
-static/media/student-engaged.53fb7b0b.svg,1762033575909,5f8e01d1a5efcbdf3aa00ed07de843ab84404a28b672ca91f4d70d89fa8b37cf
-static/media/translate.610ad011.svg,1762033575915,c06f8a3d0c976b02429ce805d8a4944571ab0128ed2ce49c2d3ca134511ed120
-static/media/quizexam.5545802e.svg,1762033575902,dfc1278bfcd264264a4d0e0e0247c229335abf0573439c5e9829c8607aacd569
-static/media/question.0c505ed9.svg,1762033575901,29938066f93476c487414bb7a5dd5227d891c8ab8e115a74a7e7ffccd8d87b36
-static/media/questions-icon.3d3c1aaf.svg,1762033575909,197f459a359b00c1c44b6ddd71cbc9160f593d1fe08534e3711e9d72a2956ef1
-static/media/PracticeKiaLogo.a8336af5.svg,1762033575843,1a592518bcfabb2f86669d06ae2fb7b2948bbdbfaf5a80d138ab30f4e482a0f8
-static/media/practice.f05e6f00.svg,1762033575902,13b094bcbbb8c50906b1ee0ce68305059e99319464dd4147b4c2194dbb460475
-static/media/practice-icon.bf603115.svg,1762033575909,27b6a729d91914d899f4b3c1f817e26ac58d2ec0be54dc9b93c01f28adcdd00c
-static/media/performance.88855f12.svg,1762033575907,03fc1b19005084049382091745d3f1f29a447763091ad4a9bc5d097c338671c9
-static/media/OdiSVGlogo.f0834bb1.svg,1762033575853,3ec1cab31a32db378894d796afedaee7c35f8ff99dfb1039b0bb757225a47235
-static/media/perf-icon.1597a235.svg,1762033575910,7183482b785de425506f49deb27bba02e906132ac7ce5af01f7da8452ef64f28
-static/media/mul-res-icon.8ef3b097.svg,1762033575911,1f0a79350cb5546361ef02af1657ad36efeff833fd7bb61db88a20e127a290b4
-static/media/mul-cho-icon.b3dc9ea9.svg,1762033575910,e8edbceb0eb49f7629cf0b8edf599f9347acbf0c6d1df2fa6145cbed03f37e1f
-static/media/locale-icon.b3596424.svg,1762033575907,68618c76952aa4c5f2623bb010514871688960bb3b9edbcda0eab7eb75442054
-static/media/KaTeX_Size4-Regular.61522cd3.woff2,1762033575899,65378bc44e4f908ff3e7d3b5a36f1351cd29dbed446fcf86ebe0655afefe9ea8
-static/media/KaTeX_Size4-Regular.3045a61f.woff,1762033575898,c397a0db368b7313fdae7297ab0efb8f25f1bc12afc4ce691dabf8e0918017fa
-static/media/KaTeX_Typewriter-Regular.b8b8393d.woff2,1762033575899,54a0126379ac9b84c5745f17cd0ac9bf11532ea04c39d387d165a71caf77f8d2
-static/media/KaTeX_Size3-Regular.9108a400.woff2,1762033575891,01dd9815f099722e1f7958ab976d9c0ee81615fa39699daf775fdd8a953ff8b1
-static/media/KaTeX_Size3-Regular.963af864.ttf,1762033575900,f94a1dddcfc1df9beb0ecfaf0a73c3df96009a8d7e8a098ada1aa3a39e9ca678
-static/media/KaTeX_Size4-Regular.27a23ee6.ttf,1762033575899,df3392005f1d7a6f9bd8cbc0d1e0f06c147944fdd86e3316fd38d4f55f8e4a9f
-static/media/KaTeX_Size3-Regular.4de844d4.woff,1762033575893,4398fd91cc5e6b45e4293262c5361ada3a54a24aff0d7a38bc70d3a242f0ef27
-static/media/KaTeX_Size2-Regular.b0628bfd.woff,1762033575893,e23e150fad1a0531631c97f0170716a09b51211d3ad23c84794647ef603a19de
-static/media/KaTeX_Size2-Regular.95a1da91.woff2,1762033575891,47c15e4348ddda442adae347550b466a6325266ccf8d7a4793481682b5bdf4f2
-static/media/KaTeX_Size1-Regular.82ef26dc.woff2,1762033575889,353eb899698a648194c4bfabf250818092ebfdee0f3078346c3acb4194797f48
-static/media/KaTeX_Typewriter-Regular.0e046058.woff,1762033575900,82cff08904dbae816ffe38a914d56622c9b677680bba6a629e584a19ffb6e873
-static/media/KaTeX_Script-Regular.a82fa2a7.woff,1762033575889,84a67d2df883ac10ca688757491e777b64ef90f94ca712cc23b64a8c97de68af
-static/media/KaTeX_Size1-Regular.4788ba5b.woff,1762033575888,8e8412c0abbcb89ea321e50ec95b55bfe9d77486c84664fbca5b9b101bab7f3d
-static/media/KaTeX_Size2-Regular.1fdda0e5.ttf,1762033575889,1685351b16075c0e5c880bbb9c6a3b4c5161ac3c852cc8a67963a37d7311b2b9
-static/media/KaTeX_Size1-Regular.0d8d9204.ttf,1762033575889,535e05d118e935a5a1ce5be35dc03a4b20a69ccc5f25210206deaed676c16a64
-static/media/KaTeX_SansSerif-Regular.5f8637ee.woff,1762033575880,d0d8050720c1b4cedb8cfe1feb22dc45fc0382ff62b5504c7fc09e1c24652544
-static/media/KaTeX_Script-Regular.1b3161eb.woff2,1762033575887,a5bfd2c095c085b45d10126c94e5cc116a0ea8fd7946a49b54a95da414535890
-static/media/KaTeX_Script-Regular.a189c37d.ttf,1762033575889,ec985a3df1d229119c660bfaa16e4be32ec7391f09d9c1e220cef2b149745a1a
-static/media/KaTeX_SansSerif-Regular.3243452e.ttf,1762033575888,89e5632b7b1d0a3b94bcb71efd36838bb407d575f0212a8d3499b3c3c0fcb12c
-static/media/KaTeX_SansSerif-Regular.1ac3ed6e.woff2,1762033575881,2836d2dafad00dd468d7e2b8f305eeb3af4f434980bc7efb3c696e6968cec09b
-static/media/KaTeX_SansSerif-Italic.f60b4a34.ttf,1762033575881,cf5a68a17d022639016a9da976bb6a4ab05e06ccd74ce712db3009adcf34fd32
-static/media/KaTeX_SansSerif-Italic.ef725de5.woff,1762033575900,9476b240a74b872f7cbe8517997d68df0c375e3d52a58e165f893a7191f54e86
-static/media/KaTeX_SansSerif-Italic.e934cbc8.woff2,1762033575880,2a474c036e86d3fcabb4f8d68318ccce7e5e103f27f804e1fd74a1646ed15cae
-static/media/KaTeX_SansSerif-Bold.ad546b47.woff2,1762033575878,9a2e88c7f50de44ea6842c0dc687cd0fc54cff06a47bf6408cf1eba76e25bb81
-static/media/KaTeX_SansSerif-Bold.f2ac7312.ttf,1762033575887,a248317ab48e3dc924f1c87b13a27cc5e6d887272d02b1c1cab72795de2c9591
-static/media/KaTeX_SansSerif-Bold.0e897d27.woff,1762033575879,06df349cd9f09f229c964190cea7b3487aefe84f055207793ddf3e83a3db281a
-static/media/logo.0dd03933.png,1762033575852,b9716ed1f565a052edc1154a207334de81856339e8ca43d5d8f51041f3785085
-static/media/KaTeX_Typewriter-Regular.6bf42875.ttf,1762033575900,3f8e9a7e1c8f9835a5fdbf303b775991de8d868a7b8ee8eb1f32b0b01ed1b90b
-static/media/KaTeX_Math-Italic.ed7aea12.woff,1762033575879,7f65f9be10f45caa82382689fe21bf358899ac28002cbd44d3696eea1d6affee
-static/media/KaTeX_Math-Italic.fe5ed587.ttf,1762033575881,1cf503e99eee1d6931a59f03a2718c879571c4bc878d8c5bb310c057e15fcffa
-static/media/KaTeX_Fraktur-Regular.f9e6a99f.woff2,1762033575864,30c5ebf8d693d9a6db88068bd72eca6aaab2313d91682e147db6ae4d43efc013
-static/media/KaTeX_Fraktur-Regular.e435cda5.woff,1762033575865,1ed825d761d10b653432e13606827af1a1621353e75a2bb10c9fdc3f9568cbf2
-static/media/KaTeX_Fraktur-Regular.97a699d8.ttf,1762033575865,c84e9b333b1c3dfd0edf947b0166c4436bded08309d47955b99fa4e43177bdaf
-static/media/KaTeX_Fraktur-Bold.796f3797.woff2,1762033575854,440fe396e2bc189c86a666bed548bed61a5482c3afaa04eb41e5b4e977f9accd
-static/media/KaTeX_Fraktur-Bold.40934fc0.woff,1762033575864,8a9c9bd2084df9282df1c63c593dda4c662d2a8111d09956d5bf2c92e6213f4a
-static/media/KaTeX_Fraktur-Bold.b9d7c449.ttf,1762033575865,05ef840382f3b9a91d6a08c707c5288ed173a0623b5f986c92d03afd59d2972e
-static/media/KaTeX_Caligraphic-Regular.08d95d99.woff2,1762033575864,d4574df1e20cd3519662aff34dcdfa42339c48bfd9dd675d804723794949a8c8
-static/media/KaTeX_Caligraphic-Regular.e6fb499f.ttf,1762033575864,7d6aca5b5f7d749a0fd1f9e4e7449b1b79a347fd08696f5cadc303ea5e3f3f1c
-static/media/KaTeX_Caligraphic-Bold.a9e9b095.woff2,1762033575852,80906c4f0be4d8dccfbb0d3b8cafe79b6ba8bc3200c3c9f060b5616a4d8dec39
-static/media/KaTeX_Caligraphic-Regular.a25140fb.woff,1762033575852,41d8909c711af0e11e9df1fa5bbd8c14071e22130fbac9b6518e920386152038
-static/media/KaTeX_Caligraphic-Bold.de2ba279.woff,1762033575853,4e80ee5909ce3b5b965be5b11b75919d58dc6633d372869dbbbbd13f93dbd662
-static/media/KaTeX_Caligraphic-Bold.497bf407.ttf,1762033575858,50b8dd982d91b531aaf3009e30dc42e72635d476bd0e3d6fe9ba2bdb5c7a036f
-static/media/getFetch.2b2b7da4.cjs,1762033575852,b2d82abee5b8af22b81d67fc20b3feef1eaaf04585dbc24ec755e3304c469096
-static/media/GrayscalePKLogo.6bb74404.svg,1762033575852,576b38300e49eda6407adce420001e7ad0333cca317eb668aff457c3258dcca2
-static/media/feature-2.36f8d7e2.webp,1762033575852,fc1c038517abf3b731ff3a4675cbaf1a6aa1150ca970762dd0ffc4199b92b75c
-static/media/delete-icon.da38c0f4.svg,1762033575923,8078772ee88a0588989eec477da1ca949430f3f06efaa9c2db860b74c65f6722
+service-worker.js,1762197441563,2cef97b967d6c4989ea4efb3153daee3512aa6459219bed2ac9dd869be1a6162
+static/media/tru-fals-icon.d0b962d8.svg,1762197441525,a1deab7e5db8e8a94a9c5812dcde5f8cbfbe5da790da8500bf106980b9c79c33
+static/media/sub-ques-icon.366b4f1e.svg,1762197441526,8e397611007ec5db7581a4c1bcca006950390ddf652cae209bb3973a645af425
+index.html,1762197441563,6b0cf5d8f403681f7b303ecf0e01392112a13033bb113477e796a2c049273ff3
+static/media/student-engaged.53fb7b0b.svg,1762197441522,5f8e01d1a5efcbdf3aa00ed07de843ab84404a28b672ca91f4d70d89fa8b37cf
+precache-manifest.30e502e06f56d735210bfa3ff8ab599d.js,1762197441563,1f209f013dbf1073ff221d4ff151e2d160358a02d7183422a4c8f5a1b4f1d29c
+asset-manifest.json,1762197441563,df8f6328165f57bc9e00f6b3dba798fd56f61647111de902165158aa6ea8e9f8
+static/media/quizexam.5545802e.svg,1762197441517,dfc1278bfcd264264a4d0e0e0247c229335abf0573439c5e9829c8607aacd569
+static/media/question.0c505ed9.svg,1762197441517,29938066f93476c487414bb7a5dd5227d891c8ab8e115a74a7e7ffccd8d87b36
+static/media/questions-icon.3d3c1aaf.svg,1762197441520,197f459a359b00c1c44b6ddd71cbc9160f593d1fe08534e3711e9d72a2956ef1
+static/media/practice.f05e6f00.svg,1762197441517,13b094bcbbb8c50906b1ee0ce68305059e99319464dd4147b4c2194dbb460475
+static/media/PracticeKiaLogo.a8336af5.svg,1762197441492,1a592518bcfabb2f86669d06ae2fb7b2948bbdbfaf5a80d138ab30f4e482a0f8
+static/media/performance.88855f12.svg,1762197441520,03fc1b19005084049382091745d3f1f29a447763091ad4a9bc5d097c338671c9
+static/media/mul-cho-icon.b3dc9ea9.svg,1762197441524,e8edbceb0eb49f7629cf0b8edf599f9347acbf0c6d1df2fa6145cbed03f37e1f
+static/media/mul-res-icon.8ef3b097.svg,1762197441524,1f0a79350cb5546361ef02af1657ad36efeff833fd7bb61db88a20e127a290b4
+static/media/locale-icon.b3596424.svg,1762197441520,68618c76952aa4c5f2623bb010514871688960bb3b9edbcda0eab7eb75442054
+static/media/OdiSVGlogo.f0834bb1.svg,1762197441495,3ec1cab31a32db378894d796afedaee7c35f8ff99dfb1039b0bb757225a47235
+static/media/practice-icon.bf603115.svg,1762197441522,27b6a729d91914d899f4b3c1f817e26ac58d2ec0be54dc9b93c01f28adcdd00c
+static/media/perf-icon.1597a235.svg,1762197441524,7183482b785de425506f49deb27bba02e906132ac7ce5af01f7da8452ef64f28
+static/media/KaTeX_Size4-Regular.61522cd3.woff2,1762197441515,65378bc44e4f908ff3e7d3b5a36f1351cd29dbed446fcf86ebe0655afefe9ea8
+static/media/KaTeX_Typewriter-Regular.b8b8393d.woff2,1762197441515,54a0126379ac9b84c5745f17cd0ac9bf11532ea04c39d387d165a71caf77f8d2
+static/media/KaTeX_Typewriter-Regular.0e046058.woff,1762197441515,82cff08904dbae816ffe38a914d56622c9b677680bba6a629e584a19ffb6e873
+static/media/KaTeX_Size4-Regular.27a23ee6.ttf,1762197441515,df3392005f1d7a6f9bd8cbc0d1e0f06c147944fdd86e3316fd38d4f55f8e4a9f
+static/media/KaTeX_Size3-Regular.9108a400.woff2,1762197441516,01dd9815f099722e1f7958ab976d9c0ee81615fa39699daf775fdd8a953ff8b1
+static/media/KaTeX_Size4-Regular.3045a61f.woff,1762197441515,c397a0db368b7313fdae7297ab0efb8f25f1bc12afc4ce691dabf8e0918017fa
+static/media/KaTeX_Size2-Regular.95a1da91.woff2,1762197441512,47c15e4348ddda442adae347550b466a6325266ccf8d7a4793481682b5bdf4f2
+static/media/KaTeX_Size3-Regular.4de844d4.woff,1762197441513,4398fd91cc5e6b45e4293262c5361ada3a54a24aff0d7a38bc70d3a242f0ef27
+static/media/KaTeX_Size2-Regular.b0628bfd.woff,1762197441513,e23e150fad1a0531631c97f0170716a09b51211d3ad23c84794647ef603a19de
+static/media/KaTeX_Size3-Regular.963af864.ttf,1762197441515,f94a1dddcfc1df9beb0ecfaf0a73c3df96009a8d7e8a098ada1aa3a39e9ca678
+static/media/KaTeX_Size1-Regular.82ef26dc.woff2,1762197441512,353eb899698a648194c4bfabf250818092ebfdee0f3078346c3acb4194797f48
+static/media/KaTeX_Size1-Regular.4788ba5b.woff,1762197441511,8e8412c0abbcb89ea321e50ec95b55bfe9d77486c84664fbca5b9b101bab7f3d
+static/media/KaTeX_Size2-Regular.1fdda0e5.ttf,1762197441514,1685351b16075c0e5c880bbb9c6a3b4c5161ac3c852cc8a67963a37d7311b2b9
+static/media/KaTeX_Script-Regular.a82fa2a7.woff,1762197441511,84a67d2df883ac10ca688757491e777b64ef90f94ca712cc23b64a8c97de68af
+static/media/KaTeX_Size1-Regular.0d8d9204.ttf,1762197441512,535e05d118e935a5a1ce5be35dc03a4b20a69ccc5f25210206deaed676c16a64
+static/media/KaTeX_Script-Regular.1b3161eb.woff2,1762197441511,a5bfd2c095c085b45d10126c94e5cc116a0ea8fd7946a49b54a95da414535890
+static/media/KaTeX_Script-Regular.a189c37d.ttf,1762197441512,ec985a3df1d229119c660bfaa16e4be32ec7391f09d9c1e220cef2b149745a1a
+static/media/KaTeX_SansSerif-Regular.5f8637ee.woff,1762197441511,d0d8050720c1b4cedb8cfe1feb22dc45fc0382ff62b5504c7fc09e1c24652544
+static/media/KaTeX_SansSerif-Regular.1ac3ed6e.woff2,1762197441512,2836d2dafad00dd468d7e2b8f305eeb3af4f434980bc7efb3c696e6968cec09b
+static/media/KaTeX_SansSerif-Regular.3243452e.ttf,1762197441511,89e5632b7b1d0a3b94bcb71efd36838bb407d575f0212a8d3499b3c3c0fcb12c
+static/media/KaTeX_SansSerif-Italic.ef725de5.woff,1762197441511,9476b240a74b872f7cbe8517997d68df0c375e3d52a58e165f893a7191f54e86
+static/media/KaTeX_SansSerif-Italic.f60b4a34.ttf,1762197441512,cf5a68a17d022639016a9da976bb6a4ab05e06ccd74ce712db3009adcf34fd32
+static/media/KaTeX_SansSerif-Italic.e934cbc8.woff2,1762197441509,2a474c036e86d3fcabb4f8d68318ccce7e5e103f27f804e1fd74a1646ed15cae
+static/media/KaTeX_SansSerif-Bold.ad546b47.woff2,1762197441507,9a2e88c7f50de44ea6842c0dc687cd0fc54cff06a47bf6408cf1eba76e25bb81
+static/media/translate.610ad011.svg,1762197441527,c06f8a3d0c976b02429ce805d8a4944571ab0128ed2ce49c2d3ca134511ed120
+static/media/KaTeX_SansSerif-Bold.0e897d27.woff,1762197441508,06df349cd9f09f229c964190cea7b3487aefe84f055207793ddf3e83a3db281a
+static/media/KaTeX_SansSerif-Bold.f2ac7312.ttf,1762197441509,a248317ab48e3dc924f1c87b13a27cc5e6d887272d02b1c1cab72795de2c9591
+static/media/logo.0dd03933.png,1762197441495,b9716ed1f565a052edc1154a207334de81856339e8ca43d5d8f51041f3785085
+static/media/KaTeX_Typewriter-Regular.6bf42875.ttf,1762197441516,3f8e9a7e1c8f9835a5fdbf303b775991de8d868a7b8ee8eb1f32b0b01ed1b90b
+static/media/KaTeX_Math-Italic.ed7aea12.woff,1762197441508,7f65f9be10f45caa82382689fe21bf358899ac28002cbd44d3696eea1d6affee
+static/media/KaTeX_Math-Italic.fe5ed587.ttf,1762197441509,1cf503e99eee1d6931a59f03a2718c879571c4bc878d8c5bb310c057e15fcffa
+static/media/KaTeX_Fraktur-Regular.e435cda5.woff,1762197441502,1ed825d761d10b653432e13606827af1a1621353e75a2bb10c9fdc3f9568cbf2
+static/media/KaTeX_Fraktur-Regular.97a699d8.ttf,1762197441502,c84e9b333b1c3dfd0edf947b0166c4436bded08309d47955b99fa4e43177bdaf
+static/media/KaTeX_Fraktur-Regular.f9e6a99f.woff2,1762197441502,30c5ebf8d693d9a6db88068bd72eca6aaab2313d91682e147db6ae4d43efc013
+static/media/KaTeX_Fraktur-Bold.796f3797.woff2,1762197441502,440fe396e2bc189c86a666bed548bed61a5482c3afaa04eb41e5b4e977f9accd
+static/media/KaTeX_Caligraphic-Regular.a25140fb.woff,1762197441496,41d8909c711af0e11e9df1fa5bbd8c14071e22130fbac9b6518e920386152038
+static/media/KaTeX_Fraktur-Bold.40934fc0.woff,1762197441502,8a9c9bd2084df9282df1c63c593dda4c662d2a8111d09956d5bf2c92e6213f4a
+static/media/KaTeX_Caligraphic-Regular.08d95d99.woff2,1762197441502,d4574df1e20cd3519662aff34dcdfa42339c48bfd9dd675d804723794949a8c8
+static/media/KaTeX_Caligraphic-Regular.e6fb499f.ttf,1762197441503,7d6aca5b5f7d749a0fd1f9e4e7449b1b79a347fd08696f5cadc303ea5e3f3f1c
+static/media/KaTeX_Caligraphic-Bold.de2ba279.woff,1762197441495,4e80ee5909ce3b5b965be5b11b75919d58dc6633d372869dbbbbd13f93dbd662
+static/media/KaTeX_Fraktur-Bold.b9d7c449.ttf,1762197441502,05ef840382f3b9a91d6a08c707c5288ed173a0623b5f986c92d03afd59d2972e
+static/media/KaTeX_Caligraphic-Bold.a9e9b095.woff2,1762197441495,80906c4f0be4d8dccfbb0d3b8cafe79b6ba8bc3200c3c9f060b5616a4d8dec39
+static/media/GrayscalePKLogo.6bb74404.svg,1762197441495,576b38300e49eda6407adce420001e7ad0333cca317eb668aff457c3258dcca2
+static/media/KaTeX_Caligraphic-Bold.497bf407.ttf,1762197441496,50b8dd982d91b531aaf3009e30dc42e72635d476bd0e3d6fe9ba2bdb5c7a036f
+static/media/feature-2.36f8d7e2.webp,1762197441495,fc1c038517abf3b731ff3a4675cbaf1a6aa1150ca970762dd0ffc4199b92b75c
+static/media/getFetch.2b2b7da4.cjs,1762197441495,b2d82abee5b8af22b81d67fc20b3feef1eaaf04585dbc24ec755e3304c469096
+static/media/exam-icon.10f48851.svg,1762197441522,b766e9975582af716870a844f8deabd4d80e33a47c400d36cee6bc4840062693
assets/images/locale-icon.svg,1761396900579,610498c7ca3b5800d268b1654473f0b1d79de2c6493a7c6982bef90456d35179
assets/images/icons/icon-96x96.png,1761396900602,43a8ac4df8945d7a44e3e4911032214f01eaea92267baa31a93e77942b424c73
assets/images/icons/icon-72x72.png,1761396900600,a42f1df8ab0a8fe921573976d49158e1a2c52fe430460c869947f221aba30a94
@@ -76,52 +76,52 @@ assets/images/icons/icon-192x192.png,1761396900592,ac9fe46fbeb4c54fb3c838b645380
assets/images/icons/icon-152x152.png,1761396900590,95a5a117fbd5640f1f1f13c9923398545e3f5b66734ff6c8ce67c942319a8b67
assets/images/icons/icon-144x144.png,1761396900588,e42168e0e1abb5bd7811ebe1b5a2183d0ce287bf266c2efd8d97a23d23ca8d00
assets/images/icons/icon-128x128.png,1761396900585,45b577c86e7c03fef868bfa3f96810c5b36f31156c32c0d85620d2e6fe1fc85b
-static/media/exam-icon.10f48851.svg,1762033575909,b766e9975582af716870a844f8deabd4d80e33a47c400d36cee6bc4840062693
-static/media/dashboard.8ec7624b.svg,1762033575901,5a5b5d4bf416d414842bd5eac30432b592342a392450e52943f067db4077bec1
-static/media/classes.3b73dba0.svg,1762033575905,2abfbb7015d5bccb8640fd0614d3782c048672c9543fe17d127db63287ac141d
-static/media/Checkmark.1356376c.svg,1762033575923,aa56f27c8198bcae3236a881a7134cd3b7d3dbb048ec75654e8ce2d4710ce027
-static/media/class-icon.6afd34b5.svg,1762033575909,a2f492c6c9c7b5201773062dfe90c238c12bc00bec097dc06141201f02b9588e
-static/media/batch.3fcff66e.svg,1762033575904,f29038480286f091e3805a43f90ca5a70a13bbcef3076831e0b29b1fcb61d862
-static/media/batch-icon.bf664771.svg,1762033575910,7519e2a92f436a2f46ef7420d721e24df2837d7fce7fe8c30f4bc12980b3d1a0
-static/media/auth-BG.2835584f.svg,1762033575852,238d3a2ff1aead1c4aaed0e07d23d2c1164f8be0ef2d5fced5c5ade370f3c5bf
-static/media/add-circle.0011f2bc.svg,1762033575909,d9e5d90e8de1ce16df5720b43ca79543036fcf1a6cd6439a9b15c5a97d269f17
-static/media/KaTeX_Math-Italic.d8b7a801.woff2,1762033575879,463c7b305e898eff5291b63c93cc5cb344035692b6913c1c79073ecbb6243bd4
-static/media/KaTeX_Math-BoldItalic.1320454d.woff2,1762033575887,6845d5004e7c212c58d4760856f246a648906e552b0fe06cc1602598c12451c2
-static/media/KaTeX_Math-BoldItalic.48155e43.woff,1762033575878,85cd1b757a1e147fa60d9a33c097ac463cd361d7d29278acb6f9fa12b1ab1807
-static/media/KaTeX_Main-Italic.65297062.woff2,1762033575865,d85767f0359678f357e48c84e9872f47b139674a79b7b71db0fdbb1317c26d12
-static/media/KaTeX_Math-BoldItalic.6589c4f1.ttf,1762033575878,7015e678d3236d50b3fefa9ba69b1473ed3f8e75adee5cace69614afcfc2f5bf
-static/media/KaTeX_Main-Regular.f8a7f19f.woff2,1762033575867,d9e0bfb38531e96891681155d118070f8026358d2951cb8470c394b91809288d
-static/media/KaTeX_Main-BoldItalic.d8737343.woff2,1762033575865,c626855b7d035c168c7d791991df8d939103de514bfb4451d79d386573284c72
-static/media/KaTeX_Main-Italic.8ffd28f6.woff,1762033575871,96448f48ed2241c86e68c8461f1640b4420784ddafae0187411614145e1b86b7
-static/media/KaTeX_Main-Regular.f1cdb692.woff,1762033575878,17452652a1119d3bcd8a71406fc8698a686f53c3923cb96e790e6a5d36d08ab1
-static/media/KaTeX_Main-Italic.39349e0a.ttf,1762033575878,1d8cb78615c1bf0e6382d19209ab3b545f62297a75006719c9fe6a82f4b3b282
-static/media/KaTeX_Main-BoldItalic.5f875f98.woff,1762033575867,70abceb4229394d854d0f09cb4c174bb3044efcb0c914765da73cef487dff695
-static/media/KaTeX_Main-Bold.a9382e25.woff2,1762033575865,5a85aa329e280b7ebe07d42616135b81a43b3e7699beb03e4f85cb85cc1c42a0
-static/media/KaTeX_Main-BoldItalic.52fb39b0.ttf,1762033575878,2c270214096b727d963e376c50c9372e0696e3807ab3593c99721e98a2350d9a
-static/media/KaTeX_Main-Bold.4cdba646.woff,1762033575865,0a80f97f42c420ce18f49adadd979581ee6c7b2fea155197d564eab7d4a33b94
-static/js/runtime-main.27caaa44.js.map,1762033576009,3e879e38038e68cf871d7b4279b1462769cde43557fc9f9d43b6b2637de2a260
-static/media/KaTeX_Main-Regular.818582da.ttf,1762033575878,303bad6cffa808e8161bca30051b6116e39cd128fad1565f4cfe87d57e54f715
-static/js/runtime-main.27caaa44.js,1762033575915,4e3d05857c79855a7e920016b818defe70440121809e87b3f135be225ec7e3b3
-static/media/KaTeX_Main-Bold.8e431f7e.ttf,1762033575865,05a2a07c87d1436ec1339788f266910afda2ef11c2c159b5f9da217e5862678b
-static/media/KaTeX_AMS-Regular.66c67820.woff2,1762033575853,d3c3fdcc36a8dd47d2361854708db75facde86716ac4aff340c27a53edb91fa3
-static/media/feature-1.ea5c34ea.svg,1762033575852,d802659785b69508e521d5543fca40a58cb9076521ffc3e6b006f4786b8079f8
-static/media/KaTeX_AMS-Regular.10824af7.woff,1762033575853,6c46aa92e4310f9c70a445e7a423691f1704dce1cdc29fdd2e0c83d195fcee10
-static/media/KaTeX_AMS-Regular.56573229.ttf,1762033575899,c2f8c0a308e057708caa69b82f187cbff35ecda40162ceed7cf66bb958032bba
-static/media/feature-3.3d5d81e9.svg,1762033575852,ba23393d89776cb78f7a559903baff48be76665abd99bdd4e5ea103c5e5ed88b
-static/js/4.d2a9338f.chunk.js.map,1762033576010,a5a722bf8db9cf0993b417f66bd3422dea3490040f4dd79cb5215fccba3a4484
-static/js/4.d2a9338f.chunk.js,1762033575933,b2c24d1c151dd22afe16c8b659c41997a73711332c80c677b26cf17eb169d18b
-static/js/3.6099e5fb.chunk.js.map,1762033576010,ca2dde76e10854eb0dc3f7dc050a6a5ae82575f83a207f9b0bc8658c1dd577ab
-static/js/3.6099e5fb.chunk.js,1762033575925,d8ab7de01ca728821c8d5ba785256db83815cb152fbb8072459796057ee12c09
-static/js/2.528544a1.chunk.js.LICENSE.txt,1762033575933,73e179810607ee243bc579404bb639366a35a513c110f956327178f85a8ec4ca
-static/js/main.0436c6bb.chunk.js,1762033575924,2f316815289bb09026fcf5d3e8e0d53a8400e0b937958c039f19c1d019278239
-static/css/4.629184c9.chunk.css,1762033575927,dfeba86da1256521df7a877a265d56d314f65016837f30878338c2b7fc62a6ab
-static/css/2.9f1a6119.chunk.css,1762033575923,5b08fdb85c1aaa0cf9acf7c4c35148cabc67c4897f21b89b8734390f584ad0a2
-static/css/3.6c5a3051.chunk.css,1762033575924,1ae150a22b1d42322775be9055605f93c75188e7081cfbdb206a59fc2f5ab8f1
-static/css/main.7d296f3d.chunk.css,1762033575915,8ac95acd624c795fc1e9d9d802ed76463b7fc234fc1fa91ee66ce2dba402ae85
-static/js/main.0436c6bb.chunk.js.map,1762033576010,a0ce92d9fed67afdd565a4503ad53e1de37e06de9694e45f2ecf91399f993f76
-static/css/4.629184c9.chunk.css.map,1762033576010,b82aa57e6e357dbb20067334e544e9b30d20ed0d928c13e6c61e1747e6f5a205
-static/css/3.6c5a3051.chunk.css.map,1762033575946,bcc301c3b3b46c96afc0fc028a6aa3cd299ccda538d7c6cb9ebc87f8de535796
-static/css/main.7d296f3d.chunk.css.map,1762033575935,5be5e90a97bc9a5e33bd3778a47be8ef41322cfe3daeffc8e0b6637db3f31488
-static/css/2.9f1a6119.chunk.css.map,1762033575944,65fe44874775e5d32c6076f91b40fc5d120cecbf5da0d211d9303dbb56b2e6ec
-static/js/2.528544a1.chunk.js,1762033575927,29dab7a742a766d0a7049868eabaa7080ffc99c8094f6462f1d98eba8c22c89d
-static/js/2.528544a1.chunk.js.map,1762033576026,5a3a44e5a9c7d2ee29219a23fde8788967e178b2a078cfc04e6939384cfe226e
+static/media/delete-icon.da38c0f4.svg,1762197441531,8078772ee88a0588989eec477da1ca949430f3f06efaa9c2db860b74c65f6722
+static/media/classes.3b73dba0.svg,1762197441520,2abfbb7015d5bccb8640fd0614d3782c048672c9543fe17d127db63287ac141d
+static/media/dashboard.8ec7624b.svg,1762197441517,5a5b5d4bf416d414842bd5eac30432b592342a392450e52943f067db4077bec1
+static/media/class-icon.6afd34b5.svg,1762197441520,a2f492c6c9c7b5201773062dfe90c238c12bc00bec097dc06141201f02b9588e
+static/media/Checkmark.1356376c.svg,1762197441530,aa56f27c8198bcae3236a881a7134cd3b7d3dbb048ec75654e8ce2d4710ce027
+static/media/batch.3fcff66e.svg,1762197441517,f29038480286f091e3805a43f90ca5a70a13bbcef3076831e0b29b1fcb61d862
+static/media/batch-icon.bf664771.svg,1762197441523,7519e2a92f436a2f46ef7420d721e24df2837d7fce7fe8c30f4bc12980b3d1a0
+static/media/auth-BG.2835584f.svg,1762197441495,238d3a2ff1aead1c4aaed0e07d23d2c1164f8be0ef2d5fced5c5ade370f3c5bf
+static/media/KaTeX_Math-Italic.d8b7a801.woff2,1762197441508,463c7b305e898eff5291b63c93cc5cb344035692b6913c1c79073ecbb6243bd4
+static/media/add-circle.0011f2bc.svg,1762197441520,d9e5d90e8de1ce16df5720b43ca79543036fcf1a6cd6439a9b15c5a97d269f17
+static/media/KaTeX_Math-BoldItalic.48155e43.woff,1762197441507,85cd1b757a1e147fa60d9a33c097ac463cd361d7d29278acb6f9fa12b1ab1807
+static/media/KaTeX_Main-Regular.f8a7f19f.woff2,1762197441507,d9e0bfb38531e96891681155d118070f8026358d2951cb8470c394b91809288d
+static/media/KaTeX_Math-BoldItalic.1320454d.woff2,1762197441516,6845d5004e7c212c58d4760856f246a648906e552b0fe06cc1602598c12451c2
+static/media/KaTeX_Main-Italic.65297062.woff2,1762197441503,d85767f0359678f357e48c84e9872f47b139674a79b7b71db0fdbb1317c26d12
+static/media/KaTeX_Math-BoldItalic.6589c4f1.ttf,1762197441507,7015e678d3236d50b3fefa9ba69b1473ed3f8e75adee5cace69614afcfc2f5bf
+static/media/KaTeX_Main-Italic.8ffd28f6.woff,1762197441504,96448f48ed2241c86e68c8461f1640b4420784ddafae0187411614145e1b86b7
+static/media/KaTeX_Main-BoldItalic.d8737343.woff2,1762197441502,c626855b7d035c168c7d791991df8d939103de514bfb4451d79d386573284c72
+static/media/KaTeX_Main-BoldItalic.5f875f98.woff,1762197441504,70abceb4229394d854d0f09cb4c174bb3044efcb0c914765da73cef487dff695
+static/media/KaTeX_Main-Regular.f1cdb692.woff,1762197441507,17452652a1119d3bcd8a71406fc8698a686f53c3923cb96e790e6a5d36d08ab1
+static/media/KaTeX_Main-Italic.39349e0a.ttf,1762197441507,1d8cb78615c1bf0e6382d19209ab3b545f62297a75006719c9fe6a82f4b3b282
+static/media/KaTeX_Main-Bold.a9382e25.woff2,1762197441503,5a85aa329e280b7ebe07d42616135b81a43b3e7699beb03e4f85cb85cc1c42a0
+static/media/KaTeX_Main-BoldItalic.52fb39b0.ttf,1762197441507,2c270214096b727d963e376c50c9372e0696e3807ab3593c99721e98a2350d9a
+static/media/KaTeX_Main-Bold.4cdba646.woff,1762197441502,0a80f97f42c420ce18f49adadd979581ee6c7b2fea155197d564eab7d4a33b94
+static/js/runtime-main.6a9bca74.js.map,1762197441563,f2801a917822d679fa77f96a7c6f7bf4475b6f9ac15f63e5ed38e0545f6a7bfa
+static/media/KaTeX_Main-Regular.818582da.ttf,1762197441507,303bad6cffa808e8161bca30051b6116e39cd128fad1565f4cfe87d57e54f715
+static/js/runtime-main.6a9bca74.js,1762197441530,b07c706cc4496a561bb9f07774327eaeada45d83b0b942e19f5c93d7f98dc2a9
+static/media/KaTeX_AMS-Regular.66c67820.woff2,1762197441495,d3c3fdcc36a8dd47d2361854708db75facde86716ac4aff340c27a53edb91fa3
+static/media/KaTeX_Main-Bold.8e431f7e.ttf,1762197441507,05a2a07c87d1436ec1339788f266910afda2ef11c2c159b5f9da217e5862678b
+static/media/feature-1.ea5c34ea.svg,1762197441495,d802659785b69508e521d5543fca40a58cb9076521ffc3e6b006f4786b8079f8
+static/media/KaTeX_AMS-Regular.10824af7.woff,1762197441495,6c46aa92e4310f9c70a445e7a423691f1704dce1cdc29fdd2e0c83d195fcee10
+static/media/KaTeX_AMS-Regular.56573229.ttf,1762197441499,c2f8c0a308e057708caa69b82f187cbff35ecda40162ceed7cf66bb958032bba
+static/media/feature-3.3d5d81e9.svg,1762197441495,ba23393d89776cb78f7a559903baff48be76665abd99bdd4e5ea103c5e5ed88b
+static/js/4.95785133.chunk.js.map,1762197441564,0ab0e485bf46fc04955033cd0935429295a34da2dbbe06ddc2d5f309be41a5a0
+static/js/4.95785133.chunk.js,1762197441535,a7b48c8d7479b7c78426e720416ddf3a198d43a52b8717a8b773ba30cc5acea0
+static/js/3.4a298447.chunk.js.map,1762197441563,a40200e99d0d521ddeaa7a40a9b26cb84829172b219d2b54e4ecc11fb8b9f650
+static/js/3.4a298447.chunk.js,1762197441531,3d4d361f74a77f67c1d3155cb59398a18774d75c1845bc720f3b3cb72b9882a0
+static/js/2.a2fb1b42.chunk.js.LICENSE.txt,1762197441533,9c84bc4d2f8584d32d75e01e0317e22af1e39f5ac5ded3e2e4e34984704c172b
+static/js/main.2a44678e.chunk.js,1762197441526,29d8ed00ff32f033cf188ee6bb35f345c67082dac53e98170968a48930e75a0a
+static/css/4.629184c9.chunk.css,1762197441533,dfeba86da1256521df7a877a265d56d314f65016837f30878338c2b7fc62a6ab
+static/css/main.0526d673.chunk.css,1762197441526,5a7f21d3d08bf99af6859090265554c53383f0d8c105c95973d99b94f3bec417
+static/css/3.6c5a3051.chunk.css,1762197441532,1ae150a22b1d42322775be9055605f93c75188e7081cfbdb206a59fc2f5ab8f1
+static/css/2.9f1a6119.chunk.css,1762197441531,5b08fdb85c1aaa0cf9acf7c4c35148cabc67c4897f21b89b8734390f584ad0a2
+static/css/4.629184c9.chunk.css.map,1762197441541,b82aa57e6e357dbb20067334e544e9b30d20ed0d928c13e6c61e1747e6f5a205
+static/js/main.2a44678e.chunk.js.map,1762197441563,b289bd0bb836eb4ebe7cf85c99c68c45d977223d0f850aad19eb83ccffa42972
+static/css/main.0526d673.chunk.css.map,1762197441536,ee5cf1afc044616049e9766ca1c86278437b1a5ba9360f94592665a2975a88bb
+static/css/3.6c5a3051.chunk.css.map,1762197441541,bcc301c3b3b46c96afc0fc028a6aa3cd299ccda538d7c6cb9ebc87f8de535796
+static/css/2.9f1a6119.chunk.css.map,1762197441540,65fe44874775e5d32c6076f91b40fc5d120cecbf5da0d211d9303dbb56b2e6ec
+static/js/2.a2fb1b42.chunk.js,1762197441534,423e2b3067ea1e1982566fe278946da3cfeb9ec01dab8e39436134c0b67d7185
+static/js/2.a2fb1b42.chunk.js.map,1762197441573,7d97604a5733b0883538aa1e7e7b279f8ddffd913b847222ea9354a5fb94820d
diff --git a/src/component/Main/Siderc.js b/src/component/Main/Siderc.js
index 5e4ff31..e1e485d 100644
--- a/src/component/Main/Siderc.js
+++ b/src/component/Main/Siderc.js
@@ -188,10 +188,10 @@ export function Siderc(props) {
style={{ height: '100%', borderRight: '0px solid #f0f2f5' }}
>
}> Dashboard
- } title="Question">
+ {/* } title="Question">
Bookmarked
-
+ */}
} title="Quiz/Exam">
Live Exams
Upcoming Exams
@@ -200,12 +200,12 @@ export function Siderc(props) {
} title="Practice">
Practice Exams
- } title="Calendar">
+ {/* } title="Calendar">
option9
option10
option11
option12
-
+ */}
}
diff --git a/src/component/Student/Exams/LiveExams/LiveExams.css b/src/component/Student/Exams/LiveExams/LiveExams.css
index 17b840b..9b6282b 100644
--- a/src/component/Student/Exams/LiveExams/LiveExams.css
+++ b/src/component/Student/Exams/LiveExams/LiveExams.css
@@ -1,46 +1,20 @@
-li.MyExam{
- -moz-box-shadow: 0 0 5px #888;
- -webkit-box-shadow: 0 0 5px#888;
- box-shadow: 0 0 5px #E1E1E1;
- margin-bottom: 10px;
- padding:5px 35px 5px 25px;
- border-radius: 7px;
- }
-
-li.MyExam table{
- width:80%;
- }
-
-span.MyExamImage{
- width: 100px;
- height: 100px;
- line-height: 40px;
+.exam-card {
+ transition: all 0.2s ease-in-out;
}
-span.MyExamImage img{
- width: 100px;
- height: 100px;
-
+.exam-card:hover {
+ transform: translateY(-4px);
+ box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}
-div.MyExamDiv table tr> th{
- border:none;
- padding: 0 0 0 10px;
- text-align: left;
- font-weight: normal;
+:root {
+ --background-color: #f5f5f5;
+ --card-bg: #fff;
+ --text-secondary: #555;
}
-div.MyExamDiv table tr> td{
- border:none;
- padding: 0 0 0 10px;
- text-align: left;
- font-weight: bolder;
+[data-theme="dark"] {
+ --background-color: #141414;
+ --card-bg: #1f1f1f;
+ --text-secondary: #bbb;
}
-
-li.MyExam h4.ant-list-item-meta-title{
- padding: 0 0 0 10px;
-}
-
-li.MyExam span.MyExamSpan{
- padding: 0 0 0 10px;
-}
\ No newline at end of file
diff --git a/src/component/Student/Exams/LiveExams/LiveExams.js b/src/component/Student/Exams/LiveExams/LiveExams.js
index da94971..1ad5756 100644
--- a/src/component/Student/Exams/LiveExams/LiveExams.js
+++ b/src/component/Student/Exams/LiveExams/LiveExams.js
@@ -1,293 +1,381 @@
import React from "react";
import "./LiveExams.css";
-import { Layout, List, Avatar, Button, Space, Divider } from "antd";
+import {
+ Layout,
+ List,
+ Avatar,
+ Button,
+ Card,
+ Tag,
+ Typography,
+ Space,
+} from "antd";
+import {
+ AppstoreOutlined,
+ UnorderedListOutlined,
+} from "@ant-design/icons";
import "antd/dist/antd.css";
import { authenticationService } from "../../../../_services";
import { Siderc } from "../../../Main/Siderc";
import { Headerc } from "../../../Main/Headerc";
import { selectorService } from "../../../../services/selectorService";
import { Link } from "react-router-dom";
+
const { Content } = Layout;
+const { Title, Text } = Typography;
class LiveExams extends React.Component {
state = {
currentUser: authenticationService.currentUserValue,
- classes: "1",
batch: "1",
data: [],
total_count: 0,
- total_pages: 0,
+ layout: "card", // 'card' or 'detail'
};
componentDidMount() {
- this.handleLoadUpcomingExam();
+ this.loadExams(1);
}
- handleLoadUpcomingExam() {
- // console.log('jsonObj:', jsonObj);
- const json = {};
- json.pageSize = 10;
- json.pageNumber = 1;
- const storedUser = JSON.parse(sessionStorage.getItem("currentUser")) || {};
- json.batch = storedUser.batch_id || null;
+ loadExams = (pageNumber) => {
+ const json = {
+ pageSize: 10,
+ pageNumber,
+ batch: JSON.parse(sessionStorage.getItem("currentUser"))?.batch_id || null,
+ };
+
selectorService.loadLiveExams(json).then((data1) => {
- // console.log('Success:', data1);
- //data = $.parseJSON(data);
- let result = {};
- if (data1 !== undefined) result = data1.result;
- this.state.data = [];
- let data = [];
- let map = {};
- if (result.exams !== undefined) {
- for (let index = 0; index < result.exams.length; index++) {
- let c = {};
- c.index = index;
- c.id = result.exams[index].id;
- c.name = result.exams[index].name;
- c.image = result.exams[index].image;
-
- c.total_marks = result.exams[index].total_marks;
- c.total_questions = result.exams[index].total_questions;
- c.exam_duration = result.exams[index].exam_duration;
- c.attempt_status = result.exams[index].attempt_status;
- let Difference_In_Time =
- new Date(result.exams[index].end_date).getTime() -
- new Date().getTime();
- // To calculate the no. of days between two dates
- c.number_Of_Days = ~~(Difference_In_Time / (1000 * 3600 * 24));
- let date = new Date(result.exams[index].start_date);
- let dd = date.getDate();
- let mm = date.getMonth() + 1;
-
- let yyyy = date.getFullYear();
- if (dd < 10) {
- dd = "0" + dd;
- }
- if (mm < 10) {
- mm = "0" + mm;
- }
- c.start_date = dd + "/" + mm + "/" + yyyy;
-
- let date1 = new Date(result.exams[index].end_date);
- let dd1 = date1.getDate();
- let mm1 = date1.getMonth() + 1;
-
- let yyyy1 = date1.getFullYear();
- if (dd1 < 10) {
- dd1 = "0" + dd1;
- }
- if (mm1 < 10) {
- mm1 = "0" + mm1;
- }
- c.end_date = dd1 + "/" + mm1 + "/" + yyyy1;
- data.push(c);
- map[c.id] = c;
- }
- }
- this.setState({
- data: data,
- map: map,
- result: result,
- total_count: result.total_count,
- total_pages: result.total_pages,
+ const result = data1?.result || {};
+ const exams = result.exams || [];
+ const formattedData = exams.map((exam, index) => {
+ const start = new Date(exam.start_date);
+ const end = new Date(exam.end_date);
+ const daysLeft = Math.floor(
+ (end.getTime() - new Date().getTime()) / (1000 * 3600 * 24)
+ );
+ return {
+ key: index,
+ id: exam.id,
+ name: exam.name,
+ subject: exam.subject_name,
+ marks: exam.total_marks,
+ questions: exam.total_questions,
+ duration: exam.exam_duration / 60,
+ startDate: start.toLocaleDateString(),
+ endDate: end.toLocaleDateString(),
+ daysLeft,
+ attemptStatus: exam.attempt_status,
+ };
});
- });
- //console.log(data);
- }
- handleChange = (pageNumber) => {
- const json = {};
- json.pageSize = 10;
- json.pageNumber = pageNumber;
- json.batch = this.state.batch;
- selectorService.loadLiveExams(json).then((data1) => {
- // console.log('Success:', data1);
- //data = $.parseJSON(data);
- let result = {};
- if (data1 !== undefined) result = data1.result;
- this.state.data = [];
- let data = [];
- let map = {};
- if (result.exams !== undefined) {
- for (let index = 0; index < result.exams.length; index++) {
- let c = {};
- c.index = index;
- c.id = result.exams[index].id;
- c.name = result.exams[index].name;
- c.image = result.exams[index].image;
-
- c.total_marks = result.exams[index].total_marks;
- c.total_questions = result.exams[index].total_questions;
- c.exam_duration = result.exams[index].exam_duration;
- c.attempt_status = result.exams[index].attempt_status;
- let Difference_In_Time =
- new Date(result.exams[index].end_date).getTime() -
- new Date().getTime();
- // To calculate the no. of days between two dates
- c.number_Of_Days = ~~(Difference_In_Time / (1000 * 3600 * 24));
- let date = new Date(result.exams[index].start_date);
- let dd = date.getDate();
- let mm = date.getMonth() + 1;
-
- let yyyy = date.getFullYear();
- if (dd < 10) {
- dd = "0" + dd;
- }
- if (mm < 10) {
- mm = "0" + mm;
- }
- c.start_date = dd + "/" + mm + "/" + yyyy;
-
- let date1 = new Date(result.exams[index].end_date);
- let dd1 = date1.getDate();
- let mm1 = date1.getMonth() + 1;
-
- let yyyy1 = date1.getFullYear();
- if (dd1 < 10) {
- dd1 = "0" + dd1;
- }
- if (mm1 < 10) {
- mm1 = "0" + mm1;
- }
- c.end_date = dd1 + "/" + mm1 + "/" + yyyy1;
- data.push(c);
- map[c.id] = c;
- }
- }
this.setState({
- data: data,
- map: map,
- result: result,
+ data: formattedData,
total_count: result.total_count,
- total_pages: result.total_pages,
});
});
};
+
render() {
+ const { data, total_count, layout } = this.state;
+
return (
- Live Exams
-
+ {/* Header + Buttons */}
+
+
+ 🎯 Live Exams
+
+
+
+ }
+ onClick={() => this.setState({ layout: "card" })}
+ >
+ Card View
+
+ }
+ onClick={() => this.setState({ layout: "detail" })}
+ >
+ Detail View
+
+
+
+
+ {/* Card Layout */}
+ {layout === "card" ? (
{
- this.handleChange(page);
- },
- pageSize: 10,
- total: this.state.total_count,
+ grid={{
+ gutter: 24,
+ xs: 1,
+ sm: 1,
+ md: 2,
+ lg: 2,
+ xl: 3,
}}
- renderItem={(item) => {
- console.log(item);
- return (
-
- this.loadExams(page),
+ }}
+ dataSource={data}
+ renderItem={(item) => (
+
+
+
+ {/* Top Section: Avatar + Title + Days Left */}
+
- }
- size="large"
- bordered="true"
- title={item.name}
- description={
- <>
-
- {item.number_Of_Days} days to end{" "}
-
-
-
-
-
- | Start Date |
- End Date |
- Subject |
- Durations |
- Questions |
- Marks |
-
-
-
-
- | {item.start_date} |
- {item.end_date} |
- {item.exam_duration} |
- {item.exam_duration} |
- {item.total_questions} |
- {item.total_marks} |
-
-
-
+
+ {/* Exam Name + Days Left Inline */}
+
+
+ {item.name}
+
+
+
+ {item.daysLeft > 0 ? `${item.daysLeft} days left` : "Ended"}
+
- >
- }
- />
-
-
-
-
- |
-
- {item.attempt_status === "Pause" ? (
-
- ) : (
-
- )}
-
- |
-
- {item.attempt_status === "Completed" ? (
-
-
-
- ) : (
- ""
- )}
- |
-
-
-
-
-
- );
- }}
+
+
{item.subject}
+
+
+
+ {/* Exam Details */}
+
+
+ Start: {item.startDate}
+
+
+ End: {item.endDate}
+
+
+ Duration: {item.duration} mins
+
+
+ Questions: {item.questions}
+
+
+ Marks: {item.marks}
+
+
+
+ {/* Buttons */}
+
+
+
+
+
+ {item.attemptStatus === "Completed" && (
+
+
+
+ )}
+
+
+
+
+ )}
/>
-
+
+ ) : (
+ // Detail Layout (Horizontal Cards)
+
this.loadExams(page),
+ }}
+ renderItem={(item) => (
+
+
+
+ {/* Left Section - Image + Details */}
+
+
+
+
+ {/* Title + Days Left Tag close together */}
+
+
+ {item.name}
+
+
+
+ {item.daysLeft > 0
+ ? `${item.daysLeft} days left`
+ : "Ended"}
+
+
+
+
{item.subject}
+
+
+ Start: {item.startDate}{" "}
+
+ End:
+ {" "}
+ {item.endDate}{" "}
+
+ Duration:
+ {" "}
+ {item.duration} mins{" "}
+
+ Questions:
+ {" "}
+ {item.questions}{" "}
+
+ Marks:
+ {" "}
+ {item.marks}
+
+
+
+
+ {/* Right Section - Centered Buttons */}
+
+
+
+
+
+
+ {item.attemptStatus === "Completed" && (
+
+
+
+ )}
+
+
+
+
+
+ )}
+ />
+ )}