From 93a1dce5f7012fac60666a6121b2fe5bfdaca105 Mon Sep 17 00:00:00 2001 From: Khairul Hidayat Date: Mon, 19 Aug 2024 02:28:25 +0700 Subject: [PATCH] feat: add bucket browser --- README.md | 8 + backend/router/browse.go | 75 +++++++++ backend/router/router.go | 2 + backend/schema/browse.go | 2 + misc/SCREENSHOTS.md | 9 ++ misc/img/buckets-browse-sharing.png | Bin 0 -> 85037 bytes misc/img/buckets-browse.png | Bin 0 -> 64783 bytes misc/img/mobile-bucket-browse.png | Bin 0 -> 33537 bytes misc/img/mobile-buckets.png | Bin 0 -> 26284 bytes misc/img/mobile-cluster.png | Bin 0 -> 26895 bytes misc/img/mobile-dashboard.png | Bin 0 -> 21943 bytes package.json | 1 + pnpm-lock.yaml | 10 ++ src/components/containers/tab-view.tsx | 9 +- src/components/ui/goto-top-btn.tsx | 49 ++++++ src/components/ui/toggle.tsx | 1 + src/lib/disclosure.ts | 22 ++- src/pages/buckets/manage/browse/actions.tsx | 143 ++++++++++++++++++ .../buckets/manage/browse/browse-tab.tsx | 77 +++++----- src/pages/buckets/manage/browse/hooks.ts | 39 ++++- .../buckets/manage/browse/object-actions.tsx | 74 +++++++++ .../manage/browse/object-list-navigator.tsx | 27 ++-- .../buckets/manage/browse/object-list.tsx | 139 +++++++++++++---- src/pages/buckets/manage/browse/schema.ts | 10 ++ .../buckets/manage/browse/share-dialog.tsx | 79 ++++++++++ src/pages/buckets/manage/browse/types.ts | 7 + src/pages/buckets/manage/context.ts | 19 +++ .../manage/overview/overview-aliases.tsx | 8 +- .../manage/overview/overview-quota.tsx | 14 +- .../buckets/manage/overview/overview-tab.tsx | 12 +- .../overview/overview-website-access.tsx | 10 +- src/pages/buckets/manage/page.tsx | 14 +- .../manage/permissions/allow-key-dialog.tsx | 9 +- .../manage/permissions/permissions-tab.tsx | 18 +-- src/pages/buckets/page.tsx | 20 ++- 35 files changed, 770 insertions(+), 137 deletions(-) create mode 100755 misc/img/buckets-browse-sharing.png create mode 100755 misc/img/buckets-browse.png create mode 100755 misc/img/mobile-bucket-browse.png create mode 100755 misc/img/mobile-buckets.png create mode 100755 misc/img/mobile-cluster.png create mode 100755 misc/img/mobile-dashboard.png create mode 100644 src/components/ui/goto-top-btn.tsx create mode 100644 src/pages/buckets/manage/browse/actions.tsx create mode 100644 src/pages/buckets/manage/browse/object-actions.tsx create mode 100644 src/pages/buckets/manage/browse/schema.ts create mode 100644 src/pages/buckets/manage/browse/share-dialog.tsx create mode 100644 src/pages/buckets/manage/context.ts diff --git a/README.md b/README.md index 1f59745..401b028 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,14 @@ A simple admin web UI for [Garage](https://garagehq.deuxfleurs.fr/), a self-host [ [Screenshots](misc/SCREENSHOTS.md) | [Install Garage](https://garagehq.deuxfleurs.fr/documentation/quick-start/) | [Garage Git](https://git.deuxfleurs.fr/Deuxfleurs/garage) ] +## Features + +- Garage health status +- Cluster & layout management +- Create, update, or view bucket information +- Integrated objects/bucket browser +- Create & assign access keys + ## Installation The Garage Web UI is available as a single executable binary and docker image. You can install it using the command line or with Docker Compose. diff --git a/backend/router/browse.go b/backend/router/browse.go index 2e70631..a643fbb 100644 --- a/backend/router/browse.go +++ b/backend/router/browse.go @@ -72,6 +72,8 @@ func (b *Browse) GetObjects(w http.ResponseWriter, r *http.Request) { ObjectKey: &key, LastModified: object.LastModified, Size: object.Size, + ViewUrl: fmt.Sprintf("/browse/%s/%s?view=1", bucket, *object.Key), + DownloadUrl: fmt.Sprintf("/browse/%s/%s?dl=1", bucket, *object.Key), }) } @@ -111,6 +113,11 @@ func (b *Browse) GetOneObject(w http.ResponseWriter, r *http.Request) { keys := strings.Split(key, "/") w.Header().Set("Content-Type", *object.ContentType) + w.Header().Set("Content-Length", strconv.FormatInt(*object.ContentLength, 10)) + w.Header().Set("Cache-Control", "max-age=86400") + w.Header().Set("Last-Modified", object.LastModified.Format(time.RFC1123)) + w.Header().Set("Etag", *object.ETag) + if download { w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", keys[len(keys)-1])) } @@ -128,6 +135,74 @@ func (b *Browse) GetOneObject(w http.ResponseWriter, r *http.Request) { utils.ResponseSuccess(w, object) } +func (b *Browse) PutObject(w http.ResponseWriter, r *http.Request) { + bucket := r.PathValue("bucket") + key := r.PathValue("key") + isDirectory := strings.HasSuffix(key, "/") + + file, headers, err := r.FormFile("file") + if err != nil && !isDirectory { + utils.ResponseError(w, err) + return + } + + if file != nil { + defer file.Close() + } + + client, err := getS3Client(bucket) + if err != nil { + utils.ResponseError(w, err) + return + } + + var contentType string = "" + var size int64 = 0 + + if file != nil { + contentType = headers.Header.Get("Content-Type") + size = headers.Size + } + + result, err := client.PutObject(context.Background(), &s3.PutObjectInput{ + Bucket: aws.String(bucket), + Key: aws.String(key), + Body: file, + ContentLength: aws.Int64(size), + ContentType: aws.String(contentType), + }) + + if err != nil { + utils.ResponseError(w, fmt.Errorf("cannot put object: %w", err)) + return + } + + utils.ResponseSuccess(w, result) +} + +func (b *Browse) DeleteObject(w http.ResponseWriter, r *http.Request) { + bucket := r.PathValue("bucket") + key := r.PathValue("key") + + client, err := getS3Client(bucket) + if err != nil { + utils.ResponseError(w, err) + return + } + + _, err = client.DeleteObject(context.Background(), &s3.DeleteObjectInput{ + Bucket: aws.String(bucket), + Key: aws.String(key), + }) + + if err != nil { + utils.ResponseError(w, fmt.Errorf("cannot delete object: %w", err)) + return + } + + utils.ResponseSuccess(w, nil) +} + func getBucketCredentials(bucket string) (aws.CredentialsProvider, error) { cacheKey := fmt.Sprintf("key:%s", bucket) cacheData := utils.Cache.Get(cacheKey) diff --git a/backend/router/router.go b/backend/router/router.go index b9282af..e295620 100644 --- a/backend/router/router.go +++ b/backend/router/router.go @@ -14,6 +14,8 @@ func HandleApiRouter() *http.ServeMux { browse := &Browse{} router.HandleFunc("GET /browse/{bucket}", browse.GetObjects) router.HandleFunc("GET /browse/{bucket}/{key...}", browse.GetOneObject) + router.HandleFunc("PUT /browse/{bucket}/{key...}", browse.PutObject) + router.HandleFunc("DELETE /browse/{bucket}/{key...}", browse.DeleteObject) router.HandleFunc("/", ProxyHandler) diff --git a/backend/schema/browse.go b/backend/schema/browse.go index 3eb7941..3a7eb51 100644 --- a/backend/schema/browse.go +++ b/backend/schema/browse.go @@ -13,4 +13,6 @@ type BrowserObject struct { ObjectKey *string `json:"objectKey"` LastModified *time.Time `json:"lastModified"` Size *int64 `json:"size"` + ViewUrl string `json:"viewUrl"` + DownloadUrl string `json:"downloadUrl"` } diff --git a/misc/SCREENSHOTS.md b/misc/SCREENSHOTS.md index 580e4c3..d6c32df 100644 --- a/misc/SCREENSHOTS.md +++ b/misc/SCREENSHOTS.md @@ -6,3 +6,12 @@ [![image](img/buckets-overview.png)](img/buckets-overview.png) [![image](img/buckets-permissions.png)](img/buckets-permissions.png) [![image](img/keys.png)](img/keys.png) +[![image](img/buckets-browse.png)](img/buckets-browse.png) +[![image](img/buckets-browse-sharing.png)](img/buckets-browse-sharing.png) + +### Mobile + +[![image](img/mobile-dashboard.png)](img/mobile-dashboard.png) +[![image](img/mobile-cluster.png)](img/mobile-cluster.png) +[![image](img/mobile-buckets.png)](img/mobile-buckets.png) +[![image](img/mobile-bucket-browse.png)](img/mobile-bucket-browse.png) diff --git a/misc/img/buckets-browse-sharing.png b/misc/img/buckets-browse-sharing.png new file mode 100755 index 0000000000000000000000000000000000000000..70f6805e13933f9baa4632279c9c1a92cfbbf68b GIT binary patch literal 85037 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 literal 0 HcmV?d00001 diff --git a/misc/img/buckets-browse.png b/misc/img/buckets-browse.png new file mode 100755 index 0000000000000000000000000000000000000000..bf293a88233432144aed0a00b23b1684a88ad074 GIT binary patch literal 64783 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 z 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 literal 0 HcmV?d00001 diff --git a/misc/img/mobile-bucket-browse.png b/misc/img/mobile-bucket-browse.png new file mode 100755 index 0000000000000000000000000000000000000000..6ad78197bbe1b2eed8e3113641633f5c909abd43 GIT binary patch literal 33537 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 literal 0 HcmV?d00001 diff --git a/misc/img/mobile-dashboard.png b/misc/img/mobile-dashboard.png new file mode 100755 index 0000000000000000000000000000000000000000..0d80b0b1e9d80ccbb539193d54a3c4bb4d1735c6 GIT binary patch literal 21943 zcmeFZby!s0zc;)Q1VjN5fm<3uL{gEEE&&mc2I*U+ySoGgltuw*q-#KO=rI84hLM_) z?v9~()_8l)`TfrOJlA=y_pkSl7q7V-HhXrg_1$ZIYRy~KXY#~E)I<;j5i2}-tPVjq zP7rh{g%BTXSqjBLfepcyGBTiI zS4~^Xx*e7KPWH3vI1x2`l}_MQ6v z1Jl6Px6_PSq*f(j#r3)E7_l58+bAX4V7Z)%dHcPD^Ipqh%X@tOC#UVMWAlQ&cS0|x z-x8=;_MEw2{(R+SUAXR;>Ra_B$T$Ck(^4`TCnYeW5qxAWWYyf3~a7j=0!Q`+hDm;aV`jhUlYr!rC7YZTSQ z`CkObZm+e!*C3*88(c3PX1wNr&6e@Mu2UJLq2qGGyJm+=g``tP;c~kN#NIXJWs%>} zxYBxi%TEsdfj}BAd66svKM;Dx5Wv}Eb%g)u5gzN)4^11}8wx*2>QoqTYMY^PM{* zc`vurba?tt#}tJ?*;NlvgJB%YEe*k>vart~9s)fj5-c7UJh zG!^kh@7@Q*v>&F)AV!-c-OG?<3@$_nicyLL!V`i57zv>3a}X3r`yU$_+i|de__OiP z-hVd!+52A(0saucD8I$ZX_!4|>#zFEc_Vd~Al^wFH*O0Su#vl z-+3W%e)MydMQ@+Jd$g{gf=~-7EnlIlKBF1SBr3^WanCO0I%v@zFv}7RV_u%>alk~QWAAb?k zdZfv*8M~^bXOdNJj7*JntRR`QHlobgtMh-|ncD5wqucU4t$xTbLvJx8l3s0u0$?GBACUQC~c^3NaRyxU;y(1N`;{;*P}(l?;7IohzA`M}Gj zm#)6lU&S?Cw1Mz$^osFj>0rt6uH9Vo-LyN$tAS&FyJ??YA~zI8iuff?o`B@&)Z68Q-DBhoI=wivd52GWE*DN;>AZONczsAwMAh`X#LfSK94>Z#< zmm{)(^Ds|^p1d1{)prDYZkQtf*2+!d z?q>P2R(Xrl56H;-eV%*tk&TV&-cM0O-lqKT*3wF>-)pQacn{gY3gF$yo?CgiDe0PS z8)mQQkqe@EsRO<@J)IClf@c~OBLc10o(+&PG)tQwV(?XC;fZ1t@#oJgH|SzqFj}}b3uVUdpBeQW%^2{DIjEkQFBPIXktLh+D`%A& zUMd%9s9Nus5CaK0y{Z--NdmvwhhqCd3>jB#6p-TE@BAc0Wy#G^ITR9T&U>;#5;ULu zV&mC;%#!msF=zMNReNcKs8ifh{2m;;p1FWJ3U#w=9l{)IqOa6%#!Fay%fzX7%c^== zcfq?_X`tM`e`Myk&pDMiB_I1kaqq(>!MhuK-_8B=jZfuO1Xvj-0~=+uMy0}*Deo*V z)mxiFRT4gGrC%@szLHQzB@Jax<&|? zT0tseZTPe9y{Gl25mk1!hO*+bC@+jiPX4*)6LS20wQeL0_wHir`N=ge^ZbGg+3_>@ zq*s^w6MsF`qAS++>h|Y7IGS^|JhDv<3diobK0k)8(fTH``tZo$zRIGYp~?+wCzRD= zNfUL?pfc)3em;7|ci%f|$1XK*ieX{3TB0$BKN8Qgbs=QvSp$pgU5jsHr1+bAxD8LK zb$hdgx9t^Bq;cnJE8NRp&M`F0<%)W)PeRQV&R&*25?tT8sa$&|V48P_O_){c0h#*T z9Wv#T#E>pgPVuLMOmrUbSieIma|;+W{ns4bc|hhutyeIe|_y==fIMbAxu z$Im4rgfT8g6=_bV^o?rOB%(i+>tH@K|18Of^6bv1b4p1#w{K!hWI5BYrtBU_zC8G4 zo0P+S)V1?)n^XC@k^kZgXW4sZl7Ts1TAL$5E6qYa6=imzYm4#1Ooi?l){*H=86r1s zax8~cmeyx%p^^OKDw|>#6p_kys5rWFcSDZlicJMQ%?sQIPh(HLalbui|2`X#DMw75 z{ljTvu)T#ajnhvd+QWP1LX9fmZkPD(swF1fFDj&Iy+b$ zo*>Kp$Vdq@9@mVlJtdnzSyMXgs45=T9~n0^KyHqPu2!9euMVHkeBaw@LDFojo%VfQ z$;-WfNMPx$8+qHC zbg&v7p*pW{q?Iptno!rAND@cAQ#=ZLtu(HQAvwY zPRupPWr`w98%rreFM0*lK6ZB6<==Ws*7@;>ph>Jzli}!^#2ON&=RGQB8S#8_x2K#dIB0ym7HOdtp+xvUXDu{KvJ?pB#4T8+lz?E^gvyrO!r@D)fV7`)Yg_ z3jte1I}T(?A3w#uT|5`x-F!;N=Bq+;-uSqW|Iv?5_OqF!W-qtn>Xk&dG_Tb)9G>XL z{IZLeMaHV@V@<{*f+YRbW4OJ&wd&pih@5=C=BKaWvBmq_JLqL&bXs0Hd{Pr0w6BzV zaOw+7uQz{-hT}D*6g!gAs&A;+4^^Yv``atO)2k%-=fRCV6)KI`_%`$&ExPNGIhQqO zIJtQm#*gnJc$V+Rf8QHlS|Fj}RO=;ma+w*kJoX!}JEA?B^A+0mz=Q+8tbvNRhT4oP%NFXD#_qt{&x^{4VZXH{TMY;OTewOeiE&1bqIocg`5#W&_|H_mUuE45WLh1JMlBCF- z*^|J@m(@3BpzEq12@u7+ON{X67Wt6mmlt-t9WSqNcLx!HYg+q>7w|WS)uyAsI@z3A z@f&vtk|tY_nzM9}>isGXT~B5ty{&@lm-9A(2nyEBtfO|I9-<)#xUMsAOE-5-5D&bY z!&xX23Ny!pf(1GX0oHp*3te{u@bUlI731mgTK#o38hmib&a#IkE`()C z)_OakZ~d}kdJ2llgW)`LPvdB#@RXaqDL46`Kv7y5gE-oz8{F@ZBfC-J@6v=M^TO(R z)Y7fsBoezxQKjQN3Kjl$^`b7zm@F?`B&3h|N?%Z4sJ-8fY_JdTdiI3xyvC(+Wk*(K zURal7@l1qz@?y2j&{T5+b)xC(&{Br*-|;71{nD+TJ&riV+^g7MnQ`}r@H}xz%dB-iZ2oS|JW;6PMLws~ z-|oI=)y2Iu3tYNp#tC-Xce?3vc>MITG~UQl?5A0PkF7YF3d-(9tM4zyzpJm$FBu?< z%kj4t0o4IxEb*R0#h|tp*lj(WwXTJ3v9*4SDCZ?KMaf#=6oZqB6dEl=5guhS2SHV)54IsuBN7?O5VM?Gmu@u zw;4Ouh7M0CS#n^0HeN+!Ty1PjGol!a+dw0OyQ;IyKW{!)S`wd|q6IbyE@cbm$GQ1y zaqX|Xj0ky~K8hHa4y97x|4N297ZMSAJ&OD!2lI$-+e`Mrlw`^@7Sxt{fgb&Sz}Dv< zdGSPEXU+D0)50%HI%98D&`&GQdE%1rMf0ieZAf{U`3=+OO>nVcYm1{ zfPT)1_9z=T64;*}oRgzqu#8CFj&i~2zrwy#HS8=y6b`o|)eU3VyJ8p0{Mx-S9{Yg6 zr(IW*u&q+uE+5@IcIdl3a}}=9INQl{^U%^#CIX$-E7Ld&%PHSpH9p%{baT3tR(Kl& zOW^sdw@_gmJVZ^0(xrLN(i~o&ux4D{3BvQ#pY~aiyj#-V^c|Py=8Q)EvwoM1Epd<6 z>F`aG-h;Jhro_qylMCMWlk_zNyflykjBPkRl_VvIrvOQjjj#v-oXV=er47>zt0f) zY_akEsz*M~^*LDK`HLeIyVv@0Bo5u!GE)7@^hXzHDQw*L@Wt86kpYxg^QeVxf1LN3 z`7Pus9`?AF;xbpRqWq8r>GIK?^}qgdG)8e;J_>onMFFL~F1!dZQDG#l8oMoB0p(5* zMf{>WY7&`qXtDmDQXDanVpZ-DN+}>v(JI0N5eoA2k8sudAGE(%pJ2u`t@O=QO05%5 zQzeR|SIA!v&JPtmCECn^Kky9}xZ2Hj&SDC(xY9cwSY0jHYB(DW@pfUAo7mN|#w z?r>E3oyq0qvT}f7K<%yf_i@iH)$ouzHTi36N=ax@#O`DGh_Vm20x4&X#YHq#)2!xKCTb|=Yt^QrGTgt)O zSpM9nq|T(o;)uPQvTkpOKNMERi}Go_c{AbC!@nGtlVX3XOw9WLyYpZf^*~9d-=HDf zda*YeyO%~@@2L63vI-`i&R`X$6Cx)mO~=P`=Yw_aJd=I=^Ck@y-PZ1pmd7-^Mu&6GjZBbKl;nJO*9bT_1%)YcuvM9%>cd0#gr{(d z0vG+)d6Q?^nQa^1`rM$V_D0c08ggDl_MjY@|9T^PXS~53p>{`*at3Me-mXeJq4{$~ zD*+K7I$C47=F)t3+C0V`yb=d_y2Sw-JJ+$_K{891)-z=wv`J$2% z14Q~oCb%=U3dNkxE{=#5gudp71a94eLEFpJ;-~mxyKCWXp?CpXqZ^BQI8Z8id!2Sc zI}T$v+1$TDSI?`Sb1&9$BndAk7cVfTlR?+VS@LfaKT!t`OlTNoW48cd3j7 z0sY!@0GY+j9b8|4uE$x4hKUk$w_6*Q_(FuTF$A&sQkU!G>AmKm>o#ExQ&Pl?SB?W1 z6N|O!NtvHRjG2KyXJfmxXof|lolNqJYZ9izp#H(@iSni6a<1a;RgIwy3nt0p36chiJ!)P{5AOA%yUl7)|OaA5-0Ntz_8WT{7mbAKi7XHWmu|L zXULiaqfAmx{hJJ$q=!$!h68JAMy0(|4!IRrD|O8(by<@%F|TF}FFOqEv}f06)H994 zd|4W+m5n}3a8a#OLKYNzV*fAn$W-~1)acZ!iqMi0ck)%mk1e?<$mQ7|5dOlWP%yle zy)p?RfOsl9I4gTN;S*em#R65kB>VX>BUa2UIGKh0{3)i@|VNpxqDmCST)w3C$f z5IDb1JuQX7y}$hx)7{GQo>Tj($OD{AI;V#$Qg-EfR~#Wiw(cOb)-9J9eayNo-0wTz2@GeCsO*bc*y7<{aF z8Ior2Hz0l#xg3cr8CJYgL*f)db4fCcV+V2`p>27136f5k(*#u`O9By!{JS>$Z>%Vw zx3!bqLLbz+m&-ZsyYO(!(KBR8hfZ&!fi^9~jz#TcH_9CcDkj!T2q7jJ>)fPG-^P*y11%St+a`ZnKn(fv-OkJPAg($toW=0VjPu8ub4x~>Yk9SSmX ztjd|1PO&LC)lCX}R;V*_?1pA%*CO>eL@uJV14(|>uTPtZ(I;?nIt+7ldj>W!??P`iEqWv3dIqN520P&l z>5jfIn$1o0gXv;c2k)rQHcO}*`?^YpCzkxJc=F2>Ov_|fw zJ#vhL-H<%I>{(E}?EvdsKPX*6HKm}d#`O}T=*4;yh%#sKJ*_oo>8jcLz;w&Okumh4 z;X>cd8;Q>(zDOl86o7Mfmd7A+5P!ZMJ!Mk}B@b_8YwHzLW75p!slVO;&2npKb2xgF zx~!stD6OzGVa!C`z@VhwwX(}Z*j<_{u?vPlU8st<`+fr_dxc+T&+oVPQ)hhl$cVVF zQ9P%wd~vr)*lmr&&}$jV=evRjGe(rlMEt!xm>Yh4&{WbfAx0nlE?jZ1!Q9w{<8r@a z(CIc>)Z`R3J6L8p9asn35l#2%6M8YDBC?k<<5aizHB_J9|J+_n%k>@XrsNOe9k!D@ zZJT-8KJ*&oePg3;8{@F}vXarQ?oIXw+fHNahNk7udqXgFyCsdyUQGh_ei<-w$seRU z7ZXS2V3KB5NcO#G)b{1JufFgXk+6d!^|f4|av1Akk7Cw^>)?o2SEhVYvzb!H(#6~4v_f}*i`=h!2_M1ah#EVk0tlrd3n!2k zR#>$1fj88!?;V)&LW_e4x^6NsD3T^1Iv83ePUrMvLdner2_Pl-Myx!5LT?EX`yrdTOYukHU zzuLQ9F=i8&!*9J4|Bxq9kRbE6yfc6zTDrP*tW&Pu@0rrm(h75VN;G%+m6Vf&_0`ne zxC|S=@U#fpdi|(v(vfa_5Z6vK910=mgKg&j-vO5_K{Gt~#EVi7qZ_3>3T! z@P~Sr(Q&rd!P>wQNiUNOeqqiW0~VDksJ~EqTVr!i9Uv0ZoP0Jheg!Qpt??MdSgmi* zxX-Jf>U!hX0cry5Qr|C{f!8Evn-&%H8QgM}#kLdbIzT0g^Yau-Ln;zTaAp_F=(3~g z$5~lx#3V875(b~b2vc6pX3aaa6jxL{1$Zg4SA<(YPRz?k`414mLaeqZx=#gc4J^w# zq+*|1TEy9>v@->@d1iZnyN9>ZYU*EN9UmboX!04LIe?ZT(`zy-R?xx*evhA-CxLTy zZV3r`8`wk)=-mUS<1=B=;BhkEi%Xydtc0EK6!m-HQJo7*iI^w@z2V^lh>+}0n`F_#7o_4M zA{so1y{c_@Fs+~n8M_}?<)(=tEb8Lk<8$1ZpJ?OTB#gV~e(^+O<6O;fiOO#1gC&M0 zIyR?agSM>vm3%>7o}9iooA%%sy$5Ljbk74>EaZO*PotrzG*fOCn6pm+B=kX3W1}>} zYv~F&MTBE11+*mj2uTFFNdLFl6eUgX`P>`2F8%ty$zF|@C+!5S=^$w~FjF_)z6*d{ z6@{lhcmnIhf`y>q9BLq?1zp|Iqq1fIBHJ7g*;J)AVndCDAUv8GJ9kywCxJj3m@kU| z@tu$oA}nA$@R)NN!RL>Tp&eT;f|)+L4OQ{A%*Phj2rM0al!4#p{zeOpGYQJLl~P3i z;L;(srG#o7jJ$dmOf3!`gzV+$(tB#^>whOvg)9Om*0pVIm7j?G1#{|o1^}O3qJmkm ztQq;;=XenO2bViXb*BFMOc#o^Suw7|CSlAbL4kGT?4yScjzN{^PQgaLU6`9S!xekm z_f+$4U9t_AA-&7Kr2iX{?|(9m7YA4unHRs^fP~+NFMPYf>R2cUrM{@s0nlB<=Z*=m=S`yY!gp!fIk_KFTE2vcA`) zOwnQ`KeLA(`5Pr;@BQ{87Uu^YEa4;Ho+#?XSm2~h^%e;v$@c9Z_$>630FoxhcG#C_z5#Wd zfEXe^9o%QHyk?>6GewQCpw#IQ@a~=H7XyBR?FcBKpH+xL2vUv3g}#yen~DA}f;5mv zGo8yTh{m=5Yp6FBl9w)Y2ujA#x?Vk1K&bN__LR-5aILZHQJP77s1#UZPejs{eyHd z@Aehv*pYYdm~Gxb!a6Y*ru*T?y(5L#SF-2k)QejSP`_o+X)Be}$mXhVB*LEl+z>Eu z3hfv4R5Z*fJ!YrAV15Q44!j{CwnJsyuBB%cCrTfU-donV`y_6(49%8b$+?CKC;=!a z-Zh)0W8P_XuH&h1u)iDJ)@Lx@UV3rQ zQcDKE28Fupm}rF>O*7loDd-q%@3$f7layBgN=r0e=>Plzc~7`L|NI;yU89~!?$}_+ zReuqWd+d5T`p!NKF!JM}3?wz2%cx?q;9I^*+I33X1Vx@Ry~+(_u3}D`uYXQn+F2V8 zq`cfOCGNU{hq#_`vUO>Ftg^56>}PoypJ%5p@wY~15!d4g0D|&VBqm;+V&-2571^0I zdYG65+jZ2d`JNcH0l=d0Vt^SF;;}utPMz-Q8#Do?L=_%xUv^G6uin!!naF4Gi3Y2K zKL4z>*zc!qA#JU#?01gz{~*I@syRiV4~@>Ov!m+I0;ME&yxrTU!$`a6(&ID%inyBL z^9&a;V2n#ZazAgvhBD;&rAK8XXl8_J7?O0)K^yFH_gSh*F`k3tWl!^$aCa@t#?)!v z$Y{OG-jbs>3AQZS|7X-zA_^%JHM}>gn@X4SC#7;MA4q<1_U!Dibeo-{xE~Z)k}_*+ zYip6dV1rVg^W9;9&b>CzNUNQZcLCtzPG|J@-t`93gK;GKyH+B%VXsI@|Lk@_ZS7-( z_knDUIz*)tqliVO4F%|%iCwv*;*&*3yZ*&RMH)7_P%j53$pGRx?Zpbm$nY?Gr=1S6 z)X=nA&qN@lF9fa+ZctNU`C@q)-ITeQ?hhu-3$t9DG$qE+rIcgRCnN;}HkGo$HeZK^ z;`nTS?!Sv_uF}%(j%EI_cQCP8RNx_^eqSC@x!@-Ygg6==}As5XE zW_xBpV3R%jOx7ol9D|DXdK>&km%np-GaHhSKxcmqLKNN_x?AxTn%0hW#|MJ%O|ln5 znnU+13Xg<6m~ zGQtmF)?6S{v-9GQr}W8%09KCI?Y`=1G_T+t)L$1 zC%E9)Jkhj^u3DzML)tUU!{BA0V>E^?2tYq?Qi_XM^xJGA-3K(`!$TgOAJP7~0O1bz zz#{~uMIV$$=P9Mxa^_<^v3IgHEx43ODpm^4iq#Me9c5oujt+%)owF$A;qh{28=C0JF0+ch*L7>tZaw3gc1hqD8g>NDNp+gJedZwKc3P|5R9`=!#%W(-#2U(sve#2matTjx z9aHolP9-p3DJl*TSpD9=%(;8gU(A4_ppcK~M_1$)bOiW;YsX^ofsh^TeF!v>Z4`jq z7Rxi2{otOV43xH0+znG3NQQLLWj6rm*|||akl-# zZ!EKE+LsG(f=HB;FE|IE$ChB^kKT{sYKg`h76TOv^Ar|CdF~(hOg=l_bbQtI5$MJ< zv$I%MNH&a>ggKGzWP-Ou<)FgpIw;GY9OKS%~oDWB>18R)vf!8=zYPrTg|o+Y^<+%`_1|HHsW z)|DprxASpeJm_<`S6z>M4vGDk6@i4-VP6+=?be)NG|=|_y0q(IUp$oOLpdT`EB_In zGpuM|d@}5-z65Pixnad(yl4>1{I7@uW4nGkGpRM{Z}#!;AQT=jv2F&#{jDCq)|mrz zCb;Id{VK@+z(em71jK00{lhLFF`mIE%ea_rQ?|kWO2+QhSk;A_)7@U_V+hjlDVgm^6z11_@ zwev-vdM-g!y^4Kfjn{g_+hWrBx|pM_tgV0I5JAd7zb=Bou2>R$AE&;$;xy8^&f8&A z-EK337Y_Y8sGYaVrL3y1rW~JWaaZ6?>fuf4;qAz&XCU8X4+u|?ryn^RCLXX`XP$=H z?qp5c)mgwH$>Pk--|^J{LlX5r!>s?F82KeSKIb!M@cfdbxzm8b^KUHN`}mp8J6w7_ zl$9n|zAHBAa%v~_;5~vol9bJoYynWR15NTN&AmY4O^G%Q6A7gJrgV(6c!YA0(z*Qx z(uB9`Wo4&H)&()N*rzxI?p+x#)P$QA$iI3&-(G>%V^Wx|IE9Zq1{7yf!#h~Na0wD{d& zhq0`B?9g@f*9%r(ES2nOA!&nnxNFSA$?M=V7)|yh~1_BH&z|^Ri`ORviqGG}#!xN_L%w-|MTY4Pp-SbY%d&?`V_7WO~ zJx?!zI0wsA)*5e0U)r<{x|xR`NHisXK~(lJBDC8esjCfa%?B`e-zGt-sqhl#d!U7e z{tg28i2(yDW@PbpF?jxe65$vaNNoU55m>1pKyZ(XzpyphUASvb)Z@vsMJAX&Mmv<$ z4XU-kD!j->`3+LG#?`(bKuT4A&*!C?0LH%GX#?}(g9FNcCobP4+K1HN@6BATBWAZ& z&};C^uAxL~jr0bEp4vI5+Lk}^y3;=WM3qP0C+H~(96VexV{iu8h<0afBp7@X)2RYL zZSE*=Cjxy+du4Vi!*ae8Sv?>0vPKo6GFg#e93yYXwXF$@;d%@_A_PP#;L_x~Usc5f zT*FnHd2eY!5*p+N$0<<#1_?KIg?x`A&g)r?RX7jD^zZe*9UiW-$u9<%&$co%GrK5`My^a?cxyBvWh>0P)5C3Y@ewQc9&eMHJms{^8CWhD)CaPd z-k`{M;($0CyeqEbope+gN}Xm0cOO~HxOhCq9D1~VEiyb@>*)@>${w9)1A~OkVgxDL zv*~o@TsK5!S{l9&ZJsyXh@i`uE&}+BQv4_t-!B`1PeS{*5`2vF#l<+}lEvu10#_W~ zk1LIg617~z>;m^38^oYa(aZ=w?;scuRt#{q8;ckXJkxiZ~ze)(EBp8o3lSA-1Db< z4I8R=;z!2IXJ4f~QoEPfHBXMRqm%HHX7H)is$}?BmVtUGZ#o}3CXM5A`fgItzg0nVARTj0K=Cw3{pRfR^2pK=A7&(GEFr;7{-S{f+Ww zUCW#r+oS3V=TxyV!@pjVPxB35hq#j&G5biw!s?EA6g~lNq#GV(KhO=`{EzGG>Zhqu zmLS}q&vx%jLX1}exye^WA}?LZBQOm^kv{5*zzvd%?!4U&;tIAs7``f0(PTk?AN`c& zBplVs3VgrK%&(}Qn^6DQysbyWSt!FLC{PBQ)uX4)-<>>a^{)Qr3HM!GJ~4nC%9pNF z8Dry6uR_fLG1qJKc#}#%dU=GD0l42z}=-p`a{|MYfSK*c*bZ}v72743p4VvP_d(5v2uo(q_ zqB@gAx(a44&QV_Rb{wi;$U8f0+VAWwrIAjGP0zw&qXfih#5?g$q`tqmGS+GbaR*0# zwC9m{oA(5;>X9NT7g>O{QDe4!8#j0P=c|#UY~td*o1WAs0)xY=7B+R~Cy4XPucFC% zrN_HQ^&U7hG=xr7Q2@5Vyj-ivM4P1qz%;|oIhhCMkb8hqg87OX_AyOFLK`UhSZ)L; zf%Sse`}o-Om!dU5&-dFI62dCgaXIbWvB|uyHF2S4MSumC*0CCbOO*5X+eDqUodRCY z)NpnK@mWb}?Ukq>2t@ENmrnGZ)Qg|FL}Qa9-$T*;7E8uUu6#8Hv9V-5Mx_ewQ+D0n zfTSI-Wt{x{DH)T!FA7jHh*f-2PC*TnElLys&E0yZdAU#l%i{pcvQW}*IOhUb|3iX6 z%f}j1#aKX!SQG#gNcLD%n%x{+7oi|~p#da7z?-lvq>M0Oz?$KQuE8(sUcStVL?X627Jv5lFZVOs6JQw+pjcR!1aR8^ zr6rO-`3Mh%!Ra05qS8_|0~@8GU2&1*mM-t@1>oaq=^&RJj$-8)sA#CT8m3AC)ISt! z2ISWFWUu*`HM_@&A(k5+S6e2Z2nXtx0ts>u)JY+*9YFp8%b>Tsxq*vOd=KDgRMSbM zRfRZ6VZ43o`yn=chDvFKpC9-b114d{&dT+Go5H?j-RJ@MU!vBw%CTX}PRC}lZgF)Y zAO0X>&*6xSPQ=duAauI^XFsul6sN(zBk3MWgM)B+(V^^#UvnqA=kyJ>Ud4(NgwFkX zQma_|Dc#enc^eKlRaG1CxT6Qi!WQg3S zgiy6-{^&DFP|Nq}B><`L0wVyIVMYJP8uPwpvuIl$(1gj=M_6AAI3S-}@{B?gH`lpz zO9`_5tdz=%gmZt;`-fQ3racRls33=(a7`1yBS*hY%0}Q42!}~Vt>sh?DgYPCV(lZD zu-D!rCX!$wJ&rWCTHn6i+tnqumojIw0NtP?gaIog7y!hj60BQMO#m_7v?xsu@{j}I z^L;8%rVHBjzpT4ej^Z!|U+Nk8!r=sHiL`z!z@Lh76Ec7cJSp1#9cn0ZEkD3vyeUQh zI31s2j^1-A9#`@+(}o)Xe*nu8ZlFP_o~LNU-#7sQL@%S|LHt>Dm#`x?t#n*3g!z)B zqKpB3ot1S^dbE(s)!EzKzhf3Ai+bB0lTIW3W;g*?7jqYFj6%#9UOiDs2H|UvJz0Y; z2e8&o*^P{j23G|Quu~;C)LG5DC7IL!Y0)uI7IN^Obb_m2tsf}`bIwcyOVYn&xZNqf z$O5La;OS$i5t?*>(JPEziTssLe0EswvDRfqLeSg6QaEWuG3z%103ATaalvJ(d5l2 z4E=NZf3!}N&Ink%FL`G6P?A-=VH?v{h2J-q5&qe~e=ssM7-F$kz^S0FHG$>0+sGe4?MaHM`jXRMNeZ2ySdWjZ2|pxv^rq?Pb%oI>aP z3DO+zRf@Iw8`D23SdnWBm;Wb3GXmc+ExBS7<*a%pScH~LfjAMQs-eZ zH_rdrd7*pQol#YpT=+*$Eb zK+4Id^BtTVJpx<|aK{6mW}T~4-NY&PB^+m1^zQ_05%0|YP_bwQoY3U$1zFm%rGni2 zI?V#=>6Csh6@@(#_&t8GkHNu@e7AEo;`X91CZ;~2uYpKsz5C{ZAgpFIH(NfsGWQZ; zG-H{uTAA}Gv6Mjt%hnOCux6=R_Fb1SB$zR?yf@QI+`%MKY;+c0RP^lV&0(tXsS+;! z9>%-7{FU)C!^O{@1R}=Mz|)u5aMJ&E3g;bee_c?cA4eYZ(qL|vXDEf2C_M#L;*xt` zbGtUtuSVhFH+OE3p9K4)11AHUmj;Utw0=gMJJcB*pCsJw@jX;P99)H5+5srubVM_d z?Hu)a&z+N0R=EF()tsVdR4og1!;&Zl_F2v3u@!K98Z>p{U zvCdfxy;%M4TyfCrK(UUI;X?8V_C}A@12=n^CdfN=>S$Zfa}KGbZ-4tHtml8~i#==fOOQ5x3@st5J! zZ$|WPxL~fwsvB5KlCX`bDqIYq<<XpS5JHH`6p-MJ zo-2Q6Q_SvSEJFPiLx||Uw6^$^H)Ss1ivz92{cmQ3d+2t<=Dy@|B5vkw`*@;p^Sh?w zF)@8;xUo3MjyKMNNL~!VkraA>wF3-LYi5z^mLzE0KuRv%uhl#_1|P6|v2Z&mFx8xN zC)UJZr^h|`>Dg}H@Mic4{q;GQgrjPGC^MUA0yhv0Jq4hVu)~}j|AxqTju4dzSTTV$ zL*+8T&Q${KGG{oM%&YfBM8Lgb+s6@S{y5RQA?BFEOV6s}fw7yzrP`0KVWXXIzSV8a zbY3BL3!&e#%pXRyOf0GCK2@a2sw3rDbKvj=YAP1H09>fr+c+7pxC<<%xEz2OiI#VO zGMrofsxR%WQ(w9-lYdlA3@CQ_MF~cLIRUDX12Jd6&95LS1$$E$ewqhw0U+-tIXPXz zDn6ag&kXC_a`vgii_vv1VVarxeVQO~@0Zpcv~Eq!hu;c89*6(r0oHsHv#visJr)M? zwP!J2tzassXsoXSG~QSivE4l%Y(z(ZyZ$S$iwnS%6^hgkR~7Ih(LYz~>Z<&Nb-AN|gWNb2LCHph#L-dHJHWU?M#`i-?)O*z&H z(bl#cn3)HLaTBmM1Z(@SF!^^Ny!XYq+O&Y7yKRV#fQEMiCj^nZW4{+51!SX{vG^97 zQBh8JX#gkNKO{#WfkxMlH9(5nCbYMn>Hm(Ahfwd9psluw3La&Fh!0Tmwy)aTixiym z-lU8_?9q?=!z&{Ndiaq!#r1h|*j4u+8Kni_@Pg*0?*${6GnV^A_c7h;-_>H=kXxXtuBb>Me#%c z?o$O?5~1A#Bz=WAkkL7?PGtGR;Q%8QtoPB#n=0$T;f$mz@AKOcX_^V}9uyA~an)A8QUp0}kBBfP?cEYi_geaCSlrP|;>tSC|2wWS_vU3kU@i0(h!4A~m7cZsmYI1Qsx-S@Z1ojzZCb$$-hYxe%AMFl`Kj60OEHd;%jg+Di5|x^J6L?+wRf28Cw3uq=5-#_ zw%7dvxeA&aOe)zcE7Ww{5`#0I5`f@>BwyKHrHnv!)|%eIAOl#I{U0d$ZhSXsb&nwxnaj4V3I}ANt9}pm6BNG zC=86Q*H4F755rY9@n87;r^z?;%Mt7j28joHtot&P@Qh8{yGJ2eWgkCUARLIz9?exG zo)-v__6}=-K-R(P^X<-6YLSD4%mi$M?Sr0>yV`crgO^!-L+&3UZ&sz%h_#FB>*YW} zwrw__t^Qy*F@4V!(^|#K1;L^pfC&qMtQ|0-lS^WJn@$IZ{Q45plUY)@vIgEw zPNXn^^#rrnVGZkhu@)nbN9@7s4`7d-E(l_Mv?FX$0v~P5I}$8<@Dn>sXz$|a2bIKT z+5Y$J^RR`+C}7d!@ccH+_JFOWsioB_K^UwVD$cm{(y2Mfy-|eOf4`qRZVu_TMK>@_ zcl0Z5fv$Q+qz@<=8k!%b>~Ds-*SoVsU^x6Wx@JV2vd;;_kGuMR7Eqw==}>AM&0QM) zc=B3W@dq1I_7PiKhNEqAu*0a#?V7hnUPsmV=ttDW=e|gJA0LD4GFUlM?cyMTGZ7A( zN%Q-pCa^SlNr*9wQU19Pp|&P1)2U?4ke<{dY#o7{Qe8esE4h|=Wo_+o=+%wmY-?)k z6zEatD2VSdR%t_-y8D?y~V73@e~kU&g@Z9(lrfSZrDjuQl^;(1>8q}Gh_p8KRj0(}jsouC_r z;xb7IodC7mz8`oQy2KtPMi0y(sUBt)dAE8i>swKT5Erqd=Ufqt*h_q&pDQ997;kRv zJuzw4t+S3@S~4k@A@0<~^h(cL$-WUxVwPBIYjpH8?oBB9ms^9DzCQUNiCi(Tr9e7x z!ZdEoDt4^p3MI~$b;qu$r(8?g4bn02x0`V$yeXyvDW-7>t`e*$Er^OMTD0h-kS1$t zT>cxpBNruV2REn!lf70y=J)rx{E4Ie%Sv6a+WFrzYX4#qIndiWi92y~;$%Lov*6}@ zaU;P`y| zW9EHQKONJ4u&Sc}84w7*PnyKF-Z1z`KrzRf^t1d5^i_KpHET1@+}@*obrXVuZ+HLh zveY17h!K1%0uUTdpOAxwScvwa&mUO;ooq+TA}d zp2HZKK>98v^#=ebA7UR=>Gr`v$RM)8b@1|LB0vxflLAlAno&B522O7|6YBephQOKv z5I@_?MC?M*`5T}jVt z(SL0}n`xC+x_&*u3}#gx{P>G|tb)@6{D$1AYxaudv7KA5=ht61ZfFhHQyJW2WPfVr zTFG%OutK|p_inz+_24=Fhu!`6F{Ej;v}X7*Z1~5%=gF1E=4F-0qjdD?f&C`k{dFl( zUct$%F#Q{St>FvVO-;Do&O|*sQ&Y0v2lMMlLthNFB~GueE8sr9&NA21l!e4d!?d%T zvdK%ixvvv?aEAXJ7{F1Bjh=1kc&N%&s%!h>@B5hzAS`bb)ap~6H}SH*tPIZ@St>y8 z*wjqL1%p}GZ{k6ZM503*o;=2t0|yNzgK39Wnj@s2p`_a9iCE9(tNWP6{m5wP=sxnr zwi6GX=2ry&uK*{oLSzx|Hwmlcrg6^{g^Z!&jFJsPhyqx^7LSdy-KCR&F0p7>POhDnFtRH zW}QgV)O-_}neXAhUsaivm(^UPw}l``$Ojhj6j??LfV#{Hv6!vs%ueI zUE6P&&dyFVw~1cgJM4X#Jv#($ZZ6FAFTebPQ>Q++DB=V`*fus3N1h^0_|R+@*W2tuKdxz=iRXllNBPxlI#HWl{vcfaEu9i2FT z{sO%b1VI-0&(b!QpVA zR(Ipu@4iP~-obw3+6jUniyY!RKJn7Bib08ZUsfl-!qgj$miY^7R$T%$pxkc^f<^p?ry8+wga5xAKo`KX?Utpz+L~h{o1+28Ge!g&a9^Y?2pNU_L zsHn&2tsw{!auRbRp&@}N$lHy$*hp45p}}B4Rn-NgZP{gJjRSyA*MrV3736XSzPl{P zcbDam%N6MAQo~>{n2CAdi~uZO9yefr^m;uS8ZM)}yb=u!m!a3|S@{ztIALA{2{}R7 z8e=AoJTxQ_vYLyGnCIv2wrQXF@@26|NlAd4s|zc=r>6(y$3Ml+T_0E!aRA6K_z3w0 z9}T))fq;jHrayq9BJ2IpYIQhp@G##0;Gay|OD`rNVdYZhBg5fv;OFNHiNvSh1xf@# zkdO}=nd}lH)EQehKvq-7p$4;@@s+QFvE_NPkI{-&V2Y7jU zkdPAu3HdMyc}*P?ts)kCAyyn|v7D>x1e@vevZXP2cEu8wh#CwA)YjJHojrM|uW$I( z_qcVd4SKzvCFG_wHa0_}(VG1e=qt{>dV|$v{{%tU4mRT>&(0}?QrU#k(o=)3V|1eo zHPYqxMk4XS@@26YKi-K+)9ZV2{KOf&v~JU|i1_UfmkaFd?D~j%JM&wixQ52Y8?1a6 zmkF5ra2P9%&*#CO%l_66C1#xeZjftwInassMXo?`AHRF$r(Yr} z@(K9)O$Km#A~P&37$ryc;pbcJaC3ErNaV)ajj^Mn3!k3(lHMAEAR!-Ez}J{8*N=^f zM2a*4C1n+(VpFXCu(XG`Y3#UVA-A`>>!6*T9lSg};N|IIwSH6cO=M^9Gqd;=ifbq; zF2&lHk{DMHhr@xpyU1cc_4;0X@x|9TT5^)!8iKGfY{o|}l_uc$u|q5oHx>9bck)9+ z0!OJe{s4G9-tTrlgTa6wf4pvWH$wm@K3s-^e|?OOj;?;&>h9K}sJIlbr){STXr;0Vdvgk*RNg>HXdol*#NPPFf1J?-2WbCJmk+@XIq%`6pOu(B28dTTxJhqa@2IPGblKMMw=iAo2REo zch7Z3)U^^D6Um6UPNzfSU)EU^XJcf_kt26ctw~CJnns);2x6p#{Lx3lncof$4tVR$ zjgVULk>}@SVbP)|S>;EoznmZlVmKL5AGunsF%#@H(geiCM53gu0%c_tW>G8vU;w}Y zAQs;Tknfft2(rj+gS0I>nbn!5Q7Wb)E~~kS-S6apL*qse1YvtZURqXx)yc0QyB{C< z>gU&^t*wJbjUWiZ7KPj>*f}|cn7?2JllHw_f%ywojG5J)1VIpEO31I9Y;@H(j@*d+ z%2ie!?>k4r-7a^7Mvx!~67rF}d5!GuL}kX-4a~Wn)(8y=H1nAg1VNCHk08p%8>|V= z{M_CBh9BnVWie^lqkP{Lf*^?DV#HT=T3e!Tw9cY`QuiTDa*}-zD4Ca94(y|JhJF}A@2x80$xzUO?UjW2`QhCGb zMp?&?9U4&lS0}$RDozk02!a^(LT)PPDap^lf7(>k)z#yzZF{Vi4GjrIZ0tO9R{`bwBP68f*>LP zZH0WS^2y->w6wG$Ib{O?Ab0N$1O)gGNz7kZ^Bk5hi^a~YY>RcHqa%>IehrF>OYvd$ zetP%>F@}YF96h#?BfsEd+-hrsJj0L^%wRI2*`2c|C z<`%rZc{{4AYmuI|9&_f*g080rJ`=s6P+WsV;sXG9>y6itlo*f9?eF8wH~x-u=c>_s zvjvH(o(7l8Me_42u`upQyuNumRwu>7-Ce}ER?^efW8uQPJ4(vs3MS8J(Oz)~T+BS^bUl#CE@4(kAWok?i=f~LY}%X&p-_nVPd>qv z_4IUythx?C!4ZgCvQ%mhIe`5%O^uwc|(s5G-;O@+3+yb?)?@vLZ^=H?b0KXGQ*`Y~h1G}PACGye0c z>ROyTSB*JyW+80WOaQlibw^81Fn#NrFBA&l;d%R@=AFAfpur`G5#s-Th_6YSVi_m^ O0000=8.6'} + mime@4.0.4: + resolution: {integrity: sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==} + engines: {node: '>=16'} + hasBin: true + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2743,6 +2751,8 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mime@4.0.4: {} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 diff --git a/src/components/containers/tab-view.tsx b/src/components/containers/tab-view.tsx index 91caff9..f1a95ca 100644 --- a/src/components/containers/tab-view.tsx +++ b/src/components/containers/tab-view.tsx @@ -8,7 +8,7 @@ export type Tab = { name: string; title?: string; icon?: LucideIcon; - Component?: () => JSX.Element; + Component?: () => JSX.Element | null; }; type Props = { @@ -36,13 +36,16 @@ const TabView = ({ <> {tabs.map(({ icon: Icon, ...tab }) => ( { setSearchParams((params) => { params.set(name, tab.name); diff --git a/src/components/ui/goto-top-btn.tsx b/src/components/ui/goto-top-btn.tsx new file mode 100644 index 0000000..bd58bdf --- /dev/null +++ b/src/components/ui/goto-top-btn.tsx @@ -0,0 +1,49 @@ +import { useEffect, useRef, useState } from "react"; +import Button from "./button"; +import { ArrowUp } from "lucide-react"; +import { cn } from "@/lib/utils"; + +const GotoTopButton = () => { + const mainElRef = useRef(null); + const [show, setShow] = useState(false); + + useEffect(() => { + const mainEl = document.querySelector("main"); + if (!mainEl) return; + + mainElRef.current = mainEl; + + const onScroll = () => { + if (mainEl.scrollTop > 300) { + setShow(true); + } else { + setShow(false); + } + }; + + mainEl.addEventListener("scroll", onScroll); + return () => mainEl.removeEventListener("scroll", onScroll); + }, []); + + const onClick = () => { + const mainEl = mainElRef.current; + if (!mainEl) return; + + mainEl.scrollTo({ top: 0, behavior: "smooth" }); + }; + + return ( + + ); +}; + +export default GotoTopButton; diff --git a/src/components/ui/toggle.tsx b/src/components/ui/toggle.tsx index 6a3d1a0..27025f6 100644 --- a/src/components/ui/toggle.tsx +++ b/src/components/ui/toggle.tsx @@ -46,6 +46,7 @@ export const ToggleField = ({ {...props} {...field} className={inputClassName} + color={field.value ? "primary" : undefined} checked={field.value || false} onChange={(e) => field.onChange(e.target.checked)} /> diff --git a/src/lib/disclosure.ts b/src/lib/disclosure.ts index 9e30b92..5bf90ce 100644 --- a/src/lib/disclosure.ts +++ b/src/lib/disclosure.ts @@ -1,3 +1,4 @@ +import { useEffect, useRef } from "react"; import { createStore, useStore } from "zustand"; export const createDisclosure = () => { @@ -6,9 +7,28 @@ export const createDisclosure = () => { isOpen: false, })); + const useDisclosure = () => { + const dialogRef = useRef(null); + const data = useStore(store); + + useEffect(() => { + const dlg = dialogRef.current; + if (!dlg || !data.isOpen) return; + + const onDialogClose = () => { + store.setState({ isOpen: false }); + }; + + dlg.addEventListener("close", onDialogClose); + return () => dlg.removeEventListener("close", onDialogClose); + }, [dialogRef, data.isOpen]); + + return { ...data, dialogRef } as const; + }; + return { store, - use: () => useStore(store), + use: useDisclosure, open: (data?: T | null) => store.setState({ isOpen: true, data }), close: () => store.setState({ isOpen: false }), }; diff --git a/src/pages/buckets/manage/browse/actions.tsx b/src/pages/buckets/manage/browse/actions.tsx new file mode 100644 index 0000000..dc9e623 --- /dev/null +++ b/src/pages/buckets/manage/browse/actions.tsx @@ -0,0 +1,143 @@ +import { + EllipsisVertical, + FilePlus, + FolderPlus, + UploadIcon, +} from "lucide-react"; +import Button from "@/components/ui/button"; +import { usePutObject } from "./hooks"; +import { toast } from "sonner"; +import { handleError } from "@/lib/utils"; +import { useQueryClient } from "@tanstack/react-query"; +import { useBucketContext } from "../context"; +import { useDisclosure } from "@/hooks/useDisclosure"; +import { Modal } from "react-daisyui"; +import { createFolderSchema, CreateFolderSchema } from "./schema"; +import { useForm } from "react-hook-form"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { InputField } from "@/components/ui/input"; +import { useEffect } from "react"; + +type Props = { + prefix: string; +}; + +const Actions = ({ prefix }: Props) => { + const { bucketName } = useBucketContext(); + const queryClient = useQueryClient(); + + const putObject = usePutObject(bucketName, { + onSuccess: () => { + toast.success("File uploaded!"); + queryClient.invalidateQueries({ queryKey: ["browse", bucketName] }); + }, + onError: handleError, + }); + + const onUploadFile = () => { + const input = document.createElement("input"); + input.type = "file"; + input.multiple = true; + + input.onchange = (e) => { + const files = (e.target as HTMLInputElement).files; + if (!files?.length) { + return; + } + + if (files.length > 20) { + toast.error("You can only upload up to 20 files at a time"); + return; + } + + for (const file of files) { + const key = prefix + file.name; + putObject.mutate({ key, file }); + } + }; + + input.click(); + input.remove(); + }; + + return ( + <> + + {/* + + + + + ); +}; + +export default Actions; diff --git a/src/pages/buckets/manage/browse/browse-tab.tsx b/src/pages/buckets/manage/browse/browse-tab.tsx index 2e0fdce..45e78d7 100644 --- a/src/pages/buckets/manage/browse/browse-tab.tsx +++ b/src/pages/buckets/manage/browse/browse-tab.tsx @@ -1,25 +1,36 @@ -import { useParams } from "react-router-dom"; +import { useSearchParams } from "react-router-dom"; import { Card } from "react-daisyui"; import ObjectList from "./object-list"; -import { useBucket } from "../hooks"; -import { useState } from "react"; +import { useEffect, useState } from "react"; import ObjectListNavigator from "./object-list-navigator"; -import { - EllipsisVertical, - FilePlus, - FolderPlus, - UploadIcon, -} from "lucide-react"; -import Button from "@/components/ui/button"; +import Actions from "./actions"; +import { useBucketContext } from "../context"; +import ShareDialog from "./share-dialog"; + +const getInitialPrefixes = (searchParams: URLSearchParams) => { + const prefix = searchParams.get("prefix"); + if (prefix) { + const paths = prefix.split("/").filter((p) => p); + return paths.map((_, i) => paths.slice(0, i + 1).join("/") + "/"); + } + return []; +}; const BrowseTab = () => { - const { id } = useParams(); - const { data: bucket } = useBucket(id); + const { bucket } = useBucketContext(); + const [searchParams, setSearchParams] = useSearchParams(); + const [prefixHistory, setPrefixHistory] = useState( + getInitialPrefixes(searchParams) + ); + const [curPrefix, setCurPrefix] = useState(prefixHistory.length - 1); - const [curPrefix, setCurPrefix] = useState(-1); - const [prefixHistory, setPrefixHistory] = useState([]); - const bucketName = bucket?.globalAliases[0]; + useEffect(() => { + const prefix = prefixHistory[curPrefix] || ""; + const newParams = new URLSearchParams(searchParams); + newParams.set("prefix", prefix); + setSearchParams(newParams); + }, [curPrefix]); const gotoPrefix = (prefix: string) => { const history = prefixHistory.slice(0, curPrefix + 1); @@ -27,15 +38,12 @@ const BrowseTab = () => { setCurPrefix(history.length); }; - if (!bucket) { - return null; - } - if (!bucket.keys.find((k) => k.permissions.read && k.permissions.write)) { return ( -

-

- You need to add a key to your bucket to be able to browse it. +

+

+ You need to add a key with read & write access to your bucket to be + able to browse it.

); @@ -43,29 +51,20 @@ const BrowseTab = () => { return (
- + -
); diff --git a/src/pages/buckets/manage/browse/hooks.ts b/src/pages/buckets/manage/browse/hooks.ts index 8b18f58..8133c44 100644 --- a/src/pages/buckets/manage/browse/hooks.ts +++ b/src/pages/buckets/manage/browse/hooks.ts @@ -1,6 +1,14 @@ import api from "@/lib/api"; -import { useQuery } from "@tanstack/react-query"; -import { GetObjectsResult, UseBrowserObjectOptions } from "./types"; +import { + useMutation, + UseMutationOptions, + useQuery, +} from "@tanstack/react-query"; +import { + GetObjectsResult, + PutObjectPayload, + UseBrowserObjectOptions, +} from "./types"; export const useBrowseObjects = ( bucket: string, @@ -12,3 +20,30 @@ export const useBrowseObjects = ( api.get(`/browse/${bucket}`, { params: options }), }); }; + +export const usePutObject = ( + bucket: string, + options?: UseMutationOptions +) => { + return useMutation({ + mutationFn: async (body) => { + const formData = new FormData(); + if (body.file) { + formData.append("file", body.file); + } + + return api.put(`/browse/${bucket}/${body.key}`, { body: formData }); + }, + ...options, + }); +}; + +export const useDeleteObject = ( + bucket: string, + options?: UseMutationOptions +) => { + return useMutation({ + mutationFn: (key) => api.delete(`/browse/${bucket}/${key}`), + ...options, + }); +}; diff --git a/src/pages/buckets/manage/browse/object-actions.tsx b/src/pages/buckets/manage/browse/object-actions.tsx new file mode 100644 index 0000000..cc73920 --- /dev/null +++ b/src/pages/buckets/manage/browse/object-actions.tsx @@ -0,0 +1,74 @@ +import { Dropdown, Modal } from "react-daisyui"; +import { Object } from "./types"; +import Button from "@/components/ui/button"; +import { DownloadIcon, EllipsisVertical, Share2, Trash } from "lucide-react"; +import { useDeleteObject } from "./hooks"; +import { useBucketContext } from "../context"; +import { useQueryClient } from "@tanstack/react-query"; +import { toast } from "sonner"; +import { handleError } from "@/lib/utils"; +import { API_URL } from "@/lib/api"; +import { shareDialog } from "./share-dialog"; + +type Props = { + prefix?: string; + object: Pick; +}; + +const ObjectActions = ({ prefix = "", object }: Props) => { + const { bucketName } = useBucketContext(); + const queryClient = useQueryClient(); + const isDirectory = object.objectKey.endsWith("/"); + + const deleteObject = useDeleteObject(bucketName, { + onSuccess: () => { + toast.success("Object deleted!"); + queryClient.invalidateQueries({ queryKey: ["browse", bucketName] }); + }, + onError: handleError, + }); + + const onDownload = () => { + window.open(API_URL + object.downloadUrl, "_blank"); + }; + + const onDelete = () => { + if (window.confirm("Are you sure you want to delete this object?")) { + deleteObject.mutate(prefix + object.objectKey); + } + }; + + return ( + + + {!isDirectory && ( +
-
+
setCurPrefix(-1)} /> {prefixHistory.map((prefix, i) => ( - + void; }; -const HistoryItem = ({ title, isActive, onClick }: HistoryItemProps) => { - if (!title) { +const HistoryItem = ({ + icon: Icon, + title, + isActive, + onClick, +}: HistoryItemProps) => { + if (!title && !Icon) { return null; } @@ -92,8 +96,13 @@ const HistoryItem = ({ title, isActive, onClick }: HistoryItemProps) => { e.preventDefault(); onClick(); }} - className={cn("px-2 rounded-sm shrink-0", isActive && "bg-neutral")} + className={cn( + "px-2 rounded-md shrink-0 max-w-[150px] truncate", + isActive && "bg-neutral", + Icon ? "py-1" : null + )} > + {Icon ? : null} {title} ); diff --git a/src/pages/buckets/manage/browse/object-list.tsx b/src/pages/buckets/manage/browse/object-list.tsx index ebecea3..6b1184a 100644 --- a/src/pages/buckets/manage/browse/object-list.tsx +++ b/src/pages/buckets/manage/browse/object-list.tsx @@ -1,27 +1,29 @@ import { Table } from "react-daisyui"; import { useBrowseObjects } from "./hooks"; import { dayjs, readableBytes } from "@/lib/utils"; +import mime from "mime/lite"; import { Object } from "./types"; import { API_URL } from "@/lib/api"; +import { FileArchive, FileIcon, FileType, Folder } from "lucide-react"; +import { useBucketContext } from "../context"; +import ObjectActions from "./object-actions"; +import GotoTopButton from "@/components/ui/goto-top-btn"; type Props = { - bucket: string; prefix?: string; onPrefixChange?: (prefix: string) => void; }; -const ObjectList = ({ bucket, prefix, onPrefixChange }: Props) => { - const { data } = useBrowseObjects(bucket, { prefix }); +const ObjectList = ({ prefix, onPrefixChange }: Props) => { + const { bucketName } = useBucketContext(); + const { data } = useBrowseObjects(bucketName, { prefix, limit: 1000 }); const onObjectClick = (object: Object) => { - window.open( - API_URL + `/browse/${bucket}/${data?.prefix}${object.objectKey}?view=1`, - "_blank" - ); + window.open(API_URL + object.viewUrl, "_blank"); }; return ( -
+
Name @@ -30,37 +32,114 @@ const ObjectList = ({ bucket, prefix, onPrefixChange }: Props) => { + {!data?.prefixes?.length && !data?.objects?.length && ( + + + + )} + {data?.prefixes.map((prefix) => ( - onPrefixChange?.(prefix)} + className="hover:bg-neutral/60 hover:text-neutral-content group" > - - {prefix.substring(0, prefix.lastIndexOf("/")).split("/").pop()} - - - - + + ))} - {data?.objects.map((object) => ( - onObjectClick(object)} - > - {object.objectKey} - {readableBytes(object.size)} - {dayjs(object.lastModified).fromNow()} - - ))} + {data?.objects.map((object) => { + const extIdx = object.objectKey.lastIndexOf("."); + const filename = + extIdx >= 0 + ? object.objectKey.substring(0, extIdx) + : object.objectKey; + const ext = extIdx >= 0 ? object.objectKey.substring(extIdx) : null; + + return ( + + + + + + + ); + })}
+ No objects +
onPrefixChange?.(prefix)} + > + + + {prefix + .substring(0, prefix.lastIndexOf("/")) + .split("/") + .pop()} + + + +
onObjectClick(object)} + > + + + {filename} + {ext && {ext}} + + + {readableBytes(object.size)} + + {dayjs(object.lastModified).fromNow()} +
+ +
); }; +type FilePreviewProps = { + ext?: string | null; + object: Object; +}; + +const FilePreview = ({ ext, object }: FilePreviewProps) => { + const type = mime.getType(ext || "")?.split("/")[0]; + let Icon = FileIcon; + + if ( + ["zip", "rar", "7z", "iso", "tar", "gz", "bz2", "xz"].includes(ext || "") + ) { + Icon = FileArchive; + } + + if (type === "image") { + return ( + {object.objectKey} + ); + } + + if (type === "text") { + Icon = FileType; + } + + return ( + + ); +}; + export default ObjectList; diff --git a/src/pages/buckets/manage/browse/schema.ts b/src/pages/buckets/manage/browse/schema.ts new file mode 100644 index 0000000..52436d0 --- /dev/null +++ b/src/pages/buckets/manage/browse/schema.ts @@ -0,0 +1,10 @@ +import { z } from "zod"; + +export const createFolderSchema = z.object({ + name: z + .string() + .min(1, "Folder Name is required") + .regex(/^[a-zA-Z0-9_-]+$/, "Folder Name invalid"), +}); + +export type CreateFolderSchema = z.infer; diff --git a/src/pages/buckets/manage/browse/share-dialog.tsx b/src/pages/buckets/manage/browse/share-dialog.tsx new file mode 100644 index 0000000..fc98e98 --- /dev/null +++ b/src/pages/buckets/manage/browse/share-dialog.tsx @@ -0,0 +1,79 @@ +import { createDisclosure } from "@/lib/disclosure"; +import { Alert, Modal } from "react-daisyui"; +import { useBucketContext } from "../context"; +import { useConfig } from "@/hooks/useConfig"; +import { useEffect, useMemo, useState } from "react"; +import Input from "@/components/ui/input"; +import Button from "@/components/ui/button"; +import { Copy, FileWarningIcon } from "lucide-react"; +import { copyToClipboard } from "@/lib/utils"; +import Checkbox from "@/components/ui/checkbox"; + +export const shareDialog = createDisclosure<{ key: string; prefix: string }>(); + +const ShareDialog = () => { + const { isOpen, data, dialogRef } = shareDialog.use(); + const { bucket, bucketName } = useBucketContext(); + const { data: config } = useConfig(); + const [domain, setDomain] = useState(bucketName); + + const websitePort = config?.s3_web?.bind_addr?.split(":").pop() || "80"; + const rootDomain = config?.s3_web?.root_domain; + + const domains = useMemo( + () => [ + bucketName, + bucketName + rootDomain, + bucketName + rootDomain + `:${websitePort}`, + ], + [bucketName, config?.s3_web] + ); + + useEffect(() => { + setDomain(bucketName); + }, [domains]); + + const url = "http://" + domain + "/" + data?.prefix + data?.key; + + return ( + + Share {data?.key || ""} + + {!bucket.websiteAccess && ( + + + Sharing is only available for buckets with enabled website access. + + )} +
+ {domains.map((item) => ( + setDomain(item)} + /> + ))} +
+
+ e.target.select()} + /> +
+
+ + + +
+ ); +}; + +export default ShareDialog; diff --git a/src/pages/buckets/manage/browse/types.ts b/src/pages/buckets/manage/browse/types.ts index 1dd36f0..565b8ec 100644 --- a/src/pages/buckets/manage/browse/types.ts +++ b/src/pages/buckets/manage/browse/types.ts @@ -15,4 +15,11 @@ export type Object = { objectKey: string; lastModified: Date; size: number; + viewUrl: string; + downloadUrl: string; +}; + +export type PutObjectPayload = { + key: string; + file: File | null; }; diff --git a/src/pages/buckets/manage/context.ts b/src/pages/buckets/manage/context.ts new file mode 100644 index 0000000..2d2cbd2 --- /dev/null +++ b/src/pages/buckets/manage/context.ts @@ -0,0 +1,19 @@ +import { createContext, useContext } from "react"; +import { Bucket } from "../types"; + +export const BucketContext = createContext<{ + bucket: Bucket; + refetch: () => void; + bucketName: string; +} | null>(null); + +export const useBucketContext = () => { + const bucket = useContext(BucketContext); + if (!bucket) { + throw new Error( + "BucketContext must be used within a BucketContextProvider" + ); + } + + return bucket; +}; diff --git a/src/pages/buckets/manage/overview/overview-aliases.tsx b/src/pages/buckets/manage/overview/overview-aliases.tsx index 75f6281..ee5d36c 100644 --- a/src/pages/buckets/manage/overview/overview-aliases.tsx +++ b/src/pages/buckets/manage/overview/overview-aliases.tsx @@ -1,7 +1,6 @@ import { Modal } from "react-daisyui"; import { Plus } from "lucide-react"; import Chips from "@/components/ui/chips"; -import { Bucket } from "../../types"; import { useDisclosure } from "@/hooks/useDisclosure"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; @@ -13,12 +12,11 @@ import { handleError } from "@/lib/utils"; import { InputField } from "@/components/ui/input"; import { useEffect } from "react"; import { useQueryClient } from "@tanstack/react-query"; +import { useBucketContext } from "../context"; -type Props = { - data?: Bucket; -}; +const AliasesSection = () => { + const { bucket: data } = useBucketContext(); -const AliasesSection = ({ data }: Props) => { const queryClient = useQueryClient(); const removeAlias = useRemoveAlias(data?.id, { onSuccess: () => { diff --git a/src/pages/buckets/manage/overview/overview-quota.tsx b/src/pages/buckets/manage/overview/overview-quota.tsx index c18eb49..9b0061b 100644 --- a/src/pages/buckets/manage/overview/overview-quota.tsx +++ b/src/pages/buckets/manage/overview/overview-quota.tsx @@ -4,15 +4,13 @@ import { QuotaSchema, quotaSchema } from "../schema"; import { useEffect } from "react"; import { useDebounce } from "@/hooks/useDebounce"; import { useUpdateBucket } from "../hooks"; -import { Bucket } from "../../types"; import { InputField } from "@/components/ui/input"; import { ToggleField } from "@/components/ui/toggle"; +import { useBucketContext } from "../context"; -type Props = { - data?: Bucket; -}; +const QuotaSection = () => { + const { bucket: data } = useBucketContext(); -const QuotaSection = ({ data }: Props) => { const form = useForm({ resolver: zodResolver(quotaSchema), }); @@ -23,7 +21,7 @@ const QuotaSection = ({ data }: Props) => { const onChange = useDebounce((values: DeepPartial) => { const { enabled } = values; const maxObjects = Number(values.maxObjects); - const maxSize = Math.round(Number(values.maxSize) * 1024 * 1024); + const maxSize = Math.round(Number(values.maxSize) * 1024 ** 3); const data = { maxObjects: enabled && maxObjects > 0 ? maxObjects : null, @@ -37,9 +35,7 @@ const QuotaSection = ({ data }: Props) => { form.reset({ enabled: data?.quotas?.maxSize != null || data?.quotas?.maxObjects != null, - maxSize: data?.quotas?.maxSize - ? data?.quotas?.maxSize / 1024 / 1024 - : null, + maxSize: data?.quotas?.maxSize ? data?.quotas?.maxSize / 1024 ** 3 : null, maxObjects: data?.quotas?.maxObjects || null, }); diff --git a/src/pages/buckets/manage/overview/overview-tab.tsx b/src/pages/buckets/manage/overview/overview-tab.tsx index 83a7c5d..05b89a3 100644 --- a/src/pages/buckets/manage/overview/overview-tab.tsx +++ b/src/pages/buckets/manage/overview/overview-tab.tsx @@ -1,24 +1,22 @@ import { Card } from "react-daisyui"; -import { useParams } from "react-router-dom"; -import { useBucket } from "../hooks"; import { ChartPie, ChartScatter } from "lucide-react"; import { readableBytes } from "@/lib/utils"; import WebsiteAccessSection from "./overview-website-access"; import AliasesSection from "./overview-aliases"; import QuotaSection from "./overview-quota"; +import { useBucketContext } from "../context"; const OverviewTab = () => { - const { id } = useParams(); - const { data } = useBucket(id); + const { bucket: data } = useBucketContext(); return (
Summary - - - + + + diff --git a/src/pages/buckets/manage/overview/overview-website-access.tsx b/src/pages/buckets/manage/overview/overview-website-access.tsx index 47d8dbc..6be03a8 100644 --- a/src/pages/buckets/manage/overview/overview-website-access.tsx +++ b/src/pages/buckets/manage/overview/overview-website-access.tsx @@ -7,20 +7,16 @@ import { useUpdateBucket } from "../hooks"; import { useConfig } from "@/hooks/useConfig"; import { Info, LinkIcon } from "lucide-react"; import Button from "@/components/ui/button"; -import { Bucket } from "../../types"; import { InputField } from "@/components/ui/input"; import { ToggleField } from "@/components/ui/toggle"; +import { useBucketContext } from "../context"; -type Props = { - data?: Bucket; -}; - -const WebsiteAccessSection = ({ data }: Props) => { +const WebsiteAccessSection = () => { + const { bucket: data, bucketName } = useBucketContext(); const { data: config } = useConfig(); const form = useForm({ resolver: zodResolver(websiteConfigSchema), }); - const bucketName = data?.globalAliases[0] || ""; const isEnabled = useWatch({ control: form.control, name: "websiteAccess" }); const websitePort = config?.s3_web?.bind_addr?.split(":").pop() || "80"; diff --git a/src/pages/buckets/manage/page.tsx b/src/pages/buckets/manage/page.tsx index 4695d41..1314056 100644 --- a/src/pages/buckets/manage/page.tsx +++ b/src/pages/buckets/manage/page.tsx @@ -7,6 +7,7 @@ import OverviewTab from "./overview/overview-tab"; import PermissionsTab from "./permissions/permissions-tab"; import MenuButton from "./components/menu-button"; import BrowseTab from "./browse/browse-tab"; +import { BucketContext } from "./context"; const tabs: Tab[] = [ { @@ -31,7 +32,7 @@ const tabs: Tab[] = [ const ManageBucketPage = () => { const { id } = useParams(); - const { data } = useBucket(id); + const { data, refetch } = useBucket(id); const name = data?.globalAliases[0]; @@ -40,9 +41,16 @@ const ManageBucketPage = () => { } + actions={data ? : undefined} /> - + + {data && ( + + + + )}
); }; diff --git a/src/pages/buckets/manage/permissions/allow-key-dialog.tsx b/src/pages/buckets/manage/permissions/allow-key-dialog.tsx index ce9e6cc..62347fc 100644 --- a/src/pages/buckets/manage/permissions/allow-key-dialog.tsx +++ b/src/pages/buckets/manage/permissions/allow-key-dialog.tsx @@ -12,13 +12,14 @@ import { useAllowKey } from "../hooks"; import { toast } from "sonner"; import { handleError } from "@/lib/utils"; import { useQueryClient } from "@tanstack/react-query"; +import { useBucketContext } from "../context"; type Props = { - id?: string; currentKeys?: string[]; }; -const AllowKeyDialog = ({ id, currentKeys }: Props) => { +const AllowKeyDialog = ({ currentKeys }: Props) => { + const { bucket } = useBucketContext(); const { dialogRef, isOpen, onOpen, onClose } = useDisclosure(); const { data: keys } = useKeys(); const form = useForm({ @@ -30,12 +31,12 @@ const AllowKeyDialog = ({ id, currentKeys }: Props) => { }); const queryClient = useQueryClient(); - const allowKey = useAllowKey(id, { + const allowKey = useAllowKey(bucket.id, { onSuccess: () => { form.reset(); onClose(); toast.success("Key allowed!"); - queryClient.invalidateQueries({ queryKey: ["bucket", id] }); + queryClient.invalidateQueries({ queryKey: ["bucket", bucket.id] }); }, onError: handleError, }); diff --git a/src/pages/buckets/manage/permissions/permissions-tab.tsx b/src/pages/buckets/manage/permissions/permissions-tab.tsx index 612debe..0df8b61 100644 --- a/src/pages/buckets/manage/permissions/permissions-tab.tsx +++ b/src/pages/buckets/manage/permissions/permissions-tab.tsx @@ -1,5 +1,4 @@ -import { useParams } from "react-router-dom"; -import { useBucket, useDenyKey } from "../hooks"; +import { useDenyKey } from "../hooks"; import { Card, Checkbox, Table } from "react-daisyui"; import Button from "@/components/ui/button"; import { Trash } from "lucide-react"; @@ -7,12 +6,12 @@ import AllowKeyDialog from "./allow-key-dialog"; import { useMemo } from "react"; import { toast } from "sonner"; import { handleError } from "@/lib/utils"; +import { useBucketContext } from "../context"; const PermissionsTab = () => { - const { id } = useParams(); - const { data, refetch } = useBucket(id); + const { bucket, refetch } = useBucketContext(); - const denyKey = useDenyKey(id, { + const denyKey = useDenyKey(bucket.id, { onSuccess: () => { toast.success("Key removed!"); refetch(); @@ -21,13 +20,13 @@ const PermissionsTab = () => { }); const keys = useMemo(() => { - return data?.keys.filter( + return bucket?.keys.filter( (key) => key.permissions.read !== false || key.permissions.write !== false || key.permissions.owner !== false ); - }, [data?.keys]); + }, [bucket?.keys]); const onRemove = (id: string) => { if (window.confirm("Are you sure you want to remove this key?")) { @@ -43,10 +42,7 @@ const PermissionsTab = () => {
Access Keys - key.accessKeyId)} - /> + key.accessKeyId)} />
diff --git a/src/pages/buckets/page.tsx b/src/pages/buckets/page.tsx index 5240543..229a331 100644 --- a/src/pages/buckets/page.tsx +++ b/src/pages/buckets/page.tsx @@ -10,16 +10,22 @@ const BucketsPage = () => { const [search, setSearch] = useState(""); const items = useMemo(() => { - if (!search?.length) { - return data; + let buckets = data || []; + + if (search?.length > 0) { + const q = search.toLowerCase(); + buckets = buckets.filter( + (bucket) => + bucket.id.includes(q) || + bucket.globalAliases.find((alias) => alias.includes(q)) + ); } - const q = search.toLowerCase(); - return data?.filter( - (bucket) => - bucket.id.includes(q) || - bucket.globalAliases.find((alias) => alias.includes(q)) + buckets = buckets.sort((a, b) => + a.globalAliases[0].localeCompare(b.globalAliases[0]) ); + + return buckets; }, [data, search]); return (