From 54b1b6081aa53cca9e04547fd73ba7c760628309 Mon Sep 17 00:00:00 2001 From: Blake Matthes Date: Thu, 20 Feb 2025 07:22:18 -0600 Subject: [PATCH] refactor(lst): added side bar plus dummy menus --- frontend/package.json | 91 +-- frontend/public/imgs/ExampleOrder.png | Bin 0 -> 74670 bytes frontend/public/imgs/card_ppo_dark.png | Bin 0 -> 24924 bytes frontend/public/imgs/card_ppo_light.png | Bin 0 -> 25515 bytes frontend/public/imgs/dkLst.png | Bin 0 -> 23064 bytes frontend/public/imgs/exampleforecast.png | Bin 0 -> 24146 bytes frontend/public/imgs/ltLst.png | Bin 0 -> 22454 bytes .../public/imgs/web-app-manifest-192x192.png | Bin 0 -> 6039 bytes .../public/imgs/web-app-manifest-512x512.png | Bin 0 -> 21960 bytes frontend/public/vite.svg | 1 - frontend/src/components/auth/LoginForm.tsx | 2 +- .../src/components/layout/lst-sidebar.tsx | 27 + .../src/components/layout/mode-toggle.tsx | 26 + .../layout/side-components/admin.tsx | 59 ++ .../components/layout/side-components/eom.tsx | 39 + .../layout/side-components/forklift.tsx | 39 + .../layout/side-components/header.tsx | 21 + .../layout/side-components/logistics.tsx | 54 ++ .../layout/side-components/production.tsx | 39 + .../layout/side-components/quality.tsx | 39 + .../src/components/layout/theme-provider.tsx | 67 ++ frontend/src/components/ui/button.tsx | 88 +-- frontend/src/components/ui/dropdown-menu.tsx | 255 +++++++ frontend/src/components/ui/input.tsx | 19 + frontend/src/components/ui/separator.tsx | 28 + frontend/src/components/ui/sheet.tsx | 101 +++ frontend/src/components/ui/sidebar.tsx | 668 ++++++++++++++++++ frontend/src/components/ui/skeleton.tsx | 7 + frontend/src/components/ui/tooltip.tsx | 48 ++ frontend/src/hooks/use-mobile.ts | 19 + frontend/src/lib/hooks/useLogout.ts | 16 +- frontend/src/lib/hooks/useSession.ts | 5 +- frontend/src/lib/store/sessionStore.ts | 27 +- frontend/src/main.tsx | 36 +- frontend/src/routes/__root.tsx | 52 +- frontend/src/routes/_auth.tsx | 5 +- frontend/src/routes/_auth/dashboard.tsx | 17 +- frontend/src/routes/index.tsx | 23 +- frontend/src/styles.css | 24 + frontend/tsconfig.json | 17 +- package.json | 7 +- server/src/services/auth/controllers/login.ts | 15 +- server/src/services/auth/routes/session.ts | 2 +- 43 files changed, 1795 insertions(+), 188 deletions(-) create mode 100644 frontend/public/imgs/ExampleOrder.png create mode 100644 frontend/public/imgs/card_ppo_dark.png create mode 100644 frontend/public/imgs/card_ppo_light.png create mode 100644 frontend/public/imgs/dkLst.png create mode 100644 frontend/public/imgs/exampleforecast.png create mode 100644 frontend/public/imgs/ltLst.png create mode 100644 frontend/public/imgs/web-app-manifest-192x192.png create mode 100644 frontend/public/imgs/web-app-manifest-512x512.png delete mode 100644 frontend/public/vite.svg create mode 100644 frontend/src/components/layout/lst-sidebar.tsx create mode 100644 frontend/src/components/layout/mode-toggle.tsx create mode 100644 frontend/src/components/layout/side-components/admin.tsx create mode 100644 frontend/src/components/layout/side-components/eom.tsx create mode 100644 frontend/src/components/layout/side-components/forklift.tsx create mode 100644 frontend/src/components/layout/side-components/header.tsx create mode 100644 frontend/src/components/layout/side-components/logistics.tsx create mode 100644 frontend/src/components/layout/side-components/production.tsx create mode 100644 frontend/src/components/layout/side-components/quality.tsx create mode 100644 frontend/src/components/layout/theme-provider.tsx create mode 100644 frontend/src/components/ui/dropdown-menu.tsx create mode 100644 frontend/src/components/ui/input.tsx create mode 100644 frontend/src/components/ui/separator.tsx create mode 100644 frontend/src/components/ui/sheet.tsx create mode 100644 frontend/src/components/ui/sidebar.tsx create mode 100644 frontend/src/components/ui/skeleton.tsx create mode 100644 frontend/src/components/ui/tooltip.tsx create mode 100644 frontend/src/hooks/use-mobile.ts diff --git a/frontend/package.json b/frontend/package.json index 4da93fe..810257b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,45 +1,50 @@ { - "name": "frontend", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "bunx --bun vite", - "build": "vite build", - "lint": "eslint .", - "preview": "vite preview" - }, - "dependencies": { - "@antfu/ni": "^23.3.1", - "@radix-ui/react-slot": "^1.1.2", - "@tailwindcss/vite": "^4.0.6", - "@tanstack/react-query": "^5.66.5", - "@tanstack/react-router": "^1.106.0", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "lucide-react": "^0.475.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "shadcn": "^2.4.0-canary.6", - "tailwind-merge": "^3.0.1", - "tailwindcss": "^4.0.6", - "tailwindcss-animate": "^1.0.7", - "zustand": "^5.0.3" - }, - "devDependencies": { - "@eslint/js": "^9.19.0", - "@tanstack/router-devtools": "^1.106.0", - "@tanstack/router-plugin": "^1.106.0", - "@types/node": "^22.13.4", - "@types/react": "^19.0.8", - "@types/react-dom": "^19.0.3", - "@vitejs/plugin-react-swc": "^3.5.0", - "eslint": "^9.19.0", - "eslint-plugin-react-hooks": "^5.0.0", - "eslint-plugin-react-refresh": "^0.4.18", - "globals": "^15.14.0", - "typescript": "~5.7.2", - "typescript-eslint": "^8.22.0", - "vite": "^6.1.0" - } + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "bun --bun vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@antfu/ni": "^23.3.1", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-tooltip": "^1.1.8", + "@tailwindcss/vite": "^4.0.6", + "@tanstack/react-query": "^5.66.5", + "@tanstack/react-router": "^1.106.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "js-cookie": "^3.0.5", + "lucide-react": "^0.475.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "shadcn": "^2.4.0-canary.6", + "tailwind-merge": "^3.0.1", + "tailwindcss": "^4.0.6", + "tailwindcss-animate": "^1.0.7", + "zustand": "^5.0.3" + }, + "devDependencies": { + "@eslint/js": "^9.19.0", + "@tanstack/router-devtools": "^1.106.0", + "@tanstack/router-plugin": "^1.106.0", + "@types/node": "^22.13.4", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react-swc": "^3.5.0", + "eslint": "^9.19.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.18", + "globals": "^15.14.0", + "typescript": "~5.7.2", + "typescript-eslint": "^8.22.0", + "vite": "^6.1.0" + } } diff --git a/frontend/public/imgs/ExampleOrder.png b/frontend/public/imgs/ExampleOrder.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc75babe188cc10b1a4dd68472f841876e31a17 GIT binary patch literal 74670 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

Qg7(~v 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

~XEkU0Tf1`}VpD1%k_T&K{^yL7JWk27e>);Cf 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 D>m)tH literal 0 HcmV?d00001 diff --git a/frontend/public/imgs/card_ppo_dark.png b/frontend/public/imgs/card_ppo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f0aceca6a6f54654aaf37cbe3f2c2945091291 GIT binary patch literal 24924 zcmeFZbyQVfyFa>-5-Aas6cA|;q@__nKw1RpX4BnW0)li(mw=@M8|~?F%2im7S$3~D-_J$d#zcXf5-QLRz1 z7;j5sOnwZ5f9KCToh^xcD+w7dn7g@xmD2dRqR>VR{Msf?vC=}5g78c+noWoe%U0sU zTCyyQ;zv#*j;GWwChIkJ$4->QCpTti+_z7xug0u*oscAb-h-FSii{I7;)mRd=`Xoy z&UC*j1AJbiXnG3Tw3D^0kmTj!fmc|R*sasWdp3KIDW^~y=8#hO*MDZSJR=UQKOom_ z)q#u?gqCEAftONy0C~p2oKH;Yq#TrjS&N6_^cdH7(;5k~+#%FD9WfVhvUt(8y(_*5 zlV{^3qG(gWN1VPgLftt9+!JggSpS+F&>1G2fbw%tBb=wJTq9zU+nNv4Z*6@xx4|Y&W7(}eL@HO|Y)7dz`75zStOjJ~~X7Ngx4kkTLKyC22tM$kDgIkbQ zuS=Z8y=Smj;O029sW%fAKVIzdcM~>+hQ0Ko$+->r6^Cg|Ob;$K6bkME@mq|y2Qg_F ziu79@T!@WM2)ioc28kJ>BwIWgk}j8eCrqeS>-6R9vIftIng9M`i8E270w*l5y-U%818C&8Q4{eSh3kDV(> zMZ|`643v<2dU`lZ#j_PH+zdHhWJWHTzN;&C{9IJ@y>Pu2?BSv@Sodt76_Z$?JPvsY3+%_)g6AETyFE6?EwpYN3H~S zc1;aYDY=LEf#jDl)^f;oU)X6MQm-^j(5G)@K0}ND%=jjX$)Un z)JM7H`z4Q#s)xWl{=JE2UvuqU$agrYBWGC5db_*+luRxi)hj{{#Px6aLdHt8KBT3Q zZxzk0xFq@dB5}bDSNqnju&}T`d*|^B;wjR8RHMpb%cQ@PlxF?rhP$5h$tWjzL?<^U z=gsO17lE`;#HCRDX{bo>RU(jV_`+gH==Rc5WMBR6EnA}S_qp$MpT4(w7P`{A%iTCL zw|io6wqK8j6NHC_Hk_9Bo?ZzHw6n*=g@sq_#Nvu0iGKpLE3Mf3C5J5SFg~7 zr_s9?kEWe>uS_h=T8Br9%{q_)7 zGcu%pZ)3WcyN8|C!KV6(<*xr@Fm*`Gr%tIJp~@RjJPQ*oi`Df(1UTb;R#e( z12X2EJFzL^ida?P9-u4MM-CG(l1koWMXdwx>@s&?K>9 z!4>G0N?4WTsce!2FPI>KwrBfBA5mqq``N?TRoQW4r*|}$mzVWzZ0@$T*`i5+%Wy)M zmwSKxdKwrQ7#S1e&s0)#udU4=BtFOC2o_zEc2S1nTQocn!o@u#ENpBx1w^v2jgzE) z%E|c&r<2A2?}}3-chI@-nJW7SUjcGlh^~!IZeiqtpisS}QiSuB5= zrD@Ot$m1|-aGE5nZdK|%Ba5sAuWzx>%M8i9q^a-ejL~D~+&CgSz`(-B<~A>HZD3T1 zOyJTFocK_NqGc^>QBg8C(C=CKkJLIjPghdUphz+HrfAX~*77PJ*FgV0Yb*t4ry`MP zYiqNqwPU8RT^^y|36vh_+CF|-h&Z!Sco$3U47s5j9a$u_%&+sK8bbB%M`s5{8O#`<5 z(aLu@xP4#W3PwRjtdOr>QNKLFrW!*IJ}DrC`L~V?+B$m7OJL zoF5$q{Szp7FlfKuIDhAIYH-*`S^?D`67Sw>^Cmk=fo~i3tk^B|Fd3U`C;!~~fr2jG zkt6-Uo&&KOQ9TBsKdo8a&5uvWCTmh=c&QbSqFExvkc=22)2}N%YywQCR4{2`amGZh z@0X&yynT#d5Tdv?RUcjXP{$BK?+x>L6i|cDat!SBgQPIyPf@H89o%Wyj)VVzne7?k zOy!)4<*0>)!QkdCWL}qj<3vEEla!EqC;HxZ;C$`AG)HWfj zcFXnEO-M;eS52Qab5-+1bzl(w>DBIya0>s45M+LUpHP3LC#cN(M*5j+g#mN2U{3In z?Mj@^Py#TUL?+gs;};u;s@d7W40Fz7HZ-$A(PQR}=3x9Kg$_2^X|8g`!*6<+O26%|%q8zNt4+X3+jqTANCj># zOZSf9)&=kbo@Uc;>%+SX@fucbJWaNwB{lj^8?3!8Ag@4L*6PI%&bO=Qc$ccN@nnmn zx|zd*Y)(295=g^P72=<&hd_A zM@tLj0jstjSmAs@AeT?jT*8~L@KRH~)0Szvgm`&*Yj)~9rX7aI72Y^t4y0|rWOl;v zZSih>Qav5wec4I)efS`AbvKKOqUj)YccJlwik`6!l_dd_POiZ>L1#9|+H;eiVGh4d zRAsn!#!BE+7g9avMF+{qTSL}#w-h?wy?L7=e1id*Z^IS-mcnaaZZTPHvoXS-WR%2V z%yJF)zGz0|>68?;)5GBpOXQp~;`)Lf$CJjV+t$gyvMH4H22yz6zZCvjTs<3zNysuU ze7)qoR6o~^5DW z-zrj94)^mT1#81Qo0^B-mrE4jN6u@e$oIK%MZ|#|9L_srm&etEOW%TdY!3Rx5q(oV zdyYNrd2(X&Yo6&e{pP?nMd*sW>7>!!_Golm#>pNwz%{#3I!o&E{hQyhw_+=Ihk$#JzcA+ z#uXK8kgb}p2EIfzAFK&?oE@y$ZWdR!t=MIL{`mmRb=;=YMNG$}>uc$W<{O&JtGSzd z?#Gwp<5~$3aO-A#=jn2Ybb=S=!msqbE!Yhvh1cn$X)7Mcd=FEz->&yf^Zeym#NG** z_LqAR7dD*_G0SzI@4YKxqDs;RGu3c4)p_=7CxwLV`JsEw!GL~WA_w8Pj*btn{p#Yy zoKD!Tx3HSX`Po`JNT;RW+CLD|*0xWsT%O7Qx|qAcS1IwhT|MhY8cr@)1hw7*_0%Hh z!@a#uitPFePOG|gbI==wN=<9a{HuekU)w);KJ&UHV$r!Kqmy^aD6?r=ILMQC&V<46 z=Pp;N$b_b$6&7oIv+i2NMR8lBb2kjLo+nxm5w%HYo4rL;#54k#M?y-9L4ceGL=^uI zzH3lh*sS)spRV#qBks;-yYkHCXjJ&?TD@{AEjfhmiOv1kqA!UH6Ra@vn>r_Y zy7QO~doOR7t73UyACRh+=^{aNuP>8rw<~qpkH&Q(P%)eGy~e>5>9D_#H^dn?+8W)r zV%NGPb5>Cf#nU}VMi#|ZKKS)>;6S7hDpv??q3>~Z8PYVlrU~s)# zhO#qd2&3LZ-<$Gdt?juefXD)Ass)5N@AdS>ZhGt1(!@*Ibq z>5HEme7}R5XHN4SnAa`a$Ma(v&Awo|*(`+}&=x(R@N&V?x!Q1~f1(xA&|qF}qL{Bo zBv<3IcMA-CXhTD(x}4~G_wwoHcGx1wxNO$5%L&U)pEQa|K#EUB2PkEf+)Ov28AxLa&n}j(!B*&`w~B(ldGbN z*Lrz8NO_-IX_~B7w_U|=1GjXBKnBu0De~kRw}09%{K8mXS<&l`X1|QMDJM=~)#(Vv zw+=N{!e}A2CKFd2dP2{1!L99}Th_z88!#>sE-5m>fKF0;VoE6Xk6#^S(i4 zdToP4qxV}ua))GOFQFiMc5g9J@fuU#_uiJK0VU>Wcx=qz8el%Q{3B>?Og^VICDLTcOgq81 zPtV7#pVJ>w)SPb!FoWRDkxsBV-nxjH;RJPZ77_DMs2!-}r|o)q%1jg)Ae1Cwi!HvM z;oj{208^w%VZ>{e3|$G4DdvLA6_(1Mp0WkKi>DY!yEGo2yFK%}e8Knq1IxoeZF4Fj z4C)^e+$9PFnb*+Z)_>GJQWSxtj2i^`j}=I1don9XF>Rfa2 z4*ftulODr#0domX!2v4XtVClIle-BlS`~@<`hIyB{mkpb#*0B)AY*)=qiCC-|1QQI zgs4qF10Z4XlruIITeFT*pDJjX_H<276Y@pWYB5j#Ua+1fn2wXMQXlxXZ*LrOLT`;7 z_!j*I^*szOasXy*&h`n-62o2TpW5!VzPsU0*>hgdw5k1e=T*40*Y(*NqLFi>OuzLICB`E9j+LwJa7jGD3x96c=NUDsM738}r2^42O*Fe>k$PYDD&hT0*xU_CZWw& zRtoAu*^vKnZkkfk)>!P0HJ3wwr)qZst$A+uvn(<)@-zE7_%AogyDflqdUhV3I6qyB zi&ctx3yFY`5E=4yp^Sw7?8>Xb?bm&ax$^!)eL8asGZ6{n3GR$I%ZVEDfPesqk7$rK zI^^=w`g-aqMKwGuDT!pnvUvE*$>g~)R;#C)S|W6=0IqIa7jf<(gg8^Lr+Hh)5&e@V zj$gAEot$EZ6R;1tZb=vWLtE#-f8H$R3qE<(}axKZBF@`2xsbTh; z6pLf#?#Gg$K0_f0d#QM2!&N|D@{*GT6#|<4`0i~PD1N81y*(!2&QxyB65>oNu-r9H zKJ{sLA-!UL&<5xwh&Lg+fV!L`D%`i(LC@l~@V^)1R;;azvr^acCH#mCMn+!mS2ynDGUv7oC2!sPl?C4t&-N~icUHm%%BUpapo9)p# z-T1Z7_S%P}_E0(A>w{D(jg@L{V>hp6iu?EP$NOqLCHl6p&$Ypg zjpqMzecg7N7Pc}jy{0M`)L^+ikbl0LP%Ru4SA-oecBeU;qbL`CRJv_BlYMQee49mn zc!;}j_}e;cy%BZQ>0#d#gdXG+RZKkzP0#R$0VG>+SvhbkQ=nGH(?IDg|CphRDz8R zC)7~l^=Q*y?Bg$1Ch6MU+hCAU#T8%U)b~F30Nuk$(teqYxv=K~33Y%%GOBqBtPE_6 zlA@4Nt|C8mWqkwvE-X~F0-@5#!QE1D|d}_R6P{Hn!Gd*w>Nb0 z`I4GGV%WZFWr;XvUup6tj_5`mIMmr~_sZ+$t-KuY3B;dM-+N9U%f}HNCZ=%91Q|1N z(q_U1|KfQ;c#yz5#;Nr5QbPeTTHNx@gz?>zLN2Aw@P|qq-3HHbB;DQIIJxww+Hwao z-n$ioYZB^s3?0`;R5$yE50t5EJO~!EnQJ^Lgli1oBsxMoh0={AM%K$ySX}2g;kYc? zmv8!`yVuOw<^VaZ*>Jl4c}ir`yaP>IzX)z7qfH(@dDsO-(C;(#&X36>3M(-ra45ue zbSNO(7`>s&d>V&V#vwA8;?85cFPxn#CZ;xz^e@6KP4C|XzIb$aa-z}1dXmu}7!ES* z$b40KCPQ(RF}|%{IZ5sp#w~LB^RHHg;Xxh=2{9z;9C`JCDb+n|y2fF=+7FrM1Kj^Y zZO4~*hWmJtJ)->(&bAA?UsZZbZm|h;{{B}NIvoJN#f)8g2&LyzUjK~B-f$geGBEdof)Ho6~?#88uCAPoE z(_UxmzGUZYKFu9Sy^yT#Dtu3bU^jEIB71r-u`rVB-Ddl`%MK= zdWvuTj}K!@BPH)8Ox;zV%|k zjchP!_*G9he{%6~4x4T#(zbp^wOl{oyzX-AJ`DXr))t~)vi zdwU~rnV$v|6SEwIbiZ?NYoo{Jz!m_8gIKH5y0W-g|vh({pKX2B0j3JcyCk~7{{2%n6} zTHzC>6BRXhq)aP~qU2 z^S1Uy2Y{kd;b1sDaW^NUOpd&Qz4M9c)8dnlCNF-ISmY2`1+v&z5GY*4=;h5J5IxR_oH8o!yqHW% zUI-_qdht%6eL>^Q<(VEBnfHf zUPoX5auEO;+mK9@m6IWJSM|318U_1<_C>kf?~k+k09R&4j=E@9`{@QfdLh#39EK|t zf0><`lnB(mhiB`P`yAdK!-j?x9sXTjw)6nJ8bA@Wcm)Yi7r|@k{U7l7e^k@`U(=B* zxK%;P8x%h9G#o5i*rem~PWA}wlhl*Cg=Uylo{wZ?WCZc~qd{`XD1q7n(z5N8{ppk8 z3%IcnD33oE6!^inRdirxHx6qj7v(^+qz}<|VSVsnAt6H8SNExji@XKggfm1o!r~=8 z!Hm z7S;elh3`V82&E4Yry(NG$W&N8K$Qj5a8#h1!=`BwU`|gjbK$6>f_=+!#$XcX%pPdj zIFQq`xywpDAprXTB>D_iC(~Wn(IAoE1vs$3Nx8amz=7iE%){kqp6S=cRlFtBlP8rH z7pjt#xI5r9CiPkL6HNxmQkhr_Oo+7_M-EXB;81xB-Fwt`?#_27C^M%_PXlD3l* z5`uDi<3C-dOgez3f!dh3I-ue|0G2~ax+IT<_b;r9wn1)@lJ72_MTG4IqSo0UY{b4qywyYyeP( zPt=D?unwxeshD_bsiBcPmDcF4KCHtw?DH)A@CJ;y&+>J{ZjNW*VDN{J(`u8T^-eeE zZ*wPKHY(-KDz8<#pICt+6C(2bx$jE(>({Su0SE_5u55|$TM)D+qL!VR`q5o8D=Wo3 zou*4GF3Cvb4G^}V2i4UJFz!)By+8NdcL>SS9ThEn?FlNu7Z&r=vKMyu( zJ}t_kR|WMdq@^H8B_EzwTr3N_p0VOlDN38ZSyNy!jw5?t_k4-6^*Vlm6Vw!?jm!j`EZ*-z=xsLiZqw#A_G=FKO^sC$I{ZwM)B$C-`g zptsJxy8ryXnJY@LNHsPyWBId4j0*4Qg(VaO{^bhp^{cCku7zyCt-&l~Qtn6oGl0P? z|IYx%L$7$|bs_OabRM#g>wy*L7g=o`1BO&j1&auPv5?VmAP@lNlq0IMvZ!QLWN_?O zj)a|eG<&xanMc`6wUtW92aAiJ_jBKav)p&BZ#-L->NSdT6(9$;ijQ)1e%oM%0P95T zL0%#a;6XZa(HtBChlYq%hPThhkE?bRZ>ktk67tr6VwndbiS?-8)M;~)a0y2Kmk`H% zPFho|2@T-P!bu;Qb@xOB3KmziIlh90yA{|yU>t3iI81`^78-W^v0fml8pkak(FeBq zMr}#fRcd8*;z9%k1#{uzhGMU={~e|o{gC~$4HJ$Gg^O@ScSj#UqQkrUoD3-$uF1HysG7e!bfQqwKxD z#iK&Y@1}kET=$3SdI+vH3=PTNIiTfg87f(D=%50YI?lZvRTn>*;q_1Ue+VwEsIRV4$6@pDRXoP z9ObL5s^abyk={bj=Oed!Df&fNSf|_Ny$rejIBV(L?pyQR@Q3`l(CALTQ6YMrL-8uE zROVeUflVxBy+C3l=HqKK^Hih0r}$xJMMQiD!lwqU6}-B-nz;N)D;xBtga-Dws#bNE z>Zv>zf%E>dMxc)ZxgS614hawtMgRt6IZ2i%M!A#h+w=jh!@Ofh+|n;4P0n!$3(enb zP=eO2nnS$cg(?&OrgLUJznaB1a1epTg=>BU4st_JZ%pgR^%d(9kWZz~uIygTS^Siw z^+R%%G{}u)Re%z66@J|*&nSI(?=WCS>avMaR!wU4)g(NbUrDpPRFGxdNajw{5`=sa7D2jFVpt${VwGaE8@sV`L=W z<0B=c-Cq0FDrQDOb9sc}sNqR2{wA!n6gNsK&tgrMV>lE${+kpR5f&904zlF2iPsqZ=sKTuW z<2i8lzelB!VHqC$$|t5H<^n)RrYm5@&UbIB(j2?<6#^mPu;x|g_7XZa0v0KW|NJn5 z2pEeLB2MDt?B{S)82Qk3%)H&91dsk(;<6WUog{iu>OWOK7V11;9o)wO1A)_uf66Oc9M=PaKrc=`qYfqz_o zz98V(DVht&&7}otb9iyt0v`*l-20|?V-6ZnCfDU$_JmO_RDK}+E%Lnz~`Ro%Tb@k#Wp9u>uj`eRF)ETkk*;-Ck%sD-V!FrD%@m%uz;_5pn z-IX%>uFH>R!J73XVpQ%lTj~dBPv{5wWwbAqq98YcMb|91yFfsfd1t!OX2CBzqbsB# zeX^W1Bu1Kkr}l*0rE!)xfg$(ssVe)Ubj@YsNJ#gG4$NkEB(LVVy&0QD9O5hcSIcXW z9|b3@`2hdUr`$j%#ikjD*8oeE$y8W_DE$lFlx2k%2j{u8UdS=D@EH+{iPypOo zxck2vF6GIgVA*Z;Jef^*Qt9dz`rJ&4LzK_6@7Ac=m`mnkOD|ob7ai2Ia>PnLQqWAw zl4^7v8dKa&j{G8NX2A(BSx!N$r637s7`TYj;LQMly19JAS1# z?0)Jo?0#NGNP?3)Y~D4Ttd)`>X>xHsP49Ra$Y6Wqe3PC1U@Aa zYqJldXJqutq7OVs)P#>ueE;;IIQdCB(MA#AlWV{&Te4J32vgLzsAvnpJ!a~i+VgVT@O{9w4&u`GAN$v}vi?cBmYAn+Bd!&P^DaV6I#^?BV$%K8WR(|H}64jm1`8j;K>5PfV9*ZQhN_m zkay0{XINFB+{0LBUB^WTeS&!X1nW?V4nGgLSKVYvz8Jv=<8#qUv1J)6tCCekN|pra zb8kvw9Me4Ei+O`?VUmJGV6+^HN>3A1984wYl^HXF8)K2UyuWfv6Ov8vYa>@T<)P6dWrUoLJ8Enq z7$tsL4Gq$Q!ZBiP!p%{Ot1kFAi;MN~@)?glA-XD97X60DJ5c?BbPYl>=d1|mJ>2qF z*S8>1k|>3};}cc=-LAbMlU}99<0kggm6!T)ilh6^A3cbh2u!MAu8e);kS|Ct1U8yCy#1mdj#A|+N?wuju$z9ZlSh?}hF_Q37$V`FHPt}39g0R(!oP+52QW3?v3c}DkpKmV zj|2n|B8=;0PwA#IK;w;S_N}Z#bU}rOZ5cB@t{Tn3V|P3dI=rMfR}Me^=G1@DeAaLM zu=2?$``Q{)_8oF0lPY+!b=sT3hX|#LSO|Eo0BRau7b_Ed`V=t%tt+M=!zAfJ*gj?a5s1jU&d$ytK21$RWV{{@ees@*!JSJ# zw<`zhfRgJkPV-^ZLL~RFvCmOBKQN2_*~PWmaG$)j^~m?$SXM@=vN+anDv7a)U;lgf2s*gsBoOZb?P2lW- zo0}VC0=FF-3oE1kB2jA(a9C>!mK*bAVo=D$%yn%C18lnC?CtAozF&TCR3(= z+YUtkk3tYYn}LICqJV)`k{3#KOvJE7x_9&l+6v`c#!L`c&c%&HQPj8x;MC#=)+9L? z%!^Q6BZhDm5HE!=Vc5P^KfnlUu!jCSbX*V#Xub*;5IM9`G?x4RMgx)x;C#L&&LJ47!(Li}Ji zjh4gt^d4B5L>a0G9v%O6oz6lB`&V&kxPK?)6d5qhS}?CvJ&}s^okL& zyt88kibcexf)O7jYlN!JDvzcFB#2PpvFzM;k09qY<2$4y?CnWJPaib?Xl!KE9*XgC z88cQbEL2(VMD_bP4#r=CQC`d+!RTKiDKQa}h)&!27NjFbSC=`dvI1dpakTzzr=>La z-651Hz`+2O3UFCTOD}PfBwoNEPdc65Tw+}n9;Qd$An`XQD@Kn-tf{_GQF#W)p>-e zt71{RHuYln7J@(PO&wtWz@2n|mcMpE9E410^nU}XCI*tB zxu6Ha;>RKP4sn#l0F+Te~U@G=E^PG&-_|y-=kC#G9gg8DL75Vh+|u zAyti6@1QO%YX_Ox9H9tt^oaGxHKNg66#DdE>daC}o(5+s^R`hEGWQCq)e;G41ZSXp zAEUys6O2*QbIwI%cc4W;h%nETj4BQX2}8uF0_&T9&aAR*PmJS8s`uYQNd)>FsIr$nMQX;Um+J0J*FuVdUbIVT zuzXL)cpgQ3cFQQPHOl<7&o6&3k}-xRFaV-DCeZ!7bQ&YtJn`FpmuLgvPc+C2Q-4Xs zbX{Dk>P(CK)+sA+-tW3dd|03PtoGd^h)dt`&HfEiOOrz)=ETV1S`ec%@&%(OKuFg< zoxudb8onDCBQLTKbN?>@R?KCD_vPa@0Wta4hU|T5nAEtB-_M^k-)tHG+}%abco-PT zasQ8pMPnEipU1`YU_iw#s($ot%0#+^d*{6H&2>6wrPMxml>Z_KF4u|gC4nz-0{^`{ zwKI29vF;Wbv{oFL1PVt4fsofY2x=CtuIjp)Lzh@&i9Iq#7?so2jLkYTM`S~< zD!Ew<1y>}aNfbxQ;+YAwvu;Kq#X|;j(hF<&r%Z1;f0QyvsIMEd$o0P9kUjJH`t=1U zF^=RIo|A<_o!b&q1 zwbo}t2;B2CsZyDI%+#d>4=ia41np0^T?l^3aqWMP_^nVi4{19Hq%kQdDft8cO`H3E zQw$h1%!;UR?MQ4y>5hIX=zD(^fZqTCX=Y<*=Z66y$YsM zt~DWhYMu9!cQX%AFlx0|hg)ehD4~XvKU|}~+=sPvS|kJDn8Wd<5iBEB0xE^I9IyM7 zrl})${8dsTn}@r<=a4~?P>WTZ+j8s$5XFK3msXle5hg%nDYpY&n5n#d0Bk})O`CN3 zw5&VCh)lB)1z8idCG*REqY1eO@p0@X|0e70LIyUE)^&r;qo0~T2@8-%bRUXwDt$_R zNQ}8}d9e<)&%LL}oYpVgA;Wq9|DLv`3ay}x>GI0yk-;BY*8l&-t^bL*wQKk=m&4js z2j~q535(6ciPlm$6F@=0Wmx2ynwyJ)MWJm|ej9V3kRmj@s69r8iu*SrtL1J6J*K~O7J=Bc@jU`aN(T?P*1gja(P)`iTf27kg; z)YZ)@2_y)z4wfzgwK;R~RDT|3)$yt( znSN7R_?p!V0k*a^fMP}569JrQC*8vgA%4oZ#q5^wko!znzD{*1CBk?Lla2x@fEyaN zu)nGuS+A2dI!dzZZ7~4qds`D7MV=j{RVQ-|10!RFF zI^@#7QWq=*5Da0jqy9{nzV!`*o#0MBF-qz92asq#aqWVPJG#Q*$0Yc-7r=ZZvk82d zmX@a2?@o(QFQH6058Y;-zPS^sDf2g?@pkS7rwA@O#-z%lt|=o{;+ftY?9`>9qG>TU&5)dDLGJ0 zVn2vuR)HZU{>bZ1?bD!5M;V@>h321IfO{$j_DM()?A5-_M|zG{hFToS{vK}jpk|x#F8klf9 z;d8)}t6GcmEez7*zy+W zQHUHl`RI#!wOy?*nG82K*XPvsjzC(8?KloGXj{F?vga|-rIPGz3o@TY5#RSsn?~a` ze>M58YIGrkqr>#9toV$_ytk}-kE0A@KZhN{Xz z!*$HGZE~$gF+ppG8&zYbJCeh~`XVUEfAEkJyFD2e+JcS>g2o!H>MdQzoM_Z$RVif{ z_Xvt{)BtLXy?ua(!~&4>_;Eh3^u-N}w40^hPY22&9eOMcjk9Us{7VgPk>OsTs=e$j z34AV3UT0#7tq=4c1i1aJE$tC2Qi99;v$WI+9I=0-CDlUw&%>_0!-=V49Er}{c+W9( zn;Pr{mG}g2-uw-4J`%#G5CBIG0dV-KhG~THB^|t$MWo2xqJ#Wa_=Ny!VecuE`vO$i z`1l9IQ^hjl#R48r0?(JjO#qo_>KUV&w~oTNFSH5dJUww&jR_!VsC`EG>MQ}(B{FHO zE);7=r6x$m_Hc30;;qeZ{Rr&zscWAe_MFA zR8OGsGF^=r;)-QEbfX*YK)q(Y+(8AHq0_l7xc(I|)dF`zW)q9BJIxHgd~O{errShs zzQID+A7-8XWv?TR<{*|^D^8ai2!%{pE;`IkzGAtotWyoXn%rRF&AUE3x%otVD-I@M zr<(*ydEC~CQS5H#!Uqo?=mVZ1X*b?q^z36L$&2WqwH5Du`}YV-IS-x;8qjcl$4Y3- zt}61E=h-oim_)mQ9PUohm(0ar!4M7XVYZPK$0-vFD-e+1I}LCMT=Y3)*N7F&^@QeE zRJ@3JeZR4Bh|gvoY{$f0aH>~SQ9%gs=V?T3JoTglTgz(oIS)Yew5}cG=j%?Iu(Bw{ z{RLg%w*55?Rf|`~gBFdY2wJ{<#`h$Io&YAIP;Y z)!stbbMo`q8tAN>0Z2Q$#kBJxt~)Uk#KKXYMf3rAq8y6&x$)h^ZT@wr>T)J?p0EVF z3b6Pg>pq*q*k@aCm;w7V+GcDL4HwzF7kfl)pcjVj?)Ov8bDxos(?pQPLE68V3+diaPob4@($&_W$9-Q~t-oP#7@xgD^*s zFH76jx?o1c%#b0rC*|7F)gvVWL0$wX7LW|!s{(Q+_Hb~Fyi$s(Hl(5`<9JV=y8SR}LfaBg4^1rK8Z&H~O|ezl;)0gdYv zueyJO7>?)vP<2*x!(`FsSg2(^6Z_V#wnbked^9#C6t?EV7^!O#}&cPVKD^fWhi8AKOUwf(4s zl4y&6oN+uGuJXof1D?7rPww8%0MD9%+{FnR73tnRSsL{(MUaYtM+_E!cKiGbKoVZ1 z0X(}1e_fULe}>O5WdQp*B=nN&1b{CPbZfvm=eG&KH4^l@YR8JAEKbC zDNx|=RbURJb08dT2;Wq&%f{GggegNYJHlIKu`*1AX3}M-hAI)a>Pd->K8}b4l z+0$t5Kt2zSaTnL z%Ht4MWOi?Y{xQvs#C%M9CWZ7kF+_p>6ZGyfzDC^v+809U;giBK(?C98-Z0+kt^hcb z56kwqYwi)1&(_Wkw}T4E^0X5p@c#ymco%7&Wk9b%$L68o08J?*%cKI8>NMu$i7S0G z*s8ax&+^Z^eqIzDB}kDT0m-XH5<&zXNbwbu)r9Yn{*^}e;9D}(2w-8-Tj@dPnsY>u z;uF1tgYst&-M}7z1sl~XxRvKm{uh(eY*g+*N95w>$^f|ntYb-53^YNpsq0eqV0J?ka4qFu2-P~-8YLn=+n9Pd?Q+#&z^EM|CYIPO6^|?qR z8Loo+x*L3>KB$3JZt`T1FXe5pTLqzL6NfKAP5Ud($YleJ-EDgNb$@N+%F~)dJf{il zM@E7GAx4J7|KIij`8xbV@A;>FKpQ`^m~||UM5C!5BWVB2)1N&^>{{L`mcZqE`=J%W z>&`Lqa~W`xGB6)i+JSno{U@*}V*+hG61f;*o)y{@1Hf29kOJvDlzqj>Yc18e)1!&A z(#Wzb_7$+>X_30mxM`Y*Zpz2_G=uM*W+ORM&DJfk{s%BV=19uVk z-!8d6ga-7NOYZp}m)v%uN%Jss5V7m2N^^r(vrcg$pVQXIB&jqL70Xyyr5)V>25-yd z;jmZb@aJ8Z9%5nM3no9FGY@)ai{h?Ux7?%8`{!lnI8mZJx z5jtyN2l#r$vhSlnqh&TnMgB(}wJQrqh5uJ`SK z6*MR}x&jto)utLg6tEe^*v8iJsCGLwmg`+JTmlVYW0MFh%&kGrJm%3*XKVrn>R@sY^WfgqW-z=Tw$Y-1`Id`DlJ&M(PjLCy6Q~wta?m!_)?jm35vVzh@{kJO|oFwr4rn?+(LbN>}z+#&37#&p)O1>&^CMX~A=dkV#&qv^0 z7t!!kakFo&qyy=amt2G01#X8{>dgSTXxH_jtBR74qwv*S7+lOLIM7a=9@ISpJY)ZC zO#nb*Y;w}$4n_ZeFKNW|%e+3tc!B{M8T31HkSf%0XGpjFSFx2V)QGUMq_lUiHirs0 zwS{^8eRO_({sc7kxeBx6m9i`Us5ZV;$uwTe?!OdxtL&0-eBtK5t1U@(qWbx!Vj-C^ z1Fn3#m)_=3<>4CsNx=?x-QGc^Q)fBOJ5DBYyUU03=fVB1cmI5Q;SjN{V^+&<&4<1) zFStLG`Ex&aoTIIoxG&^G*V@|OpLt#&W6k`M=(?QYu-F)fgr-KW)GdAQu=uk5eKEs2 zv}Ur>Bguhc|?l8htKP&5~jG~*s66?AUG1S?1vq$V^&yY&<6m?!9jd+8e$by-4!7svI&`>LIUMQR_MEpMc}vTPIFb zkW-ziqvTl62E6kPzpLJ*;7oV*R}kZcRCc&AGkr0|{HnDf{b=ij+ML@s^)>BSXAetT z?%sg~EqEvPoVu_}Zt0|HP|DNZeMRt_yR)31xZl%+kd*$a{8Y08Rqi{k z9i3n5)pldOV@q~u1=i!`-bc(7D>zh5-#_y9vUu*TT7epar!N>RlzWar1yuT?)68T7iV3Wsxp z_V4dqHhZefZOc_5iU34p85Zfa-xxePMK%CuO)Y3<7vcRvds^#$jJ?{~T2T7rg+?2{ z^;~Rv>DvOY)SINL&ECe_uFw5jm%M76TCYkWYGG)ZgB{V0&l8o#(aN1(E}PT)<7yZN zz0-kk@Uia!b$_6Qj9wQp!QNPC9$N4%5y+I!jJy0?(u{IEZR1vOeL#hWJPx=eFc^$1 z&C`4PQ3+TgB2gm<+?hn$^_Qj_peAr%v5A!4|nHf3SY1 zRFbY_o6AWVps&%2F^N5kxUM=t?R9gxd*pt@hp6p3ZEHir<(5MxFAr5?jeDL?(CchPs?uxM zUTR;gr;pbQvP0acDv!+r1F8x@lV*e=H&MG!@st7AFmK#U0JuCO4-6R1 zY-BlG;Cf__^%R~!27LE23KD@kwp$=gqBrXWUQ4JBXRRJ396n3(!1sQKe7s&+CCp$o zzlUnfB^&R>zGaMzF^vff;qPM)U*Zt{h9W)C?R(wT=UA^+yPRPI(QNS$tIV>0Gi8GxEBPju>ODjw(ONlDSrylyMGHJ?xjBmxp1@0 zhlDrHDU%q&L-{^-91i?U%=k1ID6kZys%mcDn)gpgL(Bj-mfI2QNg`z8{T^6MT!{%& z<;D9s68wfjke&@`_?Z-ex@UZ&C)_ zvCKy@lO&!AH=KjI8l1p#t5;YXS6EB_M8#YwF}+-TXXC0oheW=poRAjp`&2u)D4TJ& z2X9ibwIt3%o+sp544%#I<>X(v9=s`WAx6TBHwiYBLgedi6ov_%HqAT}?5Y;v zCv=?E}mo4>Fxl+#FVtCU}6#SH11vJ(4%QF)EnW2psrlgI6X=SRaeA_wQx$)k3a$KH1+{ zYHCzQKK<*1YE9+2NnCL;W@W{pCi(oYT>lm~_@~&b8E7=o@nY#a^r{19e>HmHq~9Sg z_TH10V%p;Q>RZu7G{e|q?F)UOEP}qzzP50HLAC@4;X}92M}8ZkHh9-TeZsf1)6Qe8 zq-^&HAT43kXt8cGCO_%b_3$ZR<2vc zECTC66%LR}aR(;Wzdg|2gc)Z`nQgPWHN970UZBBee-;#nK`!hpy6kO!i(IBn zMs)sYRtpxV2AVh$e5Z3R*R5tDev3_nGVjFtP-;;pvt#&KO(11@D7pbBhcBh7u3+Nl z8dG|cJE)@8K23dcstGtj?_JT=wJ=cg@(Bod@<+R$GA;C{k3uqa?GE4MJ=akUXsFCW zLS-ICx`tKp3%tXDhDLwR@eWzQY#Gkw#c4+TTp25V>Cn7RFzUBtY@x_WoMB)t7HrgO z_86;auALHos8Jmoiz1kAT^OshL-Uls{PM-KW1lcN)0(&5axy-?t0h^n1@%>4lw6jX@aLV)BHqf;;dgt!cR1@(VV@%hDyi4z@1C(%rtj66i z9Z$9!F)nV;@YY`oB9v(0;UP54R3|0<Lq9xVy| z_-d5Z_)0tnycX&+M9wJ1X`}7Z79R_I9t>e}j7{~BxBn1c)C6;Cky{Zx72fRPlOLfs zRuE7#U0@qbo4^6nlYobr4yud-4NSM*x^0_ErI8Uw82P{|dDiF_Gi{O6tH=(saWP$@Mu=Jma{o$JQs<4J-u> zdNo)nGi6`H&r}DsIsubVcFv9MlACzGxzv*(!#QqO^MR!w#?Q%;`9Yk+`UxVh47BJV zl6;QEG-H(rA_kW$B!$iclaQV;LA!(_yEBUx!JRFC)CyM`-+fT#A9kG=rk6AWsEof* zn=UPF0NhcA&yPEY%AYJSu;vdX(%(~izD^Fu?Y%pD{6(fwI8T|=h!v3Wn|(KOnDqm( z7L;s))+q2=NL(lsWP{VYSRASK9IOlm@UR(z2zj%UN&OcpsrOYNCQL8^wWc_qHn zd|dFO|FXT%v(ri8Glp_3ZKTyA-D`M@a`ki)ps)Dd*erG0xge0roJ~h&cW|kAMe3=q zZN+6+R)NQL^>icdZ1BoNK4s!X=+tF1#b7PKP@a&TQLpF827xp_s~8XuNygn=4$2c~ zfc}vLd`dxigUz2SlnoX0gZBRMXvpcMDu5r=^vZGMl;M1pE_cqo+c13wRR}boyt#%v z41q|Cq#F%{Y{Y85!QqacG-v#ilA20VFslT7=|v*pHX_&D-QC>`rx;G0S@FgVmI3O8 zVIKBg!eILkk&}iES!-zrh9%W=TpNP!j);ytCWUk2VW*FP*zxZTcMHul-fTrF@?r-q zPMLbqf*mrXhOT!jgDKcP$t{INBupc7dspf_a%)4$$zD>s*lLq*Dk@BQGeq#~zjO!^ zpix-Zb zNehf$;DA8JAYI&x3xlr|q+9)+-Q6jB!h>n~Z)Kv|&zl{WlZW!K6ijqO;UMA@@v3~z zW53x%_xK*5*dk}#7W%e;A)?N?f;Ucb%U^MRQSk)U2_essgOz?AsMFbpim}cOyU&zK zx$yGa>Dpnh%bu^9AP|M2QJpLut0fFWv(6{=On86%ke-6cL$rlLSIJ1Afk9s;zX5K) zfBXBqdygyx660XJ5&y(yuWn+o@(7OF^HPq3Z$rI3^}DZvl|3=|-&{(u@9uRz!FES) zW&53N+`at_>zx-r`v2r43*%6fHz&z)c+Q@QIQvA#=$I{5rc($`M9)ne^{%(6l{3@u zvaV19%N&K#x{GGkIg*0p0Tq##a={EDZoWTUDVNm*)hP<+Z~g5K_5%01t)&3T!?h(D zRpMvRm6{?gbA@|#ECUh9j%7uUS%N|BL3Xpd##yuAm-)Min>}|_DbiNx8UCCuH7m*$ zdIs5=hOLTGrsew|XF`(|* z)o8DN#a_H=zDv`5l_YW-_vGH*>%p`rpRUcFHDcuA8~F)D<9kNoKwwa&lb(D_hF5?# zyDaEUXfw=IUt3{b#gL#&-H`J9*P5EmiQo7JtQeN3Fk@Q#0(?bf>o#Va5sg59<(EP+ zL1I*UT-Y=e>AL9U#pvqvk*6IjQ9nvI`=$C`S32DB?t6YQ|7Ii@Uz9)p5m2h$3FS+w zmZJNN*SSo$H#=u7sstgQ?6!lf?S;d&RqJv+e0*vA9b4nt--z>02=s>vd=WG;Q3Ou> zT{0o~yLB_&CIh-U7_kz*6+IP7GqV?_4|JgIRmIe$4&h~1-Ae1l6ZJeTi`Aiqe4QW9aIql M*EiRz)p3pc4;ha3asU7T literal 0 HcmV?d00001 diff --git a/frontend/public/imgs/card_ppo_light.png b/frontend/public/imgs/card_ppo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..1c0ab220e2d65722d67fef65c26c1231bd92d082 GIT binary patch literal 25515 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 b|I7=XeTmfSoPP~?)H8#ptDnm{r-UW|oQjZx literal 0 HcmV?d00001 diff --git a/frontend/public/imgs/exampleforecast.png b/frontend/public/imgs/exampleforecast.png new file mode 100644 index 0000000000000000000000000000000000000000..dc7a2a18cbcd2429f23d2f32d25dc169ad0502f4 GIT binary patch literal 24146 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

    Mqcyf2kT8<4K7Gkl`%&juN>lGN&CURqII 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 G<^KV^a%mX= literal 0 HcmV?d00001 diff --git a/frontend/public/imgs/web-app-manifest-512x512.png b/frontend/public/imgs/web-app-manifest-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..61e9cee27daf37e25b09d5e5b599f3c55ea7b1ef GIT binary patch literal 21960 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
    + + + + + + + + + + + + ); +} diff --git a/frontend/src/components/layout/mode-toggle.tsx b/frontend/src/components/layout/mode-toggle.tsx new file mode 100644 index 0000000..e30463d --- /dev/null +++ b/frontend/src/components/layout/mode-toggle.tsx @@ -0,0 +1,26 @@ +import {Moon, Sun} from "lucide-react"; + +import {Button} from "../ui/button"; +import {DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger} from "../ui/dropdown-menu"; +import {useTheme} from "../layout/theme-provider"; + +export function ModeToggle() { + const {setTheme} = useTheme(); + + return ( + + + + + + setTheme("light")}>Light + setTheme("dark")}>Dark + setTheme("system")}>System + + + ); +} diff --git a/frontend/src/components/layout/side-components/admin.tsx b/frontend/src/components/layout/side-components/admin.tsx new file mode 100644 index 0000000..ddce1e8 --- /dev/null +++ b/frontend/src/components/layout/side-components/admin.tsx @@ -0,0 +1,59 @@ +import {Printer} from "lucide-react"; +import { + SidebarGroup, + SidebarGroupContent, + SidebarGroupLabel, + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, +} from "../../ui/sidebar"; + +const items = [ + { + title: "Settings", + url: "#", + icon: Printer, + }, + { + title: "Swagger", + url: "#", + icon: Printer, + }, + { + title: "Logs", + url: "#", + icon: Printer, + }, + { + title: "Users", + url: "#", + icon: Printer, + }, + { + title: "UCD", + url: "#", + icon: Printer, + }, +]; + +export function AdminSideBar() { + return ( + + Admin + + + {items.map((item) => ( + + + + + {item.title} + + + + ))} + + + + ); +} diff --git a/frontend/src/components/layout/side-components/eom.tsx b/frontend/src/components/layout/side-components/eom.tsx new file mode 100644 index 0000000..309f3b5 --- /dev/null +++ b/frontend/src/components/layout/side-components/eom.tsx @@ -0,0 +1,39 @@ +import {Printer} from "lucide-react"; +import { + SidebarGroup, + SidebarGroupContent, + SidebarGroupLabel, + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, +} from "../../ui/sidebar"; + +const items = [ + { + title: "Qaulity Request", + url: "#", + icon: Printer, + }, +]; + +export function EomSideBar() { + return ( + + End of month + + + {items.map((item) => ( + + + + + {item.title} + + + + ))} + + + + ); +} diff --git a/frontend/src/components/layout/side-components/forklift.tsx b/frontend/src/components/layout/side-components/forklift.tsx new file mode 100644 index 0000000..1b376d1 --- /dev/null +++ b/frontend/src/components/layout/side-components/forklift.tsx @@ -0,0 +1,39 @@ +import {Printer} from "lucide-react"; +import { + SidebarGroup, + SidebarGroupContent, + SidebarGroupLabel, + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, +} from "../../ui/sidebar"; + +const items = [ + { + title: "Qaulity Request", + url: "#", + icon: Printer, + }, +]; + +export function ForkliftSideBar() { + return ( + + Forklift + + + {items.map((item) => ( + + + + + {item.title} + + + + ))} + + + + ); +} diff --git a/frontend/src/components/layout/side-components/header.tsx b/frontend/src/components/layout/side-components/header.tsx new file mode 100644 index 0000000..6a5a8c8 --- /dev/null +++ b/frontend/src/components/layout/side-components/header.tsx @@ -0,0 +1,21 @@ +import {SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem} from "../../ui/sidebar"; + +export function Header() { + return ( + + + + +
    + Description +
    + Logistics Support Tool + v1.0.0 +
    +
    +
    +
    +
    +
    + ); +} diff --git a/frontend/src/components/layout/side-components/logistics.tsx b/frontend/src/components/layout/side-components/logistics.tsx new file mode 100644 index 0000000..d6548b7 --- /dev/null +++ b/frontend/src/components/layout/side-components/logistics.tsx @@ -0,0 +1,54 @@ +import {Printer} from "lucide-react"; +import { + SidebarGroup, + SidebarGroupContent, + SidebarGroupLabel, + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, +} from "../../ui/sidebar"; + +const items = [ + { + title: "Silo Adjustments", + url: "#", + icon: Printer, + }, + { + title: "Bulk orders", + url: "#", + icon: Printer, + }, + { + title: "Forecast", + url: "#", + icon: Printer, + }, + { + title: "Ocme cycle counts", + url: "#", + icon: Printer, + }, +]; + +export function LogisticsSideBar() { + return ( + + Logistics + + + {items.map((item) => ( + + + + + {item.title} + + + + ))} + + + + ); +} diff --git a/frontend/src/components/layout/side-components/production.tsx b/frontend/src/components/layout/side-components/production.tsx new file mode 100644 index 0000000..897a79a --- /dev/null +++ b/frontend/src/components/layout/side-components/production.tsx @@ -0,0 +1,39 @@ +import {Printer} from "lucide-react"; +import { + SidebarGroup, + SidebarGroupContent, + SidebarGroupLabel, + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, +} from "../../ui/sidebar"; + +const items = [ + { + title: "One Click Print", + url: "#", + icon: Printer, + }, +]; + +export function ProductionSideBar() { + return ( + + Production + + + {items.map((item) => ( + + + + + {item.title} + + + + ))} + + + + ); +} diff --git a/frontend/src/components/layout/side-components/quality.tsx b/frontend/src/components/layout/side-components/quality.tsx new file mode 100644 index 0000000..8143495 --- /dev/null +++ b/frontend/src/components/layout/side-components/quality.tsx @@ -0,0 +1,39 @@ +import {Printer} from "lucide-react"; +import { + SidebarGroup, + SidebarGroupContent, + SidebarGroupLabel, + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, +} from "../../ui/sidebar"; + +const items = [ + { + title: "Qaulity Request", + url: "#", + icon: Printer, + }, +]; + +export function QualitySideBar() { + return ( + + Quality + + + {items.map((item) => ( + + + + + {item.title} + + + + ))} + + + + ); +} diff --git a/frontend/src/components/layout/theme-provider.tsx b/frontend/src/components/layout/theme-provider.tsx new file mode 100644 index 0000000..bf8e3b4 --- /dev/null +++ b/frontend/src/components/layout/theme-provider.tsx @@ -0,0 +1,67 @@ +import {createContext, useContext, useEffect, useState} from "react"; + +type Theme = "dark" | "light" | "system"; + +type ThemeProviderProps = { + children: React.ReactNode; + defaultTheme?: Theme; + storageKey?: string; +}; + +type ThemeProviderState = { + theme: Theme; + setTheme: (theme: Theme) => void; +}; + +const initialState: ThemeProviderState = { + theme: "system", + setTheme: () => null, +}; + +const ThemeProviderContext = createContext(initialState); + +export function ThemeProvider({ + children, + defaultTheme = "system", + storageKey = "vite-ui-theme", + ...props +}: ThemeProviderProps) { + const [theme, setTheme] = useState(() => (localStorage.getItem(storageKey) as Theme) || defaultTheme); + + useEffect(() => { + const root = window.document.documentElement; + + root.classList.remove("light", "dark"); + + if (theme === "system") { + const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; + + root.classList.add(systemTheme); + return; + } + + root.classList.add(theme); + }, [theme]); + + const value = { + theme, + setTheme: (theme: Theme) => { + localStorage.setItem(storageKey, theme); + setTheme(theme); + }, + }; + + return ( + + {children} + + ); +} + +export const useTheme = () => { + const context = useContext(ThemeProviderContext); + + if (context === undefined) throw new Error("useTheme must be used within a ThemeProvider"); + + return context; +}; diff --git a/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx index 61875fc..972f57f 100644 --- a/frontend/src/components/ui/button.tsx +++ b/frontend/src/components/ui/button.tsx @@ -1,58 +1,48 @@ -import * as React from "react" -import { Slot } from "@radix-ui/react-slot" -import { cva, type VariantProps } from "class-variance-authority" +import * as React from "react"; +import {Slot} from "@radix-ui/react-slot"; +import {cva, type VariantProps} from "class-variance-authority"; -import { cn } from "@/lib/utils" +import {cn} from "../../lib/utils"; const buttonVariants = cva( - "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 focus-visible:ring-4 focus-visible:outline-1 aria-invalid:focus-visible:ring-0", - { - variants: { - variant: { - default: - "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90", - destructive: - "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90", - outline: - "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground", - secondary: - "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", - ghost: "hover:bg-accent hover:text-accent-foreground", - link: "text-primary underline-offset-4 hover:underline", - }, - size: { - default: "h-9 px-4 py-2 has-[>svg]:px-3", - sm: "h-8 rounded-md px-3 has-[>svg]:px-2.5", - lg: "h-10 rounded-md px-6 has-[>svg]:px-4", - icon: "size-9", - }, - }, - defaultVariants: { - variant: "default", - size: "default", - }, - } -) + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 focus-visible:ring-4 focus-visible:outline-1 aria-invalid:focus-visible:ring-0", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90", + destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90", + outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground", + secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2 has-[>svg]:px-3", + sm: "h-8 rounded-md px-3 has-[>svg]:px-2.5", + lg: "h-10 rounded-md px-6 has-[>svg]:px-4", + icon: "size-9", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +); function Button({ - className, - variant, - size, - asChild = false, - ...props + className, + variant, + size, + asChild = false, + ...props }: React.ComponentProps<"button"> & - VariantProps & { - asChild?: boolean - }) { - const Comp = asChild ? Slot : "button" + VariantProps & { + asChild?: boolean; + }) { + const Comp = asChild ? Slot : "button"; - return ( - - ) + return ; } -export { Button, buttonVariants } +export {Button, buttonVariants}; diff --git a/frontend/src/components/ui/dropdown-menu.tsx b/frontend/src/components/ui/dropdown-menu.tsx new file mode 100644 index 0000000..356457f --- /dev/null +++ b/frontend/src/components/ui/dropdown-menu.tsx @@ -0,0 +1,255 @@ +import * as React from "react" +import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" +import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react" + +import { cn } from "@/lib/utils" + +function DropdownMenu({ + ...props +}: React.ComponentProps) { + return +} + +function DropdownMenuPortal({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuTrigger({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuContent({ + className, + sideOffset = 4, + ...props +}: React.ComponentProps) { + return ( + + + + ) +} + +function DropdownMenuGroup({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuItem({ + className, + inset, + variant = "default", + ...props +}: React.ComponentProps & { + inset?: boolean + variant?: "default" | "destructive" +}) { + return ( + + ) +} + +function DropdownMenuCheckboxItem({ + className, + children, + checked, + ...props +}: React.ComponentProps) { + return ( + + + + + + + {children} + + ) +} + +function DropdownMenuRadioGroup({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuRadioItem({ + className, + children, + ...props +}: React.ComponentProps) { + return ( + + + + + + + {children} + + ) +} + +function DropdownMenuLabel({ + className, + inset, + ...props +}: React.ComponentProps & { + inset?: boolean +}) { + return ( + + ) +} + +function DropdownMenuSeparator({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function DropdownMenuShortcut({ + className, + ...props +}: React.ComponentProps<"span">) { + return ( + + ) +} + +function DropdownMenuSub({ + ...props +}: React.ComponentProps) { + return +} + +function DropdownMenuSubTrigger({ + className, + inset, + children, + ...props +}: React.ComponentProps & { + inset?: boolean +}) { + return ( + + {children} + + + ) +} + +function DropdownMenuSubContent({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { + DropdownMenu, + DropdownMenuPortal, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuLabel, + DropdownMenuItem, + DropdownMenuCheckboxItem, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuSeparator, + DropdownMenuShortcut, + DropdownMenuSub, + DropdownMenuSubTrigger, + DropdownMenuSubContent, +} diff --git a/frontend/src/components/ui/input.tsx b/frontend/src/components/ui/input.tsx new file mode 100644 index 0000000..8b652f6 --- /dev/null +++ b/frontend/src/components/ui/input.tsx @@ -0,0 +1,19 @@ +import * as React from "react"; + +import {cn} from "../../lib/utils"; + +function Input({className, type, ...props}: React.ComponentProps<"input">) { + return ( + + ); +} + +export {Input}; diff --git a/frontend/src/components/ui/separator.tsx b/frontend/src/components/ui/separator.tsx new file mode 100644 index 0000000..7288ae0 --- /dev/null +++ b/frontend/src/components/ui/separator.tsx @@ -0,0 +1,28 @@ +"use client"; + +import * as React from "react"; +import * as SeparatorPrimitive from "@radix-ui/react-separator"; + +import {cn} from "../../lib/utils"; + +function Separator({ + className, + orientation = "horizontal", + decorative = true, + ...props +}: React.ComponentProps) { + return ( + + ); +} + +export {Separator}; diff --git a/frontend/src/components/ui/sheet.tsx b/frontend/src/components/ui/sheet.tsx new file mode 100644 index 0000000..6fdd5cb --- /dev/null +++ b/frontend/src/components/ui/sheet.tsx @@ -0,0 +1,101 @@ +import * as React from "react"; +import * as SheetPrimitive from "@radix-ui/react-dialog"; +import {XIcon} from "lucide-react"; + +import {cn} from "../../lib/utils"; + +function Sheet({...props}: React.ComponentProps) { + return ; +} + +function SheetTrigger({...props}: React.ComponentProps) { + return ; +} + +function SheetClose({...props}: React.ComponentProps) { + return ; +} + +function SheetPortal({...props}: React.ComponentProps) { + return ; +} + +function SheetOverlay({className, ...props}: React.ComponentProps) { + return ( + + ); +} + +function SheetContent({ + className, + children, + side = "right", + ...props +}: React.ComponentProps & { + side?: "top" | "right" | "bottom" | "left"; +}) { + return ( + + + + {children} + + + Close + + + + ); +} + +function SheetHeader({className, ...props}: React.ComponentProps<"div">) { + return
    ; +} + +function SheetFooter({className, ...props}: React.ComponentProps<"div">) { + return
    ; +} + +function SheetTitle({className, ...props}: React.ComponentProps) { + return ( + + ); +} + +function SheetDescription({className, ...props}: React.ComponentProps) { + return ( + + ); +} + +export {Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription}; diff --git a/frontend/src/components/ui/sidebar.tsx b/frontend/src/components/ui/sidebar.tsx new file mode 100644 index 0000000..97b4dd5 --- /dev/null +++ b/frontend/src/components/ui/sidebar.tsx @@ -0,0 +1,668 @@ +import * as React from "react"; +import {Slot} from "@radix-ui/react-slot"; +import {VariantProps, cva} from "class-variance-authority"; +import {PanelLeftIcon} from "lucide-react"; + +import {useIsMobile} from "../../hooks/use-mobile"; +import {cn} from "../../lib/utils"; +import {Button} from "../../components/ui/button"; +import {Input} from "../../components/ui/input"; +import {Separator} from "../../components/ui/separator"; +import {Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle} from "../../components/ui/sheet"; +import {Skeleton} from "../../components/ui/skeleton"; +import {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger} from "../../components/ui/tooltip"; + +const SIDEBAR_COOKIE_NAME = "sidebar_state"; +const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7; +const SIDEBAR_WIDTH = "16rem"; +const SIDEBAR_WIDTH_MOBILE = "18rem"; +const SIDEBAR_WIDTH_ICON = "3rem"; +const SIDEBAR_KEYBOARD_SHORTCUT = "b"; + +type SidebarContext = { + state: "expanded" | "collapsed"; + open: boolean; + setOpen: (open: boolean) => void; + openMobile: boolean; + setOpenMobile: (open: boolean) => void; + isMobile: boolean; + toggleSidebar: () => void; +}; + +const SidebarContext = React.createContext(null); + +function useSidebar() { + const context = React.useContext(SidebarContext); + if (!context) { + throw new Error("useSidebar must be used within a SidebarProvider."); + } + + return context; +} + +const SidebarProvider = React.forwardRef< + HTMLDivElement, + React.ComponentProps<"div"> & { + defaultOpen?: boolean; + open?: boolean; + onOpenChange?: (open: boolean) => void; + } +>(({defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props}, ref) => { + const isMobile = useIsMobile(); + const [openMobile, setOpenMobile] = React.useState(false); + + // This is the internal state of the sidebar. + // We use openProp and setOpenProp for control from outside the component. + const [_open, _setOpen] = React.useState(defaultOpen); + const open = openProp ?? _open; + const setOpen = React.useCallback( + (value: boolean | ((value: boolean) => boolean)) => { + const openState = typeof value === "function" ? value(open) : value; + if (setOpenProp) { + setOpenProp(openState); + } else { + _setOpen(openState); + } + + // This sets the cookie to keep the sidebar state. + document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`; + }, + [setOpenProp, open] + ); + + // Helper to toggle the sidebar. + const toggleSidebar = React.useCallback(() => { + return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open); + }, [isMobile, setOpen, setOpenMobile]); + + // Adds a keyboard shortcut to toggle the sidebar. + React.useEffect(() => { + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) { + event.preventDefault(); + toggleSidebar(); + } + }; + + window.addEventListener("keydown", handleKeyDown); + return () => window.removeEventListener("keydown", handleKeyDown); + }, [toggleSidebar]); + + // We add a state so that we can do data-state="expanded" or "collapsed". + // This makes it easier to style the sidebar with Tailwind classes. + const state = open ? "expanded" : "collapsed"; + + const contextValue = React.useMemo( + () => ({ + state, + open, + setOpen, + isMobile, + openMobile, + setOpenMobile, + toggleSidebar, + }), + [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar] + ); + + return ( + + +
    + {children} +
    +
    +
    + ); +}); +SidebarProvider.displayName = "SidebarProvider"; + +function Sidebar({ + side = "left", + variant = "sidebar", + collapsible = "offcanvas", + className, + children, + ...props +}: React.ComponentProps<"div"> & { + side?: "left" | "right"; + variant?: "sidebar" | "floating" | "inset"; + collapsible?: "offcanvas" | "icon" | "none"; +}) { + const {isMobile, state, openMobile, setOpenMobile} = useSidebar(); + + if (collapsible === "none") { + return ( +
    + {children} +
    + ); + } + + if (isMobile) { + return ( + + + Sidebar + Displays the mobile sidebar. + + +
    {children}
    +
    +
    + ); + } + + return ( +
    + {/* This is what handles the sidebar gap on desktop */} +
    + +
    + ); +} + +function SidebarTrigger({className, onClick, ...props}: React.ComponentProps) { + const {toggleSidebar} = useSidebar(); + + return ( + + ); +} + +function SidebarRail({className, ...props}: React.ComponentProps<"button">) { + const {toggleSidebar} = useSidebar(); + + return ( + +
    + ); } diff --git a/frontend/src/routes/index.tsx b/frontend/src/routes/index.tsx index 6074078..12ceb84 100644 --- a/frontend/src/routes/index.tsx +++ b/frontend/src/routes/index.tsx @@ -3,6 +3,7 @@ import LoginForm from "../components/auth/LoginForm"; import {Button} from "../components/ui/button"; import {useLogout} from "../lib/hooks/useLogout"; import {useSession} from "../lib/hooks/useSession"; +import {useSessionStore} from "../lib/store/sessionStore"; export const Route = createFileRoute("/")({ component: Index, @@ -10,20 +11,20 @@ export const Route = createFileRoute("/")({ function Index() { const {session} = useSession(); + const {user} = useSessionStore(); const logout = useLogout(); return (
    -

    Welcome Home!

    -

    -

    - {session ? ( - <> - {" "} - - ) : ( - - )} -

    + {session ? ( + <> +

    Welcome Home {user?.username}

    +

    Your current role is: {user?.role}

    +

    + {" "} + + ) : ( + + )}
    ); } diff --git a/frontend/src/styles.css b/frontend/src/styles.css index 0a1f462..e68c19c 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -30,6 +30,14 @@ --chart-4: hsl(43 74% 66%); --chart-5: hsl(27 87% 67%); --radius: 0.6rem; + --sidebar: hsl(0 0% 98%); + --sidebar-foreground: hsl(240 5.3% 26.1%); + --sidebar-primary: hsl(240 5.9% 10%); + --sidebar-primary-foreground: hsl(0 0% 98%); + --sidebar-accent: hsl(240 4.8% 95.9%); + --sidebar-accent-foreground: hsl(240 5.9% 10%); + --sidebar-border: hsl(220 13% 91%); + --sidebar-ring: hsl(217.2 91.2% 59.8%); } .dark { @@ -57,6 +65,14 @@ --chart-3: hsl(30 80% 55%); --chart-4: hsl(280 65% 60%); --chart-5: hsl(340 75% 55%); + --sidebar: hsl(240 5.9% 10%); + --sidebar-foreground: hsl(240 4.8% 95.9%); + --sidebar-primary: hsl(224.3 76.3% 48%); + --sidebar-primary-foreground: hsl(0 0% 100%); + --sidebar-accent: hsl(240 3.7% 15.9%); + --sidebar-accent-foreground: hsl(240 4.8% 95.9%); + --sidebar-border: hsl(240 3.7% 15.9%); + --sidebar-ring: hsl(217.2 91.2% 59.8%); } @theme inline { @@ -88,6 +104,14 @@ --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); + --color-sidebar-ring: var(--sidebar-ring); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar: var(--sidebar); } @layer base { diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index fec8c8e..0ceb734 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -1,13 +1,10 @@ { - "files": [], - "references": [ - { "path": "./tsconfig.app.json" }, - { "path": "./tsconfig.node.json" } - ], - "compilerOptions": { - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] + "files": [], + "references": [{"path": "./tsconfig.app.json"}, {"path": "./tsconfig.node.json"}], + "compilerOptions": { + // "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } } - } } diff --git a/package.json b/package.json index 9e446d0..7ff2a31 100644 --- a/package.json +++ b/package.json @@ -30,17 +30,20 @@ "compression": "^1.8.0", "cookie": "^1.0.2", "date-fns": "^4.1.0", + "drizzle-orm": "^0.39.3", + "drizzle-zod": "^0.7.0", "hono": "^4.7.1", "http-proxy-middleware": "^3.0.3", "jsonwebtoken": "^9.0.2", "zod": "^3.24.2" }, "devDependencies": { + "@types/js-cookie": "^3.0.6", + "concurrently": "^9.1.2", "cz-conventional-changelog": "^3.3.0", "rimraf": "^6.0.1", "standard-version": "^9.5.0", - "typescript": "~5.7.3", - "concurrently": "^9.1.2" + "typescript": "~5.7.3" }, "config": { "commitizen": { diff --git a/server/src/services/auth/controllers/login.ts b/server/src/services/auth/controllers/login.ts index cd594a6..0031f87 100644 --- a/server/src/services/auth/controllers/login.ts +++ b/server/src/services/auth/controllers/login.ts @@ -5,21 +5,24 @@ import {sign, verify} from "jsonwebtoken"; */ const fakeUsers = [ - {id: 1, username: "admin", password: "password123"}, - {id: 2, username: "user", password: "password123"}, - {id: 3, username: "user2", password: "password123"}, + {id: 1, username: "admin", password: "password123", role: "admin"}, + {id: 2, username: "user", password: "pass", role: "user"}, + {id: 3, username: "user2", password: "password123", role: "user"}, ]; -export function login(username: string, password: string): {token: string; user: {id: number; username: string}} { +export function login( + username: string, + password: string +): {token: string; user: {id: number; username: string; role: string}} { const user = fakeUsers.find((u) => u.username === username && u.password === password); if (!user) { throw new Error("Invalid credentials"); } // Create a JWT - const token = sign({userId: user?.id, username: user?.username}, process.env.JWT_SECRET, { + const token = sign({user}, process.env.JWT_SECRET, { expiresIn: process.env.JWT_EXPIRES, }); - return {token, user: {id: user?.id, username: user.username}}; + return {token, user: {id: user?.id, username: user.username, role: user.role}}; } diff --git a/server/src/services/auth/routes/session.ts b/server/src/services/auth/routes/session.ts index cc7f186..7c2dbfd 100644 --- a/server/src/services/auth/routes/session.ts +++ b/server/src/services/auth/routes/session.ts @@ -40,7 +40,7 @@ session.openapi(route, async (c) => { try { const payload = await verify(token, JWT_SECRET); console.log(payload); - return c.json({token}); + return c.json({data: {token, user: payload.user}}); } catch (err) { return c.json({error: "Invalid or expired token"}, 401); }