From 6bbc71ae39d06e9c6dc23dce9cea4c91462ab2ac Mon Sep 17 00:00:00 2001 From: wireless_purple Date: Sat, 12 Oct 2024 20:27:22 +0000 Subject: [PATCH] group offers by price with a checkbox that allows showing each individual order --- bun.lockb | Bin 43578 -> 53671 bytes package.json | 12 +-- src/routes/+layout.svelte | 5 +- src/routes/+page.svelte | 8 +- src/routes/market/[market]/+page.server.js | 6 ++ src/routes/market/[market]/+page.svelte | 78 ++++++----------- src/routes/market/[market]/Offers.svelte | 95 +++++++++++++++++++++ src/routes/markets/+page.svelte | 4 +- 8 files changed, 146 insertions(+), 62 deletions(-) create mode 100644 src/routes/market/[market]/Offers.svelte diff --git a/bun.lockb b/bun.lockb index d5a6edb67fa5f156ebff3057b93851a91eec6d77..9a1c9e05489fc066aab369dca8b2bb3f5f73ee25 100755 GIT binary patch delta 8376 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 G^8W=>;HrlJ delta 2580 zcmeH}`%{!v7{||f*_B;rMTL?(3ya*0RRLKQTTz?wf~ctL>ms0BR#;e4@G_RBE0~s~ zh>sze*y1H+8!g(Jl7><&F{~U$%SNd*vPPR`Qk%*$>U(zC(V2en59pcwoaZ^udCqmu zd(Js>(5L;Pv{RpWsP3Fi(X{4^*UWu=IX_jrQDM5gzI%%+sJdWROG{PyerGFlOJ#!` zC5^YWtu2#yFI|&{tLDM~7-M!i>7$Lf8^M?wnG#FU>QWR`uJly90Dl}Q6}pXww2b*7 zA|84u^vc2#i-@VLwhG09w2TG1TUb+QTWw**%a>PJ5#bBJ2L8c_0rszTjG<9`Cv+IJ z6FL}rH?$beI_MDS66oR3vpnTK_H>=gsn{T?ZdxwSt++Ehg?{nPbd6KZ38b!=XgV4; zge&NpDxS1zmHG}^o`A{g0e zJ#gsV!x^JCDE~ojHXZZNP-n+5mJYv?ZbccS+8A=i8VQdp%kKyB-99{Xq2B0)#+&x_ZFjEpT^mz@204 zVYC>Sb0GfVwXdg!(`8O7{(mvNi*X|5#SnU8VODn5z=8^;82O~n^b412lXhHPR{qt> z6H_|^M+J4==nVYvV!k8#(`|ot-fnkUCyuv%Xgxmh@5HIAhZQK3pE;G+R7A&SOxx5O z>iT+?meX}p7N1KmER=Z;%`nS+9*vh}KA#$pE}$DoO*DCt%oozjNM*XUNH#Bea2T29 zyscIBA&oJspU;2N|COFQ+fRQSSkre_m2+|Wz3iO+Po}fTRpw>!LOOxm+65Yl$j{=%WX+c;!K9(jkh4%ofy|dt71C1r1Zf#XFOj*G zo<>?uJxD7kajDF0u1!np2jOf}XjW8PR;{vHszY#e4WXgM^=|KbICT7Q7<58w;QiL^ zEwV1J#2L(P$KZH}_kwF}#jzkiyUnviyKVHx=832Q>Ho(g!ma=(2V!hb(d_5uS;a?n z5F7%B!E4|MI0{;U_-c282Cxed*bQC+jbIOG0xyHTU=yeTwO|Wa2iAjUNwZ~Yi1@_C z_wN8=9F;(v8yl!~%NxURW-&~NH9ds{l39fz#tbciDgOH$Fc-{mo!EMXZ_I`{3*b^= zvwTEvJZz5Zg@MW7I1#o1Eet-ly{0muhtFird( ztegj@2+9RZfS8P$ZA`Y}{gml}qvM+_Ciw0o~Z z6)#BDr|8Ghn{}Z)&2_G>&p)iV40muzVRh-rZTVr7Mzu@4AWc77Kbo;#>f1AtU#Ebk zXtM2n+;|I@V**-p-}lfn8s53`O;7F568`|(>`{2UFM}PmEbUro_ZfFvsrq!r?nY3; zzO|ARNycU^b?zG`&5oom_st4Fh@B;>u3TfWt-@@6YP?oDVS8in5blYUe6=)s|1v2^ zOHKRjQoNQzUoD6lr}bR?|E)Dgl+fhn(BY}rh{$01?duy(<@%n~HcPxwOJ`qQAf@Xl z(h;0K@NTg8q`Rhk`1$Pu1s|gyuSZ4ZeOUzD+0z(hJny()vQ9@fM{v0JDRTX8YQ^_D zAL)L8Q%4R*u+jT=Y2RxJp0>OE^!)(u>&8@{S#x~mce?u}{Wa(s(qBWrIWqkc#Kwml zXr;^+6E~3m*>HNRC6=eSF13sb<0;f|IEvyrhAPwat4g1ttd3q<-=(7W&zLEv%fSt< T+g<&fvb(2?P2p { diff --git a/src/routes/markets/+page.svelte b/src/routes/markets/+page.svelte index 946e9b4..4abb985 100644 --- a/src/routes/markets/+page.svelte +++ b/src/routes/markets/+page.svelte @@ -124,7 +124,7 @@ let w = $state();

Markets

- + @@ -132,6 +132,8 @@ let w = $state(); + + {#each Object.values(markets).toSorted((a, b) => (b.trades?.length || 0) - (a.trades?.length || 0) || (b.offers?.length || 0) - (a.offers?.length || 0) || (b.code < a.code ? 1 : -1)) as market}
Currency PriceVolume (XMR) Trades