From b83a396991c718884e17b0d0a656a6c4bb0968c4 Mon Sep 17 00:00:00 2001 From: tunny17 Date: Thu, 10 Aug 2023 12:23:10 +0000 Subject: [PATCH] CLASSROOMIO-T-85:Developed the Dahshboard UI for the student LMS CLASSROOMIO-T-85:Added the datepicker and also created the UI for when no course is in progress CLASSROOMIO-T-85:Changed the images to svg and moved them into the images folder in the static dir CLASSROOMIO-T-85:Developed the Dahsboard UI for the student LMS Merge branch 'main' of https://gitlab.com/thenextgreat/classroomio Merge branch 'main' of https://gitlab.com/thenextgreat/classroomio Merge branch 'main' of https://gitlab.com/thenextgreat/classroomio Merge branch 'main' of https://gitlab.com/thenextgreat/classroomio Merge branch 'main' of https://gitlab.com/thenextgreat/classroomio Merge branch 'main' of https://gitlab.com/thenextgreat/classroomio CLASSROOMIO-T-27: Review Section for Instructors on landing page CLASSROOMIO-T-27: Remove unused variable Merge branch 'CLASSROOMIO-T-27' of https://gitlab.com/thenextgreat/classroomio into CLASSROOMIO-T-27 CLASSROOMIO-T-27: Complete reviews functionality CLASSROOMIO-T-27: Review Render Update CLASSROOMIO-T-27: - Resolved Feedbacks CLASSROOMIO-T-27: Fixed Ratings Data CLASSROOMIO-T-27: - Added Ratings Svg - Fixed avatar_url feedback CLASSROOMIO-T-27: Import Adjustment CLASSROOMIO-T-27: Code Review CLASSROOM-T-27: Added Add Review Functionality CLASSROOMIO-T-27: - Unresolved Review - Enhance Code Redability CLASSROOMIO-T-27: Completed the delete functionality CLASSROOMIO-T-27: Hide/Show functionality CLASSROOMIO-T-27: Double Quotation Update CLASSROOMIO-T-27: Testing toggle functinality CLASSROOMIO-T-27: Added the icons CLASSROOMIO-T-27: Completion of the hide/show functionality CLASSROOMIO-T-27: Display the store data on the review page for styling CLASSROOMIO-T-27: Styling of the review component & connecting it's data CLASSROOMIO-T-27: - Add ReviewsForm - Completion of the Reviews Form Structure/Styling CLASSROOMIO-T-27: Added a reviews modal CLASSROOMIO-T-27: Logic update for review section CLASSROOMIO-T-50: Logic for overlapping reviews CLASSROOMIO-T-27: - Completion of the structure & styling with mock data. - Addition of custom ratings assets CLASSROOMIO-T-27: - Review Section Code Structure - Import Profile Picture Assets Co-authored-by: Rotimi Best Co-authored-by: Tunji Adeyemi Co-authored-by: tunny17 Merge-request: CLASSROOMIO-MR-22 Merged-by: Best Admin CLASSROOMIO-T-62: Dark Mode Bug Fix CLASSROOMIO-T-62: Delete Unused class CLASSROOMIO-T-62: Dark Mode Bug Fix Co-authored-by: Tunji Adeyemi Merge-request: CLASSROOMIO-MR-23 Merged-by: Best Admin Co-authored-by: Ifeanyi Nwosu Co-authored-by: Tunji Adeyemi Co-authored-by: tunny17 Merge-request: CLASSROOMIO-MR-37 Merged-by: Best Admin --- src/lib/components/Icons/CommunityIcon.svelte | 9 +- src/lib/components/Icons/ReviewsIcon.svelte | 9 +- src/lib/components/LMS/SideBar.svelte | 2 +- .../components/LMS/components/Learning.svelte | 58 +++++++++++++ .../components/LMS/components/Student.svelte | 80 ++++++++++++++++++ src/lib/components/LMS/components/store.js | 1 + src/routes/lms/+page.svelte | 68 +++++++++++++-- static/digital.png | Bin 0 -> 9507 bytes static/images/student-learning.svg | 5 ++ static/images/target.svg | 13 +++ static/painting.png | Bin 0 -> 7996 bytes 11 files changed, 235 insertions(+), 10 deletions(-) create mode 100644 src/lib/components/LMS/components/Learning.svelte create mode 100644 src/lib/components/LMS/components/Student.svelte create mode 100644 src/lib/components/LMS/components/store.js create mode 100644 static/digital.png create mode 100644 static/images/student-learning.svg create mode 100644 static/images/target.svg create mode 100644 static/painting.png diff --git a/src/lib/components/Icons/CommunityIcon.svelte b/src/lib/components/Icons/CommunityIcon.svelte index 2d87592a..da7b294e 100644 --- a/src/lib/components/Icons/CommunityIcon.svelte +++ b/src/lib/components/Icons/CommunityIcon.svelte @@ -2,7 +2,14 @@ export let color = 'currentColor'; - + - + -
{#if $currentOrg.avatar_url} diff --git a/src/lib/components/LMS/components/Learning.svelte b/src/lib/components/LMS/components/Learning.svelte new file mode 100644 index 00000000..00e555d4 --- /dev/null +++ b/src/lib/components/LMS/components/Learning.svelte @@ -0,0 +1,58 @@ + + +
+

Currently Learning

+ + {#if courseInProgress === false} +
+ +

No courses progress yet

+

Once you start a course, your progress will reflect here

+
+ {:else} +
+ {#each mockData as data, index} +
+ + +
+

{data.title}

+

{data.description}

+
+ +
+
+
+
+
+ {/each} +
+ {/if} + +
diff --git a/src/lib/components/LMS/components/Student.svelte b/src/lib/components/LMS/components/Student.svelte new file mode 100644 index 00000000..74ba2a44 --- /dev/null +++ b/src/lib/components/LMS/components/Student.svelte @@ -0,0 +1,80 @@ + + +
+

Your Schedule

+ + + + {#if $isMobile} +
+ + + +
+ {:else} +

+ {formatDate($store?.selected)} +

+ {/if} + {#if formatDate($store?.selected) == 'Today'} + +

2:30pm

+
+ +

+ The essence of design collaboration +

+ Figma Introduction +
+ +
+
+ {:else} +

No Lesson on this day

+ {/if} +
+
diff --git a/src/lib/components/LMS/components/store.js b/src/lib/components/LMS/components/store.js new file mode 100644 index 00000000..5c1a5c66 --- /dev/null +++ b/src/lib/components/LMS/components/store.js @@ -0,0 +1 @@ +export const courseInProgress = false; diff --git a/src/routes/lms/+page.svelte b/src/routes/lms/+page.svelte index ecb14607..ab96db80 100644 --- a/src/routes/lms/+page.svelte +++ b/src/routes/lms/+page.svelte @@ -1,15 +1,69 @@ -
-

Dashboard

+ + Student Dashboard - ClassroomIO + -
-
-

Student section

+
+

Dashboard

+
+ +

+ Today is another day to bring you closer to your learning goals. Don’t give up, the more you + learn the better you get. +

+ goto('/lms/mylearning')} + /> +
+ +
+
+
+
-
-

Currently Learning

+ +
+
+ +
+
+ student Learning score +
+ +

Your Progress

+ {#if courseInProgress} +

2/15 lessons completed

+ {:else} +

No lessons started

+ {/if} +
+

+ {courseInProgress ? 1 : 0} % +

+
+
diff --git a/static/digital.png b/static/digital.png new file mode 100644 index 0000000000000000000000000000000000000000..ace3208501549fdd0a7a42838f1f11c00b4683ed GIT binary patch literal 9507 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 Bdd>g< literal 0 HcmV?d00001 diff --git a/static/images/student-learning.svg b/static/images/student-learning.svg new file mode 100644 index 00000000..9113d0b7 --- /dev/null +++ b/static/images/student-learning.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/static/images/target.svg b/static/images/target.svg new file mode 100644 index 00000000..aa3067bb --- /dev/null +++ b/static/images/target.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/static/painting.png b/static/painting.png new file mode 100644 index 0000000000000000000000000000000000000000..4caae879589f931467b2b8f2127fa52f26cf6663 GIT binary patch literal 7996 zcmV-CAH(2@P)C6eMIZbNbw&c5Bb`#npZ_x;YfbB9iVAXhp( z=bn3(@7-G$?Z!d zNSJOUI^pU*nM}fQ$p8}Ta&HTvJ3wzqRl46$leeg z==a{u^StPMM;YOD%x3F5JNg27zdnNuE9FCEQz;TmCU~96j_1ATCR52tAx5O=#zZEC zz<6_2vP!r}-*r@qM#{EIQ1`J!g=pLEO1Mifc1u|nu7oNVu#3=G%1R`Oi>2*(MzUVV z(cc`aLn(K3Ek==cKU>b(kr3n>9{0H-RUs@vsp?(`P8bG=l;uJ>?<7R3hIn&xFX7g% zExeBbyNC^~h)5Es#D_|p5+7g}(L$8#yYNMYNwnj5Joa=ABJKFy`fNnc=C+%0fiW9> zzR)PrRTU=TB-Rz_Iy;gz`-G~p6K$%}mZRL0^Oh1H*{^NwR&Ar-5yd+amg7Ju>{0Lg z7pg>iP9$9tNDT`panJT*i6Ii|u4e{8QkkdE41--}<91cn5$EKp(-PwKTq2<_apG(2 zgubXNWp!Y#QRyB+)rncges>eT+lKGA<*vhu2^I&%=NkvbHPCK-Wp+pXh85Z>Rn;n< z34~x6%?To6MLR;D$1XJ_pa5ejnk~_lq7$jO5@;J@V_P;v8z(-sbx>v>IS1>0kKIe~j_&O^uU=xqC^SVgyxcS~37l01XhT zU-^93mSgEUb{wW6N!wPB=SElE^cdECDjljC%CW6ZC5UWLj=4yEUZ@0slHJh`!#p=I zsv0{x$B8zcv*o)dLi1IvDOvbJut>~xcbt(SM(ozckKQ|%ciCclH;BITSdwoq5Ml1yrMpGgQ>andM$9P&_?KA8G6d@>x zBv7{vrETNFg$o8oa#5rEhcG-cg=(dRd_Iru?JCLxeF`mY zJE_b`rd&e0CKq90b89PJ5q~#QaS~~DETY3yP`FBrsA-^N`hl$sP<6HpEK@s<_mG)r0iWoXb;hm*S&oCiUN<0S0`7> zSXx*`y;eo7nnR_!O`{6OL{hpP+%z-tij(jl~BUVq-LD zh>i%hcEwkb>~_s8(4$VTuC5@R&ZzQDJoYS7eM7o1aVoM{Cz(QnfE`i%wQQqiVWgrW zDUocazJ-h5dw=z?G1eNt^cb;h^O7IR`s2^`~U`yKEfF5U^`5s zLB_RcclFSODaIp1F!zw`jDjGb){W#Mv3^SlMidn!#LAl;(bjH+FgoYjR@hZ%H`-sj zeg*&k8{fo0-!Pv2rO)84H>0@9o3iwF{n-dkIzq6E4(--Sl6T~Mwbekm+!t|QVTjtb zNVwKA>LvgBR+Kn!QR!3y_|8clSbFb9<>2uNpa%S?s-= zH?g*`Otl_SJMp==%SFvfP^}%b`P>$1tB~ML5?SwrB;G@v#5PH6NZ%1O>Tt;5Ff>wBeHSu% zLmT2G)o8LC0W`hgwX?6|D}V6&s8ZEp;Jv)GKo6WkA|>89#8khHvv0nF&;RP@v43)( z#_%TJ^X@w{`1#L0gPEB+u3h;6W0ckbD}%M=Rebp4xAFO3`v<7Gbz^%`ys?ackg?f{|rCvoRVZr0e*Mep@l*uQ}B*>1^ zMLTkMac1tCe9?S4`}W(c6twWfsZ%Hx3V7v*uTqr){Vm~2=m?R^IC${H1K7WJ2&2OV zwU;(k>*ZTlv2^kfom&}}-@=m*?j=GS#8%$MyY&q^qzbb66z$4V+qPoO;=e-~3ulHI zu97y|773z+Z_h4JwQZz^_KH?yauj z^i!u$+pgffb3efF@Cdb}jq2t$wiqXm9Gk)*W9DXM+rY~>)WBfi<<$!Qpfdl(d z$Y*K4gtg~y5lz-GdH4istM_o_8oxU!+H(rE#hVyA^BioiMUP&=+nojl;;3U&qUcc7 zR6`M#Xm8M!zN;y0#D#P!jhVSQeD>L&!_4fQE>P5168dyH$(Y;LWu8276iK>%sU1ng z**`IciSaSD>D85GYQS-fj}0L~W+wQu1N+9YvAKmB>q|nQqfToFIu53QpPS6F+EPUl zbV6Lm!6*073Agy34%X8y9vPTKDuS&W>o$_^ENW!tMq?W<2ds(&5&V?I(XmZ9v%)Ai zMktJnb=8jekGSxMjvc`te((GE>ev5RgLj1lXLA`|ltHWBHj?HxF+R%5NGi&zL_IxZ zv^oNO`l&}XqY7DAYw;!dVi8l>tiEGwyQ+J|)gp}uBNtg3o5l)9Av#?Fr`O@pR8Q!!^5hW9{bU|SfiJFQA z>x7hn6z=G)JKRfgPAZur!+TI39>&bwIpT#15nR?7j>dn_>|uy^g)@pfxxf_D#4mmE zdEB^jN6VX67=m8>KmQMZ?{ohMg@G}A?Q1XM-eLvw3`+`BqGW&Xz6ol>mR3Jf^yb2V zHbY4wlf}mBrUCqXhafX2kwdi+U~GH>YwIh5UvPCZ#Kr4#Q3??#!X6nI!WN&IN#&3) z_py6bzDFQw-bjC zQl(Q^SzA-b{_gp6c=*w$&{ry9aBv8ln;UA2YisK$_YY!mVTle!MA}xB+S*))Qyjzi z#1R~w%H#TbKP2btc<9kbk>GngiY=W5_F=b4Q}MLY2ZjmDgD3wEe#Tce!{>&sRX)7L&E zfgPeV@|vM5LEvF?F$sEMxhF~IB$zpy&Y?}!EROamHt!$p=PFWE`2lq_{Ulm)tQ=KU zut7GPHiZMx*!rfiU(%7Kuh<~7vr>6giHgn27U&jQqSChUWJcubKOqPdTvR&gs=BwB z_FX!EUMmM#I)q#ykCl~Gbv~LG2)%((TY;N{lu{vAK&Mj2Kp}+`6ORsY@4^O`#@g8E zfk`aQ+|hE--UlASy*sxRdNyiXG=l=#bVTDvPh#orEjpzt?=R65Qe2WtG+846sUb~` zsBNyHQeWgdeMM28c0ouuQ&pxQ(Iy2z5-f>@>|J#YfpSSDEIF*Ifrpe5Y^&q?&Hwb@ zk<4Z=N1T1|*hwxdgXP;FW8}aQZO2?acNRw<`~sXncL1~~LC5m@zYl9)C zgPZTaf%51W?wo%OnQV?w)Wgh`_cgv&D=W0U1UgjP;=mxLufK~d^MfSqc5`_Vqf^Jo zfRC9!bTBkFh54l!Udz-p$4tvk)BhwiHx|njjTXU)3MaS)mej`rQA|2fsRmlcWjoPD zHq55RZ<&h6c(8)f#tnpv*Lb{$?9yel=dWR(zW`_93OXyZXy5q&mAAeJtFeXI`6aBc zu48d=L5qXJ&eNa!Cm0+(ibKcF&?6_19hjiRs?3&hlwJXo`#-^u#7InUoD7OM`qVEo zUMF$ziRZAsbWf!#x$?%!J+8}?lm+Lz8hafr){BIbww!BoGb){MWD7_S&xc`4RqMv| zG!7BzI&rDR#j79Qg3UyKZlR9$wVWU~b=H92V zH2rPbS4RtQ1**Tz@Fk0R=R04)(I@^coUsWUKlmW_9XW~jzVl_|>G)Ets1zAq_7Pny z&rYK>as)Fs-bcH(ftgF^kS~v5aQ|Vy=0; z=dumMqLxW1xo1FwQ^+-5IDB9V9TGl0dkd3ed&w;+bB9=lTi(^yQPmleR^qzf3DI*OIs zm(*KGY!r|F*i)avz|bf@W;7Vse+&c;T^O5whvTI*ISZG7WTU(tN?z}``O z^_zc$~qoWiM3 z{}KXLTc%StaQN^e$d51tF&j$dKgk+eN7r-k*Pn)!>%;AA5x4ll+*TpGCE{PU36WLx)qy7EKmH@BH{AlX|M= z2lY8TFkT=qN#c^%z{>tJTGv{ypU3-yr{MFlt#jAt8JTt-tQ=;ONH9JMj$P$%)p`T@ zsi)9fU&46NLX9u$KXKS(D}khlCP__`iPEt4qOy;i_Jk$2QBet-TDf!-9TPwWh>N>E z&o{5nBDp<_zCLDfx7SH{1JD1%r|E|RJa(iXL&Xs9U%7|he`AKp3sw5gy$W$HZ6M`p zf-&5m!cz|)!A8A;kMCa9z%R+aBoBoGZMIM(IB;ll`=Y|RLm~%YF-{)))F(06qDr?G zFx@KPNWsErsz|JyL$i~?JqqF0TL5vEjLgTdBbOg-o zh@c#lOI$>j3H{=>BBURjy{<4W8Q{K87S}}G@iIHLgHIiCGk0K0ZfzI7t(^n*Da)Oi$fnl@@cQIWhPSVz!^bZtd zrA3veZHHFJU=3=cJ32w``li^@H;};0?Ha*)h-~dzJDLKJp_I@Jta!f8Zun8ZD2Qe?s8|cX`QY=E8{8F@4v1&BucW zCNO_*iMer=o{culq+HT4v5ziewW$>^!YokQnO-z;BhTv|dww)+<141FQa#`P;36J8 zc8K<$Rp$8GB9(=QdK~wSHAz6&ZHvb5k2{RoRP%#qe8Tjd+N^=mg6NOZc=&J@ue`sZ z2rWsd><*0(gH|d2np6{f1@WKzTT{p-_v7iu_u=exM{C~NY~R(y_M;(_K&9qI<3%k& zV9|t)A4yoJa{^O`mV27~txlg%t2dEJrWFJ9YJuDzw?suMa*vP_M8|=@dpttk<3|jU zoV%7N;Nnsf&pt7ReIwLh#$zciH0zARr2+waQ!4u!42Yx>7#no(+0*0d2KtvgtW*=q zX)7wh#oU+p=hM!%S-l8CPa9&Lme?*cmkvudL|N5_NV~-l&X~!1vgE8{8J|A=gc2dO zY!mt1QA^gv;zKbvYi)Zk{OK;*o|I0I4N&MHp`y+he7azj^{=*M2!j8le zlly*VK;`~CW*1jYF@UhJ!Hnz|K6Ma3{$LKj`O7Dn>^Je{?_9;hhemMq?i&8<7ti3| z|K3mVU;g>yC?siONlVk$8nx1+KPYBB+*@zs-@Nz{9y{KL_b#mApZ%RZ1R-r~);+DI zXqAS5A*2?X;SWkKm9X)x-+dO>@3wK_Zi*F$qJ|WyXi9E8%-WGOtsP4A@};-%%1`I9 zz^rJJK>pgD89aDo3YS?@eSlRHactM`&SJlSd{#43jMYuX-DEWUR$&z+lvZoPWIe@v z0b6VW43|qZ4UgqpI!-caerbihu3^lxCAx>-zx*Fhu|dDaygQGXg#cByXAkXT2ZW`f zmtLO6v#0jrn`dY68^5@RZJ_{PdvyUT8!atVTIE6}tTa4z_2Th_;HMv+LZLK*VyUPF zw*vdG(veGZOXx(Nh55VJ@$SXz*rd9wtZ$mR3Q5zX3PKJJ6Pjk3T`jWnP-IQ2CMp|- zimJ>Y3^Xn$qGtRy5nSBvNs$4f+VYVJ1X0;E&(#}kt$~%9s623R!W0qttXiX~VX?z_ zCxyHuReqDjeZzZ^BW#r6G>?m{v;N%S zORFsGiCR?IAHHz@0^1=hj1$zhItI(C7p8~oE0)v|ZEl&u+sgWeaZqg8G+Ip!ZBlTL z=e(MGMCQxk1@>gxpo5q zZFh^YyB$dEXQ`>3P*auar(EKSH4bAEFS&jbNJ!+U)Da7 zT-TwaS|Wj`lB@eu3!ES!W$9oz{+nv~;V1rA(6a)i`g{ zSQ9O9g(%Bl36-A2%nG5MPV%UFwsG$5*YzbbD=!K*9Otn&IA;in|u(nOCY z-VEsHbGIrLmT%LBVcHk2DPyEGB+Sy9Gc`awwSo%7U41hKAx^c~>S%~+Y2)3(?7{*T zR}2b^0g=RHB`Rw2OJ8ie5vZ1i(etc*Im8FoKl5=wo!K%yvwCsA7{ z;#a6)r;Z)ha4LmBi3UIYfaM_i41?UD+Tx@V&I<}E;t^XBdkA$px_FpTB#qIwZH7>z zx#^aS9Po!kJiDdUk$A=Y0BtuV~r$ezKrYPtj z_~+voKOHUah;2z_;>6)8br#8J5=U%Q`az<$5_db|ba+nCl`@aVGWvvAwZl-K-=I5{ zcZrI&=%rKaTwc0zLy_8C%a~1uF-H9b%)FKm{(~RAj>jMQgpNGOMEt$QMO9-X0W$~Y zhS+gh@khfzJO-%v*HaHJ)lDy&c5AWOw#61`Q=3}>)hmfpe3^K|fq?DPcg4=Gw0sc*edg1UX)gb+-E3Z{iBkI`EqO#HxKrg6~t_@DylPll&+vBD5U&MFTCMB@>B=2^RK^kEvP<{!Oz@ zD(xA0W+s!PJvC7x@p50jAible-Y@rx^s+p+va+Jiso5}CTd=aI=FosSmX{9=mNkaQ zBguXg4dQC$P8c)mk0*5jt4o)A|D>8aCd=-QGU=i`ZkGRQHW$TVX=mwHWEVXMDBPK5jc25-9RYVsx;xMiKSNY}ct4@Ni`=op zULx)2WmdO>YP3MmVQ6pzcC<6H?K{@q@jbs$t2Mqvu}_B4A4+tGb`4hSI;MDR9}#h) yE;}pkQRki2{*{FEe*QYw{7tUC@3YB!pZ^QcyRj~=lDruJ0000