From daba03c2e87bf067b85b9140e5978a0f8b883498 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Thu, 9 Jan 2025 22:33:52 +0800 Subject: [PATCH] :sparkles: Basic console layout --- bun.lockb | Bin 256604 -> 300532 bytes package.json | 5 ++- src/components/CapAppBar.tsx | 2 +- src/components/CapDrawer.tsx | 8 +++- src/components/layouts/ConsoleLayout.tsx | 54 +++++++++++++++++++++++ src/pages/_app.tsx | 29 ++++++------ src/pages/console/index.tsx | 51 +++++++++++++++++++++ src/pages/console/matrix/index.tsx | 22 +++++++++ src/pages/matrix/index.tsx | 11 +++++ 9 files changed, 166 insertions(+), 16 deletions(-) create mode 100644 src/components/layouts/ConsoleLayout.tsx create mode 100644 src/pages/console/index.tsx create mode 100644 src/pages/console/matrix/index.tsx create mode 100644 src/pages/matrix/index.tsx diff --git a/bun.lockb b/bun.lockb index 0bff6c7d148ba774d86a31344b4de4e41f487102..092cf2e70164f87cb232086898577a6e936d91a0 100755 GIT binary patch delta 77381 zcmeFacT^Nv7d_hD&_D}_nV<+pP(%?WO9M)hB&c8piIPEr0*VbPf&o*hEs8l{RuEJ$ zV$L}$CXAS~V0!yh6-+xb?|W~pw|?)hsb%%P``mNSJ@?#L)%48Wt6HBnH=EnN%lFzB z4{y3{et$66-1^hapoprG38|I4YFifz%6pa1Yabo9P+36Njd?>1MBmTPOEYdaTO<%@ z3IthIKz*PyPy?8fl#n_mQXuf1SLq;YB^C%8L8yze>cE%aq*Tv$3OOTZR0M)%kf*B( z1WkbVfI7fSK&m7H*c><#NcNn7t%2(#0zpgQTprVaRBjiPS_lNPtgcYhhTtG7po&X@ zZv&hGGz7*q<{Uc#-V^))5Orj=ftPx~Gg<;cE1-zy55e1k zmjbl~y#!fHkw9y+9;10=_y~{`ig-R3NDij+IFjip(w5CZDb$p85sjnjHi4i$Sq&R7#C{>>^J}M;?L7xLoamoh5^Q83sq}ok@)M+ZfPQa�X6pk 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

h@lGZJ^ z2@0N-#oRpDd8sVSj=9k8;J)gy150Bj>8 z@sF&n{o6H3cs@1ZFNbA<_KF_oo$B~z)9=Hh?j4=m{BYl9M`u6wK9y@cAY0xgPgs2Z zW2>UgpQ`oOFZ5~ZQqwiy?E9Cevtu)k_;!5na9`N}$edMs|1!+}#GRa_OIhu{W5mIZ z&BnW~p1S+#gh8w3UvVrxI{TW_Q`w{{`SFq7jB(-e!;(*1x8}v14VsXqTDURbn$Zp| zYqzrZ%}+j9{jicXtj318qoTvb-#?XxUd%b}lWjixUY7G$J-2d?m3t;!UX%CayV^4o zVN`VCr2UR}V^rStxsz?EqVKGJQbYSzz~>iR^1imwS}>)4JERS~lcM2Q>4&to+C6Bw zr)uWgfx!;<=j(s{==4fk{@6ov?)J#|@eyGyJATxi-sy>*mSjQNz1NIMw}tzcdjwAQ z+10BiTca=QFn5xn(?|WKyuxK(uWzl|U9dUwFL z{F(YBU5E3Ny^Ke8dfWb4*~}5mEFzw?abJ1GDSLSP(Gyw2+yjJ>qG6xUdk+ox@##ye zZ@Jr>EWGu!G9zn2ztEp)x$RY2j(0CV+qbwh!qlxp@#F5-x-s+T?3#XS@{xPZWm7s& zjp*U#*I_xgZE*(!V@1Qh_f-S!`d=P!cFy|!-~8L9WtKVhM)cJ{NWO|2HEX4)1y$#Szi!z$jbPu|tx z_V8`mp{!lF3+%?*rS(UkoOt;`#>!1YjumGfJ!$jko3;AD#Rnz%M>3WU7}CDc^J|fN z69Y|u_PjmRb#K~%zUEVe<7`!JtYrt4&;QD2T$0Ssvxd3N-;_7Z+T9h~=~1&V$w#+C zzT*p9?YrP_e!uImBE90w-i;Gee;sR*bV`=jeObV*PiL?Cefi|pD%bGT9sLbvO0Ah5 zFUR!0Q1+8GoW=g>UH3l>>-kF#zRYdvppvZKuXtX%=#16r{Tqv)c3AFGJ;(k>n}t&% z=0-JM8+Z85bHB%{jwknRGxCu}%8o9*OA8t)k32G!wM$2&0r(M)qTyL4PfHG#wR4^| zsN4B@+C7#9+^AY4s?i$Mc*mVq4+c(hRQZAdsz>i+GMsx**<$u!$-r!=6gm*v~2s#{>^gdqf>|5IM$a5P zGj02nv$rnZE&1K(td?Z^(Wh@Zg~W=bO4if7;Wt@xyW+|5kI;y1D4>nx|HMhCOsF@>agqRKYzvMfWEBczf-1pY_Yr zQ*JmXb}O3XFyzg|1zlX8`+6A!t}oc_(RuKTDHCot*7d$TzjTtyVh!61&BZ&H>BgAM znwWTc!J8{GxxGK!D@^LSZ_Tsm;ui&?JD0x=tqRCVNGS~|J#?5^)M;_*;mqe9znx+( zcH6(T^uc%GxY5cV>XIi;ST^8L<>eDP2YWj%Bl9t5X}%je(94eqmZ>c;zB8h_Y{UsFm>=3ef6dbQiuXotji zJHM+;e|>#d+f{*4@+RM1dTO~UxaXkg-Z1wsn??@rdu7j*H8oGp?bo$xrPF8G2NTba zy`RijtgLQ-D&tW5yhj^!%kE1CZ8B9&KGaB9alG%~Q$t6rJbEDB>fkK-vH-YuqWPlE zhdg$hb$w;o+vvfS^RH^(ZEySL@Q8659b=Epop4M?wP@{iz+{5T9^=bKL;iJ3C9vRabKVIZvmUCr$r_25|wa#+yA#krNY)BB z->i4VwU+)B55E<}Z1+pJ^d>_m_E3u_=U(4(X!UK0W`cU#kn)>0BMoxq+@7?u!=|#e_WY`TV{R|{?wa%dk^CpzlY8&RLgS)n_~_f>y(`mA#`J2I zVm@J|o6?Tw3;ZHHlPcewaSIEWZMr{7NvTXf?X(84iJ_CB7u~6v~HN;!EO_B-u|A zZ=rmX1te)BAZclZLIdPBQ7B|Q5`tw>5ctVokl-c+vit4@rAiMjJi5|uM%x*6i`SeV zFY{g_p1SPm!y>%`@sNI2M_*<}-us$SZa7*}Fev~1!yz?EN$*Eo-Z&*Cy<2x3ZU^Ri ze~@Any4IyVyYzBMu(OeGR*9*{-fEqDu3HR(25EO`ejzqs@rg|@$}KItZ|DYoJyqMd zY^hgRS*+=IzstctPemMkx^vvT&hpGr=>4)i-g{8eZG-=+`!qM>W#kXkLlrY zXhrL7zcZ`U-3PCBQgPM3Fk?^njvn{@mKFAx_qG3vJ4v-Ii-n7BI?~&M`tN}J72Uhn ze1gU1jv*hFOjT^2O0M6%DlK@aEUX!{X{dCtYxUbcHBAorTei8Yt2?djhT#rA0li*4 zZr}2Bs{R>K*xMpK<$dSnrh#xTFm%y`-6i_jpC2Bs8eC^S<>73DjGIAkXB63fSWwt( z#C_Adx1@uPotIYz7(X}LZ8hS9|8d!tn};lVr6sqLwc2u8!M!1h?#=7a>6FW;VXw=# zcsAAhmY4OUXqCgWi30!O!?%8_%KUj*YuL~%o475yUp1aNEFJ8!*TK*(pUKlYGfqEP zNA=#TU{!e)xp(IDwh^0BhNde|3pQEywfw_@_ZJ&~+OsLRZ$h)86D{A|Jl9WDUUS6X zq@Ug0lHJ3fb}o6fdD5M&)lE9iwr+9xuAaGqd&3mnd%I&vi^T`5^LBYyUN~gD<)gG; z;QQXGKQgDbscofR(6-8d^ss;??-uELjn^m^EXiqSvh3U1Cr{55Pu}-`755!*QC-`+ z%o)3)s32`n5W5c2#ol}G8tVX~fHWCUR1|Cx3wB-D#fmZZf?aHh2o~%m*2LaTtg*ar zoiZ~ZB=`Q``~RNze%a@IYwfl7Uc2ve=J28M`t2SI;wfnmvX{1Jb3}&gnzSYl?);J- ze7aTrR)&68OSe6Cq*A9DKRxtMJu|rl^$mWm&iE%$1iJ( zudB`nrAp=YGtb_oTEF@1Z?pJxwa*R4J-prYaiN#37teRMaXoVS#~m~8UK~^KxorWP zxDfl0&3|qRF4A}ZFHz@)vF4oNC1yURl(?0 z^n{r`%yg^{S;VL@C%vENzwZRxvG`cpJ#2_#?nTb(R4RjxjezN83yL9Cz!D+YUTyz12b#Az{IQQ4Kt~sV0wCk z8IN*#gXt3nrl1d)i6|Ej-$lZ~gkks=CaY*)9WZ;Caq%FIb-v^WHCU#NNwjliCL9A^HB8^@%@ra3@ z?Lh3Mly)GJ6F^vY0I{EjcLvdBJcvtp$4_;TT)Kexz{E|w(5E^~*Sdm8oxnDFf;d7c zJwf!D2%=yw5XY!%FAzm0f!M{w2~zb2v4;tLZxFxIHYS25gRtoXB7<~&K-m2V;sg_! zRJt#SlT5_)1#y~=FcCWiMCBhqoTcGEfT)%T;t~_t;5>MP`B6#l(G5`GeTQgx(*-L)ykf&}QcoSCZdPdu2QbzqjogQ*VxFk`nKOveN; zHQ}EGFejP$!i*OF;Ws#AQ^D-Q8=OLIfiS|uKO4a4CxY=1Xgf1knX#D!#!DdoNnjFx z0^>9pj1S5_8I0dXFsGTRgR=h!<`FYve*{w(WoIV&XE53+VCtjnQ^2&@1m-3)4N>+) zFdvvnN(9pwWoIUJGnj@`!8AqLr-JFT1w8!94ManUl;6NCMLlZ6gUx><%!NGr@F5+n5Qa+DI9X2NEH>5jI+OyVvuPP4)Egnwp(@!JjNG&8;7pE+P2F*9}!n7;52Gs$US zv~$7qgMa3NX|o5+O=bqbKl8wRU?yoEm_hIlGpT#QG@K7c2mj0m(`O%;=gb7aKMTMV z*$)P<@nJ;+|1h(MnT`v=426Fdf(beR<_j~y@DG8pI|ybIff)w>fDu9k>XxkPr3#}B z$r#DQNwo+;1oh=0lD2U$oQf_+5Jfr;478VnXezw~K@0_RFoKS7Fp}(-B8a8o9E_q2 z4n~v9G6Z926bEsX&B0izz8t|g8qYyIUE?5uJXRnWPg6OVKzBKqNOe~tm_&0pm`sm3 z_>r2XAecgnI7p<|989IQs}M}16b`1-M-FCC*VPD;Xaff`Nwo&SEb7a_Y}&@b94fjN z!CcaDFpu_fFrP}VL$H8?Iao+XI3TiLk06rj=o$wr$>S#kDKwRXRdknw)l_#Qf;BXUgSGUSgLTyOX9VkM5eKRCnu870b`yf1 zD20QK^pS&~sq1D0n`i?En@P0=!4~Sv!B*PF!8R(o6~T7Waj=8-at3$`|Sw!&~Og+QU(Y6$YlqD{WOY$1C-6dL8`tJ!66#Y0TvD%q?5-k1V?Bp2S@2H z2gj)HZUo0^4hJXbF$cfUqBI1*(rXS*QrkTUGAM^Z^7HDVT#xbcBP;Y4!(IgH#1C;rPCI+UqP8`eS4k z8u)+vp9c67g9R+Z^|8_72|YfoV=0-N*TvVGWkn78uo3zw{DL=4byC$>g+)Zu3{_`U zcG{c_)kBpr!4|AsVrO&l(}M{Cp}}rxx^pT=lS1FQJ*}zBIsCC~C{mAeDy!0XL|_pe z9384h_@pB~T1Q>8RNYzb+yE!>_?VDrD8wNB+I|^0d@xMp2*&TQX0fu}#gA|$ICZB^ zS*nG_BBS)t(ZTwtJ3aWm8S7Y%2#)47EE0ObU7U!mNJmA4hQ>tVaZPWeou;~@!i1nV z_{Ri?23k1la(K3Z_{Nex3}4{n_z_|zQzJ~JRWkV=_V8^LV>bPb$$ym$R@@V2WJUdGw0!XHSJqu3HQVoKQkG$R0Cul=8oCKVpnNY_QnL_2T!Q z5;p!sGk;V4q{83f^l=rF8hjH;o!D$_Tb%W3EV0xDL_~!n`z!ar31*r5`7UD2IEe2W zG8wNb$i**1b22d${I^Z~zbsUjn<}eZwXj+&1$$K}FeR=0bCt`;|Lt7-FBkH^F^`cz zQ>@8Z?yUG^-34kJC^U}$`c3-B9Dl2q&p`O0HUCrYIR=02pa1+r97`CFy@kH789 z@wjgJE6)6Hv&``a!77Oiwv#f)-GDzYiGT4HTV=8^?%X6&{Pr&!~UT;r~1;T6pk#0{rigtjHg7t1B}2 z45G~Or@TwC&+so@=J=~m=_nnS{D{oi;(EDU;-ld3e+xTclFS{K^|*@uVj=#;pO8rh z+!T-%e~~#yaQp>UE)jozne(av%FB^YBIHXa;DcO{Q?g!paLRjtnKD-aoWERf%}1*G5%eax$3yKloP%J4*$2P0hE%t zYqB1H+0IJluFG64aN_6Y5#Hc$pmJm_@KRR1DJ!~xE6YOs<5tTVtPPZd9%taT%(>&b zEI2lNN9Oo*nAS4Kjho~4xqu7&yCZjjVhv)v$T~{UP_-Z-xhXq@zd;%a3?>UzMwxe2i0K0&GK!2bK& z*8}~4UO;bvzaP^MVSAth&=Kei@JAfIm6j0B8jG0JQ;kfIpI69pI0uR{>mriohEx%})OSXB|Tw z@%L120(XGB!0*5xz+=ctAxSHsG*AX83lso&C3PM0g8)B4%LMiSyAdx9*aPeZ_}k!% zfW^QPU@5Q+SfR!r0bPlU6krvw8dw9Y1=ayPpYcdv0dNLffQo=C@D2&_i2n%~1&jv9 z0MmiV0KbY63N)d%VM6DY{LqnKuj4o2Yyf_V*cPw@8~{gvUm|q^c+%jX^gRQf122G= zz$>~LCO8(%#N}Z65(e)L#bq$i8fXKw1H6Db0DrBSztP|22C0DrrkzX#8AYz#0Ghy_LgV}Lkd91ssA0K8Zm0t^L$ zfJ#6Wpb)@+ROJgVUB&|Z=3o*q70>|#f$~5FpeVo(C<_7a;oSoOHUk!ifxE!(z%}3o zfG&tXEQQPfD4T^IaR#CweF6T^a%G?@z@HqB1LFC!&)0z)z%Af5a0j>#JOCa6uYlLU z8{jYC9q=Cb0DJ^K13clYU{DPd015(yfWkl#peSGiv<8Nv8aE(J=g$Wp!NpO4|58CK zparlR?%}`vP#h=>6a+ql7z7Lkbbvn)0QdmDKpnsjs0-8s z>H`gchCm~rG0+5P3N!sfERDPSW5z?0Exg< zz!E44lmf~Cyq2;CY=GiGF(42b{O2}Vi4+ZL?(UbtvalIdC58Z~qHQ+FG6A|({`#r8d0{j9| z1H|VqH6MfiDqt-z4X}V7FJ%+??|vAN;8>s_z`yWXg^Uz|0%HNV=LpL|xiC;1m;i1W zbOHfhMcM*3fIYw~NM14WUpy!WJ?0g;)ol>?_lzej{Nt6QC)q>^jxD*F@T!JVy-xb^{zW9pFKU z2PclI$oZZJt^L3uARS=+BY={ud6FzY1sn&Ita8Zqlx(H*_@JqzL-lV!5>N_w58MGB0KWrwfqTFozrZ>&KaYV& zz(e2(@EUjpC=>o0T)zXj3V4y*2k-;jf!e?q@VuDdmi7(TU!|HAJ(ACV_(iC%P%VRy z*T_}?uQy5pmH@ApdELxY7EfK=rwRi+eH8=>0BS%0Q~+#;sp~gocMjDI)E?W z19$+;c>`Yj!zaE`lsN1SumkHLhrJNC0C+{F==8vK7oauJ7H9+TTWsBcmOwp#<1_;r z0u6xr01xauR5bw_0gZu$NMBTHjvF@E3h)9r1DqgpoRO~bJ(q+NR}$t<#_r@eoy~MQ z;<_Es0ca0&l0)W{f^f#WDvC_9VWsr{*3nqr5Blc4SsXyPSvkfl1+W~L#my=i7X&P1 zAObi0xxj2-CXfV71116f0Q+Gg5CQ}PyqpRI0)QZZN3|gchsyU62n|3a5C((-!vLwz zqFPxY92gEn0Wm-{5D$z3#sVXOIA8?8g9Y=<#meCrgrk880LSAvK70qX#kuLt5&@t=(V8)Jp-z&3y*ZUMMzcxc&*kP~AtHv`~|bMrcgP#MQ>;QBIf z2}lQ&5o54Go}bu;lJ|d^pW^eJpt51$6mS+e4P*hC04H`5VFqv%_!T$-90!g8M*!x3 z0a%Z1a9oz30nP�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 diff --git a/package.json b/package.json index 0a1b8f7..82eb00c 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "@mui/material-nextjs": "^6.3.1", "@mui/x-charts": "^7.23.2", "@tailwindcss/typography": "^0.5.16", + "@toolpad/core": "^0.11.0", "@vercel/speed-insights": "^1.1.0", "animate.css": "^4.1.1", "axios": "^1.7.9", @@ -51,6 +52,8 @@ "@eslint/eslintrc": "^3.2.0" }, "trustedDependencies": [ - "@vercel/speed-insights" + "@vercel/speed-insights", + "esbuild", + "sharp" ] } diff --git a/src/components/CapAppBar.tsx b/src/components/CapAppBar.tsx index ffb9182..b5e9d14 100644 --- a/src/components/CapAppBar.tsx +++ b/src/components/CapAppBar.tsx @@ -47,7 +47,7 @@ export function CapAppBar() { setOpen(false)} /> - + , href: '/attachments', }, + { + title: 'Matrix', + icon: , + href: '/matrix', + }, ] const additionalLinks: NavLink[] = [ diff --git a/src/components/layouts/ConsoleLayout.tsx b/src/components/layouts/ConsoleLayout.tsx new file mode 100644 index 0000000..e504e1f --- /dev/null +++ b/src/components/layouts/ConsoleLayout.tsx @@ -0,0 +1,54 @@ +import { checkAuthenticatedClient, redirectToLogin } from '@/services/auth' +import { JSX, useEffect } from 'react' +import { DashboardLayout, Navigation } from '@toolpad/core' +import { Stack, Typography } from '@mui/material' +import NextLink from 'next/link' + +import AppsIcon from '@mui/icons-material/Apps' + +export function ConsoleLayout({ children }: { children: JSX.Element }) { + useEffect(() => { + if (!checkAuthenticatedClient()) redirectToLogin() + }, []) + + const navigation: Navigation = [ + { + segment: 'console/matrix', + title: 'Matrix', + icon: , + }, + ] + + return ( + + + Solar Network Console + + + ) + }, + }} + sidebarExpandedWidth={300} + defaultSidebarCollapsed + > + {children} + + ) +} + +export function getConsoleStaticProps(original: any) { + if (original.props.title) { + original.props.title = 'Console | ' + original.props.title + } + original.props.showAppBar = false + + return original +} diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 9c1278d..1099456 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -4,6 +4,7 @@ import { Box, createTheme, CssBaseline, ThemeProvider } from '@mui/material' import { Roboto } from 'next/font/google' import { CapAppBar } from '@/components/CapAppBar' import { PagesProgressBar as ProgressBar } from 'next-nprogress-bar' +import { AppProvider } from '@toolpad/core/nextjs' import { useUserStore } from '@/services/user' import { useEffect } from 'react' import Head from 'next/head' @@ -56,20 +57,22 @@ export default function App({ Component, pageProps }: AppProps) { - - - + + + + - - - - - + {(pageProps.showAppBar ?? true) && } + + + + + ) } diff --git a/src/pages/console/index.tsx b/src/pages/console/index.tsx new file mode 100644 index 0000000..06ebfbf --- /dev/null +++ b/src/pages/console/index.tsx @@ -0,0 +1,51 @@ +import { ConsoleLayout, getConsoleStaticProps } from '@/components/layouts/ConsoleLayout' +import { Typography, Container, Box, Grid2 as Grid, Card, CardContent, CardActionArea } from '@mui/material' +import NextLink from 'next/link' + +import DynamicFormIcon from '@mui/icons-material/DynamicForm' +import AppsIcon from '@mui/icons-material/Apps' + +export function getStaticProps() { + return getConsoleStaticProps({ + props: { + title: 'Welcome', + }, + }) +} + +export default function ConsoleLanding() { + return ( + + + + + Welcome to the + + Console + + of the Solar Network + + + + + + + {}}> + + + + Matrix + + + Publish and versioning your application with Matrix Marketplace. + + + + + + + + + + ) +} diff --git a/src/pages/console/matrix/index.tsx b/src/pages/console/matrix/index.tsx new file mode 100644 index 0000000..7a0aa48 --- /dev/null +++ b/src/pages/console/matrix/index.tsx @@ -0,0 +1,22 @@ +import { ConsoleLayout, getConsoleStaticProps } from '@/components/layouts/ConsoleLayout' +import { Typography, Container } from '@mui/material' + +export async function getStaticProps() { + return getConsoleStaticProps({ + props: { + title: 'Matrix Marketplace', + }, + }) +} + +export default function MatrixMarketplace() { + return ( + + + + Matrix Marketplace + + + + ) +} diff --git a/src/pages/matrix/index.tsx b/src/pages/matrix/index.tsx new file mode 100644 index 0000000..371dc5e --- /dev/null +++ b/src/pages/matrix/index.tsx @@ -0,0 +1,11 @@ +import { Typography, Container } from '@mui/material' + +export default function MatrixMarketplace() { + return ( + + + Matrix Marketplace + + + ) +}