From 492a7220c526fd2501bb7255b9231fc15935e90a Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 16:54:14 +1100 Subject: [PATCH 01/26] move trigger to sidebar --- src/lib/components/app-sidebar.svelte | 13 +++++++++++++ src/routes/+layout.svelte | 1 - 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 32aec682..493c971b 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -8,6 +8,8 @@ import * as Sidebar from '$lib/components/ui/sidebar/index.js'; import * as Command from '$lib/components/ui/command/index.js'; import * as Collapsible from '$lib/components/ui/collapsible/index.js'; + import { useSidebar } from '$lib/components/ui/sidebar/index.js'; + const sidebar = useSidebar(); // Lucide icons import Wrench from 'lucide-svelte/icons/wrench'; @@ -18,6 +20,7 @@ import Check from 'lucide-svelte/icons/check'; import Code from 'lucide-svelte/icons/code'; import Settings from 'lucide-svelte/icons/settings'; + import PanelLeft from 'lucide-svelte/icons/panel-left'; // App state and data import { preferencesStore } from '$lib/state.js'; @@ -265,6 +268,16 @@ Settings + + { + sidebar.toggle(); + }} + > + + Sidebar + + {/if} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 78023954..871a0990 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -26,6 +26,5 @@ {@render children()} - From 80ba19321a10f0bd6c74c1063c9fe5ccebcd7fb4 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 16:55:08 +1100 Subject: [PATCH 02/26] fix issue --- src/lib/components/app-sidebar.svelte | 28 +++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 493c971b..2ac6b231 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -250,8 +250,8 @@ - {#if $preferencesStore.experimentalFeatures === true} - + + {#if $preferencesStore.experimentalFeatures === true} {#snippet child({ props })} @@ -268,18 +268,18 @@ Settings - - { - sidebar.toggle(); - }} - > - - Sidebar - - - - {/if} + {/if} + + { + sidebar.toggle(); + }} + > + + Sidebar + + + From e66b224997e021193e49e782c8cb454d17a3a38c Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 16:59:19 +1100 Subject: [PATCH 03/26] add logo color changing --- src/lib/components/app-sidebar.svelte | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 2ac6b231..365b22fd 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -3,6 +3,7 @@ import type { ComponentProps } from 'svelte'; import { slide } from 'svelte/transition'; import { page } from '$app/state'; + import clsx from 'clsx'; // UI Components import * as Sidebar from '$lib/components/ui/sidebar/index.js'; @@ -118,7 +119,12 @@ {#snippet child({ props })}
From ce2359f5fa45d518e06c98ba0f1e31dd3f7d9d23 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 17:00:37 +1100 Subject: [PATCH 04/26] fix too long title --- src/lib/components/app-sidebar.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 365b22fd..2c28634e 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -84,7 +84,7 @@ url: '/tools/password-generator' }, { - title: 'Random Number Generator', + title: 'Random Number Gen', url: '/tools/random-number-generator' } ] From 5ad099e4667d3e88667c75b532196c24e273b01f Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 17:10:20 +1100 Subject: [PATCH 05/26] add icons --- static/apple-touch-icon.png | Bin 0 -> 7488 bytes static/favicon.ico | Bin 0 -> 5238 bytes static/favicon.png | Bin 1571 -> 10278 bytes static/icon-192-maskable.png | Bin 0 -> 8129 bytes static/icon-192.png | Bin 0 -> 10278 bytes static/icon-512-maskable.png | Bin 0 -> 27245 bytes static/icon-512.png | Bin 0 -> 33100 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/apple-touch-icon.png create mode 100644 static/favicon.ico create mode 100644 static/icon-192-maskable.png create mode 100644 static/icon-192.png create mode 100644 static/icon-512-maskable.png create mode 100644 static/icon-512.png diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..daf079c4b3e8b25a260b29d7aa7484c261b79ac5 GIT binary patch literal 7488 zcmeHs?D-HSUED-;$jR@|N94vV`LU!b^aad%lbw)cJPbNC!4lW(fM<_G1swE76FVY21Z%O}&aLwZ|4 zy;*;63m+eqwl<^Ln1g6Uv3Y5sEXo-K`ldb=U1uW!+Dzs(y`-`9s;L^1Pr5W6wEi}Q zaH1JeIM=&R?pa-zKUFg6MCO1tV<_i;zS7T4LIVcoz$5kcFi64WWEPnMU2xk{6v?$5 z9M<@SRhEAgmLK};Z?)RheC}@awzlGr^5aqK>@dW%DBi9APX6)wx7&ns_d#jAY`3Rv zu=rQkHL7wIx9G+|BA;e0@JIqu?_!-kd4q8$(SE*{uj;kW&B@w1xKjy@B}8kM$GD^3 zO#=gaxphCV8}fe9@*Q<1r@p$_?H>a`^%H?v7D8@^(p*7{F9+rVy|E)4aT75ys>Q<6%?3wX&gU z)EfJ_QmdiQ(Rzcj(MZRg8z)&>eQf0$fpJ)NUkM3+^!7Ttz?j8ma|INT?=1^YAJaS=@Pe`NBp}BTD{=LE76aDNLda;hANd0EYFlyr&%WNlbVxLLgZe`B9$N?^74c~e7earjPM-lMW(qn2M1Hx zbk@$g_9(tJ3>NdyCtS-Swd&w+$bOCJLM3%1 zrLw9fEnTFam1ZDaQrP7)xOSC5s*P^~{4GQ!StV?arb#&q^|ksC;m=d)yH!(_l?HF9 z>Swf9Ts7N7CbqxG&&NFH+@=8x7w(JL+ZAMJOeLf;MLW?Y#M;C7hi*`SLJyyr%&S(#9Y7zvn5nCt;jwu*tH=`% zRBvO9JA5vmhyE%j<@~5C$j)HiGFi%k6ea{#qzS`)Y>8!6P5Ti~cePMV4IN1e)|@JM zh*?VG)T?D~q^n4)_r{pU!C+H8wF6~v`KKMMw8wXCCxt#N_#LmX+~3gAe{3+yBv2~? zg5}Hf8bi8qKDUwX7x)#@U)I%`=D!-PxWX7lTe4(Yu4iXb!nP-F$oazw{NEkK zuE>;@4}I>SebCkL)=v)sKfo z6mC%OxKl+Yf8j{W%G9FvYd`850BJXV1=`Pk0veEySulk}Ewk;cpMQZceBf%H? zidQ2$gBHc0uKhIRn zCDKXcVT4{Ebx)8bFssdvhR6l8OI&`7K<9uJQd$1HIhcb>Zorwt>9r1Ak@{ z^*dq2j}G+7B2RbP!m@7}uT;xptdmv0Xuo~x#@@gZwEq?!$pI{=-MwbkygKk`WO~Wg zL~O5bPQydVORqyZ896siy(_)^!$X)faqlf7D;Q}0DU7rw-85!_P|$e3{q6VR_Wc<1r*6w%&G zVfOGY;L_lDmAKLF@1r;bY}UGGx;(yb07K-yZhZ}W>xfWmC^)P9ZqH{T^Wm-0V(h8t z&h9Sf{NN-?*jjHu`$I{pMo2pAbkH%A#Yjd;g$!3r1VdQKCoL1e(`Gc>bj{m-_iVcr z)hI5d@r&kmyHaxi{x|%VjeHC*$3KJL_zupymN;P$(+bZwt1-;=WZXvMJ1;MLmgK$o z4auOTt6X=5K5J|xA{A;~0a4{^L9_%_449wH|b%QJ+bs(EhBP^S$S0!`A z5_l+AlKUNzIf>lETU$5b|_o^4S2=x{Z2U6gD$umY%{qGwQ28J zIk{_OoL~^rzkhRT107?=DwI@I(oY7+M3XgH(FC$`atvDz{F1TKQg4oBgM4aryA|Qf z&0TLGV9>?+xhJEmgB(F5bt2-e)$#SM?LM_~@k|laY&0{yLk-l##s+&l-Q%`ocg0J2 zrPaQ-7!2kE9170nJDUwYX^5SbtEyA_(-%jIIl=mu&YpB9%st0#jo|S=LA*1SxGjqL6OE=ow{q}RxqoZ5=Gh<`AC(4qtYF7I*1!DLy zC3b1C*{O5pxv!^#9QX8XAzpg}jG?V|vjmH^dR``PF|A=HWkoNW(f{0GBQ#L1a9+oN z0Lc$&pW0*#`F#aR-vG%}K^%Iu87A=fB$XWnk$}tB8{K5LoxeL=$_^=fC=X9*d+BL4&UWop1f7pp@xj%3V9aDKDj3Cv!l?Pyqe)sW7*=zI*cTDLdb%>i zrmFH@uWrb`5p?zkyh=NWAdj`Hl8Fw?5T}lR!U>B5mi3kJxX!q_A4PR-1Hd zFZ7n_jm59`-tp($KBw4Gf);o#&yWV?!_$a844i&7H9Hp5VtPQG<|`Bb<>!R|v%<$b zO`sMrN?9dIQZy;;?4Y_jS%cl=&=d8`+%Qu^(Rm6r-W5p4>ZT47*Rk&Gkn)(^Rv$iO z*@p^pWA9Dn?B3_>U8vtmQX<=%_IUqP=N7*;EvY@OWz03~>-k_yEXWdwyjJ-lv1_EE zSl$-$WL$>zL_Fd;zo)*Dn~TDP?u-X^jfiku>@h;sTlH+NY5NB)@iNI&)JDFyDAwAX zE0x2}P~@5dDqCKThXe`LLJr)wEeTWLjG8>F^)h?|}3 zGU-Y0+%4X$@4hFgVcT5=Stp)s+Vsn)WsBXcS^v+EWxGOu0W?;p<>~4f=%bT1=Yjfq zIF#I$Oj}G9_qJzSELdWxpU55|5gr~QBFil-ZWJ(MhbS4zUVF?_Ez!kxCp-Nc%0h;a zolkMSAYMMqutG)>q%J~-rk>c3bLTl3f^B#@)U~3%M+80|F5mnB&P1EB<)lY-N9~Xl zsu?)?2jeD0Cg^}FrTAFl$&&Ti)O6rk?N9|BDr2g8hNdN4w>`Swzq*Rq!WQl2ogzTY zi~yxkc4mHDciV>SWhF8RD0?SsUr8sb(T<$KeL;7gyZ2?b4ODXhn?F@}QpIa{^uy4d z&Dm;o{|41~MAxM{i;{5S(wvySGH(i2n)5lg5N=3)4sUzDVsw;v^0ht>sGQm0F8+Q* zL`msobF%7x2qu9j06`ir&wm{?*+izwdqf@VbJfxWm5CMBI&c#jEP~|t2vbdSTjnu- zCPFU}5PRw8ZS&r&qLfz`K)5;EyWMMF-7s0meCFGFX*kX0z@JvND2m9hW%7wy*1z-L zkPt4?B!6Jt9F9#NUZ|P3;)YijD%4v*i@7p8{>W#)%Lpb^Rg!I6Qk0r^kFpf$Y7ibA z4ky5KsJ}J8D=Gf*a5br^bfTV{!{N8Gdnibi+y*n@y7dY~W5o&5!=5e5= zVDJ$^QP6O73$Y)U%jMJHDpmyHb5A>8F;SAGJ}yaRZvS!S*VpD(Qy16!hn`t)P5(=# z_KKo!Gm~iuKd;oFN(uE0scR05=R&_dRjc<^^=j_BE_7VcYb7YRlHfy`bvp6pH2ncM zUVR_^^Bx|^CBG-Y%2b{W#FmbqZ7i9K9VFZB=eC+Ym5r-y^atx&FaZUn z^}Q@WtATDBImq`d+uYgYJ7R&PjZw7V)3X;o32wu<@H;|n>#<^nJ<3C<&_)nv@R~#I zUw_7NMX6|2yv{_q_@xG81>1+e8N41y)S}*9l$e{c`OgkB;h?1w8!;qpy@hHmCJNME znZP96lbH_@QEyF1@z!6-AQgLkp)^0cu>%&&6CV z*84{)6SCy14UwYaJ;v|pn3pRO=EQ`?;~2Gn@n@|NJKl}BiDd+xL(@wf-$21{G0e{8 z2sqRT=5$k%oZhBkHhAq#U5OJEo`xpVuDxu#4C=@Nakr*6p`v9TwV zQReAwiaRQpTlEr?@3KqfndW600OSt++#!Ra`etEJ`tlC464Dj%uFR_Ok6KG}Qf4%d zc+dDb34l9yCV2+5x9P`f*879M*8bTXkWsUIZTPK86IuLraeUm}iER6o1l|ZZhx){Z zfeDZ(uJG(-Nt~M>kq)zug^Henpuo9*fRxHT5;AiywT2;(68tV(@Igm)R8)OsF+h{S zB*PO78u8ue?=zh|`5QKse>lWEKx{OZ|7%j!{z@ifMC#VxwH%ffJL>E)!pCOqc9MYt zl$hK69^KRPLy@=CGG3q3rd%3zDxREYVP-mML4bVxb&R6_c@Mr7z?ywxC!LIr*|_qZxM zx;>sO;;+u$k9|y*e9lnA*RQ3ZYyP=l^J_X^MD3cGy@nJZd#Wp*uKX7!AQW(^n3>%; z?*!omT#vIADZV^lEW-j!f9gS_x8Ls~;SwiU7Qa%Ajxl-HND%4*j1U^P8<{LN<|h98 z`6G~j6C}y);&c7shO$@WlhW96Wx(#DzIpt_K*Phjf$5htFsluMABz`fQ;HPCbV;ma zz)ptbgrE?BU&E-s5f`lD)Cve^%;fNoegR#-N3#mu9@fvSDhaqc{E5R!`|j;++-4zj zp!CZLKzUVH?*mbEtd1=TS;FDXW29AmFnk#*gM1Do^^87%jeeuj;O!Pu@6CmlbSK7sE z3&5QP=l*0Bqw7h1J2Z^3REN)RVb)|(I59TQ&}J6$Y_pL|!5<+4*8O%s0Iv!K>VVQ& zR_j|&KAEQf1cTBseuF?D`_Nh?FKV$*G1Ti9Y1_2hxhOV0wmQ^EfYyy55b%vPy*K)$ zy9Lv#nDeigYP_y9WPQf<^m8z1eoXviv99W4qji8B6g0^$gmQr_DJ0lB14y~q&iXFC z4-*&_#_Xl&frt#MdVCOLYh^{wnCqR#kZJ{#hYPxeL{G^&m7nKf=hAz#R1_~ZoMA#l zj2;X9K_U&}i3)!z>9)8qFWgg;=eOy0y_|TwZfW$Zu%RskI6&|`6 zF%q&l@Zu%E?G0)JG27l4yXkHl(5oD^;n$Q*^m?N+h-NxrdJ2%Th3v#1__C6KeEIFj zDyq1d3fLt_i~K@z{M*ml85;8y8;KB?EgpYR4OI8!KjsV?Ll}EW}iWo z@@@xE%cO#fzCyyw0dyj$ZWsaTaL6?ykl$7(WEuzPHJU`D*XluorDlJ;5eiIGc$+&q4yVzKhNeNegiSpdQB{9;T=N*ZbY z?OYX&*(OlbOq9O~v9Q#9o&Q9J5+7K5$-_y}Y+`cq%N<2}5TZB%TF8M2q3{v|J#tYF z;JepW?I;L>_ip;`&OdyDfXyoD(_~gd@UCj{-TeGR9O9>O_<-Fo;JG`=VV{<;IB%rN zyeWqeh*&yv?NW<0YT0?Wj4z^MY_h}8&l&Zt*ud+>P&u2?BswOYQ~{=*>$~-ByvDuZx$!93{&IhSK-IE}i*rxe1|xm)6~Sl|uQtji z^g-$0doNagiXvZTFcI zv5bIyANk>~MmUYwT*b>Wy`%^?Tu3_gKYnjfNhl18@|pHO{5K5_^)5LBu#Fl0$AZ3_(6v^`az|L)jp;UA#%2P3d@_IXpY+g;7 z|ApK5BXVyHWpb3@dWTEiuO`c~Lq`o6pSsL+l&Sh50wIa?fc2<3WxRcUF;C6r0h$u>arU|IY}IFG#*ciOl~V TGuRQ8Q6wcfby!?bM+` literal 0 HcmV?d00001 diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0a66a7e311d2eadff64d4639dd6a9d87640499a2 GIT binary patch literal 5238 zcmc&%dr*{B6yKWus+n?XnjX_M{L_BlF0d@FA|@)L`9u;U1|U8QWI-QD2m;>RphaCCT}kTQr>*e~ zs=D2Y*dhaC#y|$M!SE4dH#-}j@tWAbKV-l7{smw^vV*FwX6&pNhOa2+IJRp$i;w*K zSzsWAj~hq*eS9=u>dN?3@x5`w2Kx8*ZK|oMq3rBz3h?*u3ieac4jnw0T3TA9j-ggn zR#wuD>(}X1C&}qS=P~x+zUSJMDMMbjj zk7LKA7nw0_n%%z2k&OPshEWNhEjcMk&T8VmVf3g`gq|kj>{+^Z?;fEiLq7qV6yCf^ ze_y*sY24GG-@y}`^2GB*)!Gkns)-2HjY;onv6}o@_ zzF=y+(4&JEISR2+S63%GwAbTmv>1JQ_m*Dt5}&WBsY(3%yXa_wJ>YZJd(jUgCuuz$ zX#Yx2r~3MO%FM_h|KY<4`a++I9AZst>p%Sc!uj*m*w8@NIlru0vBEA5`cc>gyn6Gw zuU@@M)pzdD4$c#>O;2mPI@Dq6H~p~SuQdfWfN$Qo9JKfY~`-{F}w9mCfUQ^<8?rKRE%@FV0G#Kpsh4<-JAi`oR6AwGVJ zjg=aSZ`|!Peq9-n`@UJSM0^c0oJdV2;A%V(XTKdeB6+xqaZw);KlW_bN?Wh-=*)=w zUa#Z+>;xJ1;Jm=J^|aoJ c7O)(t{8m2)d8+x2^(X6lp1ZsI2W>I`1JnnI+W-In literal 0 HcmV?d00001 diff --git a/static/favicon.png b/static/favicon.png index 825b9e65af7c104cfb07089bb28659393b4f2097..85ec093c9bfd9ed2d5da6206b714024fe9838995 100644 GIT binary patch literal 10278 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 literal 1571 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 O4=BrnF$&k3F$8B1`$EJq(e%Ojs<@E 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 literal 0 HcmV?d00001 diff --git a/static/icon-512-maskable.png b/static/icon-512-maskable.png new file mode 100644 index 0000000000000000000000000000000000000000..fbb27000888350c31622ea022cb780bf910468b4 GIT binary patch literal 27245 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 LP4$X&9Etw}b7H#p literal 0 HcmV?d00001 diff --git a/static/icon-512.png b/static/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..ae8734916890dbcd73cef3bc22c6d568da8a4650 GIT binary patch literal 33100 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 JuUS6){{Ur|dS?It literal 0 HcmV?d00001 From 88521fce067c98f17aa3ae521f1cd0be99c90d99 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 17:55:52 +1100 Subject: [PATCH 06/26] add some settings --- src/lib/state.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/lib/state.ts b/src/lib/state.ts index a6e7d119..989bc1aa 100644 --- a/src/lib/state.ts +++ b/src/lib/state.ts @@ -2,7 +2,21 @@ import { persisted } from 'svelte-persisted-store'; export const preferencesStore = persisted('preferences', { experimentalFeatures: false, - open: 'tab' + open: 'tab', + theme: 'dark', + panic: { + enabled: false, + key: '`', + url: 'https://classroom.google.com', + disableExperimentalMode: true + }, + cloak: { + mode: 'off', + name: 'Home', + icon: 'https://ssl.gstatic.com/classroom/favicon.png' + }, + analytics: true, + history: true }); export const favoritesStore = persisted('favorites', [] as string[]); From ebceb3eaf54c3d753f99e02d30b6355f2b45a259 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:02:14 +1100 Subject: [PATCH 07/26] redesign buttons --- src/routes/g/[id]/+page.svelte | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/routes/g/[id]/+page.svelte b/src/routes/g/[id]/+page.svelte index ef63a3d1..922d6fa0 100644 --- a/src/routes/g/[id]/+page.svelte +++ b/src/routes/g/[id]/+page.svelte @@ -10,7 +10,7 @@ import Fullscreen from 'lucide-svelte/icons/maximize'; import OpenInNewTab from 'lucide-svelte/icons/external-link'; import Share from 'lucide-svelte/icons/share'; - import Star from 'lucide-svelte/icons/star'; + import Bookmark from 'lucide-svelte/icons/bookmark'; // App imports import { getGameById } from '$lib/gmaes'; @@ -50,31 +50,28 @@

{gmaedata?.name}

{gmaedata?.description}

-
+
+
From 0862555c00bf0a9af61f984b5bdafcd1ae06c4cb Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:03:59 +1100 Subject: [PATCH 08/26] add icon to refresh icon --- src/routes/g/[id]/+page.svelte | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/routes/g/[id]/+page.svelte b/src/routes/g/[id]/+page.svelte index 922d6fa0..4a5bbf78 100644 --- a/src/routes/g/[id]/+page.svelte +++ b/src/routes/g/[id]/+page.svelte @@ -7,6 +7,7 @@ import { toast } from 'svelte-sonner'; // Icons + import Refresh from 'lucide-svelte/icons/refresh-cw'; import Fullscreen from 'lucide-svelte/icons/maximize'; import OpenInNewTab from 'lucide-svelte/icons/external-link'; import Share from 'lucide-svelte/icons/share'; @@ -51,7 +52,10 @@

{gmaedata?.description}

- + From 0792839d5cc89006d8210caac4bfcdc5d65980e1 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:17:17 +1100 Subject: [PATCH 10/26] rename state.ts --- src/lib/components/app-sidebar.svelte | 2 +- src/lib/{state.ts => stores.ts} | 0 src/routes/g/[id]/+page.svelte | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename src/lib/{state.ts => stores.ts} (100%) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 2c28634e..c58a62b1 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -24,7 +24,7 @@ import PanelLeft from 'lucide-svelte/icons/panel-left'; // App state and data - import { preferencesStore } from '$lib/state.js'; + import { preferencesStore } from '$lib/stores'; import { gmaes } from '$lib/gmaes.js'; // Props diff --git a/src/lib/state.ts b/src/lib/stores.ts similarity index 100% rename from src/lib/state.ts rename to src/lib/stores.ts diff --git a/src/routes/g/[id]/+page.svelte b/src/routes/g/[id]/+page.svelte index a260d433..446caf4b 100644 --- a/src/routes/g/[id]/+page.svelte +++ b/src/routes/g/[id]/+page.svelte @@ -15,7 +15,7 @@ // App imports import { getGameById } from '$lib/gmaes'; - import { preferencesStore, favoritesStore } from '$lib/state.js'; + import { preferencesStore, favoritesStore } from '$lib/stores'; function openNewTab(url: string) { url = location.origin + url; From fdf7c156d5141957b598dde673d78da4d4d54bfb Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:21:48 +1100 Subject: [PATCH 11/26] start adding state --- src/lib/state.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/lib/state.ts diff --git a/src/lib/state.ts b/src/lib/state.ts new file mode 100644 index 00000000..25e11a1e --- /dev/null +++ b/src/lib/state.ts @@ -0,0 +1 @@ +export let settingsOpen = $state(false); From 6f6f866848286422dbf1d902aa378988756ed73d Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:25:33 +1100 Subject: [PATCH 12/26] add settings open binding --- src/lib/components/settings.svelte | 4 ++-- src/lib/state.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/components/settings.svelte b/src/lib/components/settings.svelte index f3ac0855..0a9a2152 100644 --- a/src/lib/components/settings.svelte +++ b/src/lib/components/settings.svelte @@ -1,10 +1,10 @@ - + Settings diff --git a/src/lib/state.ts b/src/lib/state.ts index 25e11a1e..dbbf2e09 100644 --- a/src/lib/state.ts +++ b/src/lib/state.ts @@ -1 +1 @@ -export let settingsOpen = $state(false); +export let settingsOpen = $state({ current: false }); From b04301dee82ac4527bdf53c77fa7f42782372a00 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:27:51 +1100 Subject: [PATCH 13/26] add settings button --- src/lib/components/app-sidebar.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index c58a62b1..7e82b882 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -26,6 +26,7 @@ // App state and data import { preferencesStore } from '$lib/stores'; import { gmaes } from '$lib/gmaes.js'; + import { settingsOpen } from '$lib/state'; // Props let { ref = $bindable(null), ...restProps }: ComponentProps = $props(); @@ -269,7 +270,11 @@ - + { + settingsOpen.current = true; + }} + > Settings From 799785508d5564226e253ee5b09f7d65f1a2b121 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:28:35 +1100 Subject: [PATCH 14/26] fix stupid issue --- src/lib/components/app-sidebar.svelte | 2 +- src/lib/components/settings.svelte | 2 +- src/lib/{state.ts => state.svelte.ts} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename src/lib/{state.ts => state.svelte.ts} (100%) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 7e82b882..e9be56f9 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -26,7 +26,7 @@ // App state and data import { preferencesStore } from '$lib/stores'; import { gmaes } from '$lib/gmaes.js'; - import { settingsOpen } from '$lib/state'; + import { settingsOpen } from '$lib/state.svelte'; // Props let { ref = $bindable(null), ...restProps }: ComponentProps = $props(); diff --git a/src/lib/components/settings.svelte b/src/lib/components/settings.svelte index 0a9a2152..f8c576bf 100644 --- a/src/lib/components/settings.svelte +++ b/src/lib/components/settings.svelte @@ -1,7 +1,7 @@ diff --git a/src/lib/state.ts b/src/lib/state.svelte.ts similarity index 100% rename from src/lib/state.ts rename to src/lib/state.svelte.ts From a4055923efcd5f7c3acf4f0435236fc6e30649bf Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:31:03 +1100 Subject: [PATCH 15/26] add settings to command --- src/lib/components/app-sidebar.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index e9be56f9..6bb304b0 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -329,7 +329,12 @@ {/each} {#if $preferencesStore.experimentalFeatures} - + { + settingsOpen.current = true; + commandOpen = false; + }} + > Settings {/if} From ba54836aad36a9e80de9897fb2d932bebbe85acb Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:44:49 +1100 Subject: [PATCH 16/26] add themes --- src/lib/theme.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/lib/theme.ts diff --git a/src/lib/theme.ts b/src/lib/theme.ts new file mode 100644 index 00000000..ae9ed149 --- /dev/null +++ b/src/lib/theme.ts @@ -0,0 +1,31 @@ +export const themes = [ + { value: 'light', label: 'Light' }, + { value: 'dark', label: 'Dark' }, + { value: 'black', label: 'Black' }, + { value: 'catppuccin-latte', label: 'Catppuccin Latte' }, + { value: 'catppuccin-frappe', label: 'Catppuccin Frappe' }, + { value: 'catppuccin-macchiato', label: 'Catppuccin Macchiato' }, + { value: 'catppuccin-mocha', label: 'Catppuccin Mocha' }, + { value: 'gruvbox-light', label: 'Gruvbox Light' }, + { value: 'gruvbox-dark', label: 'Gruvbox Dark' }, + { value: 'solarised', label: 'Solarised' }, + { value: 'github', label: 'GitHub' }, + { value: 'terminal', label: 'Terminal' }, + { value: 'material-red', label: 'Material Red' }, + { value: 'material-green', label: 'Material Green' }, + { value: 'material-blue', label: 'Material Blue' }, + { value: 'material-yellow', label: 'Material Yellow' }, + { value: 'shadcn-zinc', label: 'Zinc' }, + { value: 'shadcn-slate', label: 'Slate' }, + { value: 'shadcn-stone', label: 'Stone' }, + { value: 'shadcn-gray', label: 'Gray' }, + { value: 'shadcn-neutral', label: 'Neutral' }, + { value: 'shadcn-red', label: 'Red' }, + { value: 'shadcn-rose', label: 'Rose' }, + { value: 'shadcn-orange', label: 'Orange' }, + { value: 'shadcn-green', label: 'Green' }, + { value: 'shadcn-blue', label: 'Blue' }, + { value: 'shadcn-yellow', label: 'Yellow' }, + { value: 'shadcn-violet', label: 'Violet' }, + { value: 'google-classroom', label: 'Google Classroom :)' } +]; From d76deb8c4b1193ab8e37a8061dafccaaf12e3889 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 18:48:01 +1100 Subject: [PATCH 17/26] add theme selector --- src/lib/components/settings.svelte | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/lib/components/settings.svelte b/src/lib/components/settings.svelte index f8c576bf..58719900 100644 --- a/src/lib/components/settings.svelte +++ b/src/lib/components/settings.svelte @@ -1,7 +1,14 @@ @@ -9,5 +16,16 @@ Settings + Appearence + + + {triggerContent} + + + {#each themes as theme} + {theme.label} + {/each} + + From 86272293a591aff7039d3fead634e14a6ffe6ad9 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:01:36 +1100 Subject: [PATCH 18/26] add theme element --- src/routes/+layout.svelte | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 871a0990..bb9c741e 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -13,12 +13,17 @@ // Third-party utilities import { ModeWatcher } from 'mode-watcher'; + import clsx from 'clsx'; + + import { preferencesStore } from '$lib/stores'; EduTools +
+ From 991096b14468b0f7c2e92cad3e481f0b976b4c81 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:02:21 +1100 Subject: [PATCH 19/26] add comment --- src/routes/+layout.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index bb9c741e..74009e5e 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -22,6 +22,7 @@ EduTools +
From 1a335f5de6d89d7a9b0a9ca7b405e90657a95977 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:05:07 +1100 Subject: [PATCH 20/26] add more theme --- src/lib/theme.ts | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/src/lib/theme.ts b/src/lib/theme.ts index ae9ed149..5d863576 100644 --- a/src/lib/theme.ts +++ b/src/lib/theme.ts @@ -1,6 +1,6 @@ export const themes = [ - { value: 'light', label: 'Light' }, - { value: 'dark', label: 'Dark' }, + { value: 'shadcn-zinc-light', label: 'Shadcn Zinc Light' }, + { value: 'shadcn-zinc-dark', label: 'Shadcn Zinc Dark' }, { value: 'black', label: 'Black' }, { value: 'catppuccin-latte', label: 'Catppuccin Latte' }, { value: 'catppuccin-frappe', label: 'Catppuccin Frappe' }, @@ -15,17 +15,27 @@ export const themes = [ { value: 'material-green', label: 'Material Green' }, { value: 'material-blue', label: 'Material Blue' }, { value: 'material-yellow', label: 'Material Yellow' }, - { value: 'shadcn-zinc', label: 'Zinc' }, - { value: 'shadcn-slate', label: 'Slate' }, - { value: 'shadcn-stone', label: 'Stone' }, - { value: 'shadcn-gray', label: 'Gray' }, - { value: 'shadcn-neutral', label: 'Neutral' }, - { value: 'shadcn-red', label: 'Red' }, - { value: 'shadcn-rose', label: 'Rose' }, - { value: 'shadcn-orange', label: 'Orange' }, - { value: 'shadcn-green', label: 'Green' }, - { value: 'shadcn-blue', label: 'Blue' }, - { value: 'shadcn-yellow', label: 'Yellow' }, - { value: 'shadcn-violet', label: 'Violet' }, + { value: 'shadcn-slate-light', label: 'Shadcn Slate Light' }, + { value: 'shadcn-slate-dark', label: 'Shadcn Slate Dark' }, + { value: 'shadcn-stone-light', label: 'Shadcn Stone Light' }, + { value: 'shadcn-stone-dark', label: 'Shadcn Stone Dark' }, + { value: 'shadcn-gray-light', label: 'Shadcn Gray Light' }, + { value: 'shadcn-gray-dark', label: 'Shadcn Gray Dark' }, + { value: 'shadcn-neutral-light', label: 'Shadcn Neutral Light' }, + { value: 'shadcn-neutral-dark', label: 'Shadcn Neutral Dark' }, + { value: 'shadcn-red-light', label: 'Shadcn Red Light' }, + { value: 'shadcn-red-dark', label: 'Shadcn Red Dark' }, + { value: 'shadcn-rose-light', label: 'Shadcn Rose Light' }, + { value: 'shadcn-rose-dark', label: 'Shadcn Rose Dark' }, + { value: 'shadcn-orange-light', label: 'Shadcn Orange Light' }, + { value: 'shadcn-orange-dark', label: 'Shadcn Orange Dark' }, + { value: 'shadcn-green-light', label: 'Shadcn Green Light' }, + { value: 'shadcn-green-dark', label: 'Shadcn Green Dark' }, + { value: 'shadcn-blue-light', label: 'Shadcn Blue Light' }, + { value: 'shadcn-blue-dark', label: 'Shadcn Blue Dark' }, + { value: 'shadcn-yellow-light', label: 'Shadcn Yellow Light' }, + { value: 'shadcn-yellow-dark', label: 'Shadcn Yellow Dark' }, + { value: 'shadcn-violet-light', label: 'Shadcn Violet Light' }, + { value: 'shadcn-violet-dark', label: 'Shadcn Violet Dark' }, { value: 'google-classroom', label: 'Google Classroom :)' } ]; From b9325bb6ae4bec574e03518e03336619919c1e62 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:21:54 +1100 Subject: [PATCH 21/26] add style and fix some stuff --- src/app.css | 57 ++++++++++++++++++++++++++- src/lib/components/app-sidebar.svelte | 7 +--- 2 files changed, 58 insertions(+), 6 deletions(-) diff --git a/src/app.css b/src/app.css index 714d0a92..17fb5f21 100644 --- a/src/app.css +++ b/src/app.css @@ -4,7 +4,7 @@ @plugin "@tailwindcss/typography"; @layer base { - :root { + /* :root { --background: 0 0% 3.9%; --foreground: 0 0% 98%; --muted: 0 0% 14.9%; @@ -63,6 +63,61 @@ --sidebar-accent-foreground: 240 4.8% 95.9%; --sidebar-border: 240 3.7% 15.9%; --sidebar-ring: 217.2 91.2% 59.8%; + } */ + :root { + --radius: 0.5rem; + } + + body:has(#theme.shadcn-zinc-light) { + --background: 0 0% 100%; + --foreground: 240 10% 3.9%; + --card: 0 0% 100%; + --card-foreground: 240 10% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 240 10% 3.9%; + --primary: 240 5.9% 10%; + --primary-foreground: 0 0% 98%; + --secondary: 240 4.8% 95.9%; + --secondary-foreground: 240 5.9% 10%; + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; + --accent: 240 4.8% 95.9%; + --accent-foreground: 240 5.9% 10%; + --destructive: 0 72.22% 50.59%; + --destructive-foreground: 0 0% 98%; + --border: 240 5.9% 90%; + --input: 240 5.9% 90%; + --ring: 240 5.9% 10%; + } + + body:has(#theme.shadcn-zinc-dark) { + --background: 240 10% 3.9%; + --foreground: 0 0% 98%; + --card: 240 10% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 240 10% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 240 5.9% 10%; + --secondary: 240 3.7% 15.9%; + --secondary-foreground: 0 0% 98%; + --muted: 240 3.7% 15.9%; + --muted-foreground: 240 5% 64.9%; + --accent: 240 3.7% 15.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 240 3.7% 15.9%; + --input: 240 3.7% 15.9%; + --ring: 240 4.9% 83.9%; + --sidebar-background: var(--primary-foreground); + --sidebar-foreground: var(--primary); + --sidebar-primary: var(--primary); + --sidebar-primary-foreground: var(--primary-foreground); + --sidebar-accent: var(--accent); + --sidebar-accent-foreground: var(--accent-foreground); + --sidebar-border: var(--border); + --sidebar-ring: var(--ring); } } diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 6bb304b0..5e687505 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -121,10 +121,7 @@
@@ -147,7 +144,7 @@ {...props} >
From cf3d274db0dada859d5de1889a28773c9f04e06c Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:31:38 +1100 Subject: [PATCH 22/26] fix issue with logo --- src/lib/components/app-sidebar.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 5e687505..cf0ce71f 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -121,7 +121,7 @@
From c18ee9503910cbaf7a45dbf898e157b445450f2b Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:31:56 +1100 Subject: [PATCH 23/26] add sidebar colors to zinc light --- src/app.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/app.css b/src/app.css index 17fb5f21..6818125b 100644 --- a/src/app.css +++ b/src/app.css @@ -88,6 +88,14 @@ --border: 240 5.9% 90%; --input: 240 5.9% 90%; --ring: 240 5.9% 10%; + --sidebar-background: var(--primary-foreground); + --sidebar-foreground: var(--primary); + --sidebar-primary: var(--primary); + --sidebar-primary-foreground: var(--primary-foreground); + --sidebar-accent: var(--accent); + --sidebar-accent-foreground: var(--accent-foreground); + --sidebar-border: var(--border); + --sidebar-ring: var(--ring); } body:has(#theme.shadcn-zinc-dark) { From f02addecb2d8d1ad99e34a32578723fe619397d4 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:36:28 +1100 Subject: [PATCH 24/26] add black theme --- src/app.css | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/app.css b/src/app.css index 6818125b..3a7769c2 100644 --- a/src/app.css +++ b/src/app.css @@ -127,6 +127,36 @@ --sidebar-border: var(--border); --sidebar-ring: var(--ring); } + + body:has(#theme.black) { + --background: 0 0% 0%; + --foreground: 0 0% 100%; + --card: 0 0% 0%; + --card-foreground: 0 0% 100%; + --popover: 0 0% 0%; + --popover-foreground: 0 0% 100%; + --primary: 0 0% 100%; + --primary-foreground: 0 0% 0%; + --secondary: 0 0% 0%; + --secondary-foreground: 0 0% 100%; + --muted: 0 0% 0%; + --muted-foreground: 0 0% 100%; + --accent: 0 0% 100%; + --accent-foreground: 0 0% 0%; + --destructive: 0 0% 100%; + --destructive-foreground: 0 0% 0%; + --border: 0 0% 100%; + --input: 0 0% 100%; + --ring: 0 0% 100%; + --sidebar-background: var(--primary-foreground); + --sidebar-foreground: var(--primary); + --sidebar-primary: var(--primary); + --sidebar-primary-foreground: var(--primary-foreground); + --sidebar-accent: var(--accent); + --sidebar-accent-foreground: var(--accent-foreground); + --sidebar-border: var(--border); + --sidebar-ring: var(--ring); + } } @layer base { From 3dfb9cf3a7a47247b4f65f9f9cd0d65abc4ae5f5 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:44:07 +1100 Subject: [PATCH 25/26] add some more themes --- src/app.css | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) diff --git a/src/app.css b/src/app.css index 3a7769c2..ce13eea5 100644 --- a/src/app.css +++ b/src/app.css @@ -157,6 +157,196 @@ --sidebar-border: var(--border); --sidebar-ring: var(--ring); } + + body:has(#theme.catppuccin-latte) { + --background: 220 23.076923191547394% 94.90196108818054%; /* base */ + --foreground: 234 16.022099554538727% 35.49019694328308%; /* text */ + + --muted: 223 15.909090638160706% 82.74509906768799%; /* surface0 */ + --muted-foreground: 233 12.796208262443542% 41.372549533843994%; /* subtext1 */ + + --popover: 220 23.076923191547394% 94.90196108818054%; /* base */ + --popover-foreground: 234 16.022099554538727% 35.49019694328308%; /* text */ + + --card: 220 23.076923191547394% 94.90196108818054%; /* base */ + --card-foreground: 234 16.022099554538727% 35.49019694328308%; /* text */ + + --border: 225 13.55932205915451% 76.86274647712708%; /* surface1 */ + --input: 225 13.55932205915451% 76.86274647712708%; /* surface1 */ + + --primary: 266 85.04672646522522% 58.03921818733215%; /* accent - Mauve */ + --primary-foreground: 220 23.076923191547394% 94.90196108818054%; /* base */ + + --secondary: 223 15.909090638160706% 82.74509906768799%; /* surface0 */ + --secondary-foreground: 234 16.022099554538727% 35.49019694328308%; /* text */ + + --accent: 223 15.909090638160706% 82.74509906768799%; /* surface0 */ + --accent-foreground: 234 16.022099554538727% 35.49019694328308%; /* text */ + + --destructive: 347 86.66666746139526% 44.11764740943909%; /* red */ + --destructive-foreground: 220 21.95121943950653% 91.96078181266785%; /* mantle */ + + --ring: 234 16.022099554538727% 35.49019694328308%; /* text */ + + --chart-1: 347 86.66666746139526% 44.11764740943909%; /* red */ + --chart-2: 183 73.86363744735718% 34.50980484485626%; /* teal */ + --chart-3: 220 91.4893627166748% 53.921568393707275%; /* blue */ + --chart-4: 35 76.98412537574768% 49.41176474094391%; /* yellow */ + --chart-5: 109 57.63546824455261% 39.803922176361084%; /* green */ + + --sidebar-background: var(--primary-foreground); + --sidebar-foreground: var(--primary); + --sidebar-primary: var(--primary); + --sidebar-primary-foreground: var(--primary-foreground); + --sidebar-accent: var(--accent); + --sidebar-accent-foreground: var(--accent-foreground); + --sidebar-border: var(--border); + --sidebar-ring: var(--ring); + } + + body:has(#theme.catppuccin-frappe) { + --background: 229 18.644067645072937% 23.137255012989044%; /* base */ + --foreground: 227 70.14925479888916% 86.86274290084839%; /* text */ + + --muted: 230 15.584415197372437% 30.19607961177826%; /* surface0 */ + --muted-foreground: 227 43.689319491386414% 79.8039197921753%; /* subtext1 */ + + --popover: 229 18.644067645072937% 23.137255012989044%; /* base */ + --popover-foreground: 227 70.14925479888916% 86.86274290084839%; /* text */ + + --card: 229 18.644067645072937% 23.137255012989044%; /* base */ + --card-foreground: 227 70.14925479888916% 86.86274290084839%; /* text */ + + --border: 227 14.73684161901474% 37.254902720451355%; /* surface1 */ + --input: 227 14.73684161901474% 37.254902720451355%; /* surface1 */ + + --primary: 277 59.01639461517334% 76.07843279838562%; /* accent - Mauve */ + --primary-foreground: 229 18.644067645072937% 23.137255012989044%; /* base */ + + --secondary: 230 15.584415197372437% 30.19607961177826%; /* surface0 */ + --secondary-foreground: 227 70.14925479888916% 86.86274290084839%; /* text */ + + --accent: 230 15.584415197372437% 30.19607961177826%; /* surface0 */ + --accent-foreground: 227 70.14925479888916% 86.86274290084839%; /* text */ + + --destructive: 359 67.78523325920105% 70.78431248664856%; /* red */ + --destructive-foreground: 231 18.81188154220581% 19.80392187833786%; /* mantle */ + + --ring: 227 70.14925479888916% 86.86274290084839%; /* text */ + + --radius: 0.5rem; + + --chart-1: 359 67.78523325920105% 70.78431248664856%; /* red */ + --chart-2: 172 39.22652006149292% 64.50980305671692%; /* teal */ + --chart-3: 222 74.24242496490479% 74.11764860153198%; /* blue */ + --chart-4: 40 62.043797969818115% 73.13725352287292%; /* yellow */ + --chart-5: 96 43.90243887901306% 67.84313917160034%; /* green */ + + --sidebar-background: var(--primary-foreground); + --sidebar-foreground: var(--primary); + --sidebar-primary: var(--primary); + --sidebar-primary-foreground: var(--primary-foreground); + --sidebar-accent: var(--accent); + --sidebar-accent-foreground: var(--accent-foreground); + --sidebar-border: var(--border); + --sidebar-ring: var(--ring); + } + + body:has(#theme.catppuccin-macchiato) { + --background: 232 23.404255509376526% 18.431372940540314%; /* base */ + --foreground: 227 68.2539701461792% 87.64705657958984%; /* text */ + + --muted: 230 18.796992301940918% 26.07843279838562%; /* surface0 */ + --muted-foreground: 228 39.21568691730499% 80.0000011920929%; /* subtext1 */ + + --popover: 232 23.404255509376526% 18.431372940540314%; /* base */ + --popover-foreground: 227 68.2539701461792% 87.64705657958984%; /* text */ + + --card: 232 23.404255509376526% 18.431372940540314%; /* base */ + --card-foreground: 227 68.2539701461792% 87.64705657958984%; /* text */ + + --border: 231 15.606936812400818% 33.92156958580017%; /* surface1 */ + --input: 231 15.606936812400818% 33.92156958580017%; /* surface1 */ + + --primary: 267 82.69230723381042% 79.60784435272217%; /* accent - Mauve */ + --primary-foreground: 232 23.404255509376526% 18.431372940540314%; /* base */ + + --secondary: 230 18.796992301940918% 26.07843279838562%; /* surface0 */ + --secondary-foreground: 227 68.2539701461792% 87.64705657958984%; /* text */ + + --accent: 230 18.796992301940918% 26.07843279838562%; /* surface0 */ + --accent-foreground: 227 68.2539701461792% 87.64705657958984%; /* text */ + + --destructive: 351 73.9130437374115% 72.9411780834198%; /* red */ + --destructive-foreground: 233 23.076923191547394% 15.294118225574493%; /* mantle */ + + --ring: 227 68.2539701461792% 87.64705657958984%; /* text */ + + --radius: 0.5rem; + + --chart-1: 351 73.9130437374115% 72.9411780834198%; /* red */ + --chart-2: 171 46.83544337749481% 69.01960968971252%; /* teal */ + --chart-3: 220 82.8125% 74.90196228027344%; /* blue */ + --chart-4: 40 69.91150379180908% 77.84313559532166%; /* yellow */ + --chart-5: 105 48.25174808502197% 71.96078300476074%; /* green */ + + --sidebar-background: var(--primary-foreground); + --sidebar-foreground: var(--primary); + --sidebar-primary: var(--primary); + --sidebar-primary-foreground: var(--primary-foreground); + --sidebar-accent: var(--accent); + --sidebar-accent-foreground: var(--accent-foreground); + --sidebar-border: var(--border); + --sidebar-ring: var(--ring); + } + + body:has(#theme.catppuccin-mocha) { + --background: 240 21.052631735801697% 14.901961386203766%; /* base */ + --foreground: 226 63.93442749977112% 88.03921341896057%; /* text */ + + --muted: 237 16.239316761493683% 22.94117659330368%; /* surface0 */ + --muted-foreground: 227 35.29411852359772% 80.0000011920929%; /* subtext1 */ + + --popover: 240 21.052631735801697% 14.901961386203766%; /* base */ + --popover-foreground: 226 63.93442749977112% 88.03921341896057%; /* text */ + + --card: 240 21.052631735801697% 14.901961386203766%; /* base */ + --card-foreground: 226 63.93442749977112% 88.03921341896057%; /* text */ + + --border: 234 13.20754736661911% 31.176471710205078%; /* surface1 */ + --input: 234 13.20754736661911% 31.176471710205078%; /* surface1 */ + + --primary: 267 83.50515365600586% 80.98039031028748%; /* accent - Mauve */ + --primary-foreground: 240 21.052631735801697% 14.901961386203766%; /* base */ + + --secondary: 237 16.239316761493683% 22.94117659330368%; /* surface0 */ + --secondary-foreground: 226 63.93442749977112% 88.03921341896057%; /* text */ + + --accent: 237 16.239316761493683% 22.94117659330368%; /* surface0 */ + --accent-foreground: 226 63.93442749977112% 88.03921341896057%; /* text */ + + --destructive: 343 81.25% 74.90196228027344%; /* red */ + --destructive-foreground: 240 21.311475336551666% 11.96078434586525%; /* mantle */ + + --ring: 226 63.93442749977112% 88.03921341896057%; /* text */ + + --radius: 0.5rem; + + --chart-1: 343 81.25% 74.90196228027344%; /* red */ + --chart-2: 170 57.35294222831726% 73.33333492279053%; /* teal */ + --chart-3: 217 91.86992049217224% 75.88235139846802%; /* blue */ + --chart-4: 41 86.04651093482971% 83.13725590705872%; /* yellow */ + --chart-5: 115 54.09836173057556% 76.07843279838562%; /* green */ + + --sidebar-background: var(--primary-foreground); + --sidebar-foreground: var(--primary); + --sidebar-primary: var(--primary); + --sidebar-primary-foreground: var(--primary-foreground); + --sidebar-accent: var(--accent); + --sidebar-accent-foreground: var(--accent-foreground); + --sidebar-border: var(--border); + --sidebar-ring: var(--ring); + } } @layer base { From 7a5704f2cf8990b706626bf8d0d5f96007d84da0 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Sun, 30 Mar 2025 19:45:02 +1100 Subject: [PATCH 26/26] add discalimer --- src/lib/components/settings.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/components/settings.svelte b/src/lib/components/settings.svelte index 58719900..4c60d31e 100644 --- a/src/lib/components/settings.svelte +++ b/src/lib/components/settings.svelte @@ -17,6 +17,7 @@ Settings Appearence + Most of these themes haven't been implemented yet. {triggerContent}