From dfe15fac32c5dd93f09061b68e6d789083a10327 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Fri, 23 May 2025 15:37:47 +0700 Subject: [PATCH] enhancement: built-in custom emoji and show metadata message (#5085) * enhancement: built-in custom emoji and show metadata message * chore: seperate render avatar as component * fix: avatar on assistant screen --- web-app/public/images/emoji/akarshan.png | Bin 0 -> 6194 bytes web-app/public/images/emoji/alan.png | Bin 0 -> 5366 bytes web-app/public/images/emoji/alex.png | Bin 0 -> 4721 bytes web-app/public/images/emoji/bach.png | Bin 0 -> 5077 bytes web-app/public/images/emoji/daniel.png | Bin 0 -> 5273 bytes web-app/public/images/emoji/doug.png | Bin 0 -> 4958 bytes web-app/public/images/emoji/emre.png | Bin 0 -> 5732 bytes web-app/public/images/emoji/faisal.png | Bin 0 -> 5237 bytes web-app/public/images/emoji/gaunerst.png | Bin 0 -> 5185 bytes web-app/public/images/emoji/hien.png | Bin 0 -> 4980 bytes web-app/public/images/emoji/louis.png | Bin 0 -> 17278 bytes web-app/public/images/emoji/nicole.png | Bin 0 -> 5221 bytes web-app/public/images/emoji/rach.png | Bin 0 -> 5030 bytes web-app/public/images/emoji/rex.png | Bin 0 -> 5129 bytes web-app/public/images/emoji/sang.png | Bin 0 -> 5045 bytes web-app/public/images/emoji/yuuki.png | Bin 0 -> 5163 bytes web-app/src/containers/AvatarEmoji.tsx | 31 +++++++ web-app/src/containers/DropdownAssistant.tsx | 39 ++++++--- web-app/src/containers/ThreadContent.tsx | 64 +++++++++++++- .../containers/dialogs/AddEditAssistant.tsx | 19 +++- web-app/src/hooks/useAssistant.ts | 13 ++- web-app/src/routes/assistant.tsx | 15 +++- web-app/src/utils/teamEmoji.ts | 82 ++++++++++++++++++ 23 files changed, 239 insertions(+), 24 deletions(-) create mode 100644 web-app/public/images/emoji/akarshan.png create mode 100644 web-app/public/images/emoji/alan.png create mode 100644 web-app/public/images/emoji/alex.png create mode 100644 web-app/public/images/emoji/bach.png create mode 100644 web-app/public/images/emoji/daniel.png create mode 100644 web-app/public/images/emoji/doug.png create mode 100644 web-app/public/images/emoji/emre.png create mode 100644 web-app/public/images/emoji/faisal.png create mode 100644 web-app/public/images/emoji/gaunerst.png create mode 100644 web-app/public/images/emoji/hien.png create mode 100644 web-app/public/images/emoji/louis.png create mode 100644 web-app/public/images/emoji/nicole.png create mode 100644 web-app/public/images/emoji/rach.png create mode 100644 web-app/public/images/emoji/rex.png create mode 100644 web-app/public/images/emoji/sang.png create mode 100644 web-app/public/images/emoji/yuuki.png create mode 100644 web-app/src/containers/AvatarEmoji.tsx create mode 100644 web-app/src/utils/teamEmoji.ts diff --git a/web-app/public/images/emoji/akarshan.png b/web-app/public/images/emoji/akarshan.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b573d3e014dc463e6c02941439f7db2a633a20 GIT binary patch literal 6194 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 literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/alan.png b/web-app/public/images/emoji/alan.png new file mode 100644 index 0000000000000000000000000000000000000000..8302524f47dbb5721b09401d94f938a6686ea9fc GIT binary patch literal 5366 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

iSKn@xHc)uYY8h?`S(MAzcU^sg<)X zxZe(MZkK|MpRd~=JG}x*Cx%nirT{Ggr_K~a**OVlKXU>3k6Q@`Jguam(&LCoC#=g! zR8hj|245dutf+H)4`N~UyAnTjVRqaO*L_ZHGejD6hDqG>h($?6$y~l);76<(Q?S}d znXc|bELP8-E6? z`_w`%#_kEr=pfISRP=ywlx$i(a4(fP)qMmVe~5W-@{v&0<{H1T9(kgo2s2dpT@qRO z1KUn8Y@{Ecocicxe_0Nv-fNDqE)dzvn2xI-)z4rg7amvSRI(9>cE9+Fdi}xs6uN?d zDN4}DcU31Et}%2wd@W3IiOppooJvn1TlNWC{@hgIT$Rvnw0j1xI+aVd_y~8QkN&GB ze?EK0kwuwkHSY#f!-nVH`Bml0i-j3;HlCsyRwy>YT&-oz#U);L%gY=J!w~uc0Q{o!&3^mdW3T*5cbP57>P!eLdJvUQpf0 z8(wW7L}*8;t_q_&8c3q(f1+p;1N}jMk-#t1NNF8$^pTln4qBE&co6({)NwBD<-R^2 zk%WBuqseBsLA(heR zi2=6Q)4qatu)-2c_2UP=tB2$iQZd+Vq15Z?h&CI+FT$1TMje&I9&$u!9^mdBl~LOJ z1UU$)#Y#?lorAGY2*)M@7hnyVzGYpVkqqV^s=5iI#Is6%(5R+`kHSM$$;jZ3HImqR zPLDO|I)bhU8<$BRN`_RwfOU0sg$64;4)yEMG%lf>W?F>Tp_j8np7MSw5+Zn&Nw!6* zVOPgkWq+ETJ!)Zr?8ThcCLV_o3a)#3L>?}dYKL0U()m3b`5Kt#?b~`r6hGv*tvE%! zun?@0z2$*NHhY9-z8m=NinK~of9{Sv&tl`$Hid`T_L{9XF}Gbor{AWOnCqm>>E6=1 zPb^voWGje&wJv@diV)TI-qOZ`d*Ckm77O$h{#5lypui5su)9 zm;~aBjmsN5@OusF0jb-P-=917g9bGD(tlEd7Ua9@q*gMRcs*hBvl&r%32X!8{{Qv*} literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/alex.png b/web-app/public/images/emoji/alex.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee7d122e37f25728712b98441c6955f2837871b GIT binary patch literal 4721 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 literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/bach.png b/web-app/public/images/emoji/bach.png new file mode 100644 index 0000000000000000000000000000000000000000..92003adc5f78986e9571a16abfe7088e087fab37 GIT binary patch literal 5077 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 literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/daniel.png b/web-app/public/images/emoji/daniel.png new file mode 100644 index 0000000000000000000000000000000000000000..5b18f0be69d2cc557dbabf1149b8e37a90077dcb GIT binary patch literal 5273 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 XB38Z#=#|o+`>&d^wo;vfb@=}Ps^55} literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/faisal.png b/web-app/public/images/emoji/faisal.png new file mode 100644 index 0000000000000000000000000000000000000000..e832438a6a9eff379d87e416a67b9e324afd18b3 GIT binary patch literal 5237 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 literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/hien.png b/web-app/public/images/emoji/hien.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae61ea9068acf990eedfaeaefaca550f5ebda33 GIT binary patch literal 4980 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�=nC5U^Bz!D(p0Q{Vj1y2?NBWP literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/louis.png b/web-app/public/images/emoji/louis.png new file mode 100644 index 0000000000000000000000000000000000000000..54a0f7ca78eb033a197b114559a4d2e0a23ab92c GIT binary patch literal 17278 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 literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/nicole.png b/web-app/public/images/emoji/nicole.png new file mode 100644 index 0000000000000000000000000000000000000000..556f52bb5f70e35c91a3e6be65c46a43749301f7 GIT binary patch literal 5221 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 literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/rex.png b/web-app/public/images/emoji/rex.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d746471cdb97e2c635e8a59e017bcebf8c7a79 GIT binary patch literal 5129 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 literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/sang.png b/web-app/public/images/emoji/sang.png new file mode 100644 index 0000000000000000000000000000000000000000..d206f01c0bc296ff2d4eaad487ed131fff77b3eb GIT binary patch literal 5045 zcmZWrcR1Wzw;nxOh#I3tiEgxL8AK4B!RWmVMjK^B@0}osPDpg4iIG<=%i4%Zth^W6PS^5=vW{|6 zJ#QAyI$9ToS^*Fe30Ccgm4GMdf=Ucadx}Z%S_R9`0Qg)u90f!#BurytsF|2Z$a4~c zn@^juM5z&mn((WOo0};r-vB~d02jlO?dyn~$bIcko$iW1832$wI9D*qx7;1^f*LPG zWA->u7JavmeH2ZS~5a_aSp_-Bc=B|TvsTv@rw?>p$^=hc<^5GC|; zMb!NXF2z)`$b~f9W98oNm9bhQn*EaPQb`RUx%3y)SnqB=HDR`I4MWQq+ySJpe7L=& z;vy&N-b!tuT^8sdAs6QUJi>XNs!rS~UGiruQxV;GeE=|@A3drSAD6dkDyLpn+5Dov zpcRNPGUrQp`709i`!w5RTI=~;qm<4av#xaMoKzZWmd6AmrZ)i(oHTVQIJXn}P7m@> zvFTIs9&NTxvBEvD<4g5mBl8q`ZhtWXU&-~?q#1cuQk;ST>2miML%}R^K>_R&p|Y0P z_%XQscRev*JWIq@^7scSiFME(8+p}2Ob>>++S~L2EVu5Cwy`4iG#50K@nkc2 zMF3sl5l_&jiF&wQZ^!{LL7tLq!~iNFR*PUhFZKG!O35A&pF9*?fc2<=^miy>E$;KK zdo9>ni^SN;KMJ3K4M|#9NNur%4Dt2DybA8T3K_PfFT?k;By#`|e6$+FN(>iS1h zhng&6-3Rn6a@@z+`-qDxClQ0K{os)@fpEmogU2z1t@0fZK`N}z@+uG>_K2b}RR?J( zcAEUum}}X+b2=&fyikFsS7Xu+2yE**6p^~O?EXze~N z2|Z=B%4fbFDk~nL3qhAm&rFj{t08|r8dTV$UMVY_+JhP74v{nWbIvAef8cBqV|U`R zo5Z7B$q`c8sO3cuH^mml7MvE{mhBd+IVCV*O?Y$9#S-QI(*UdviiHT-*v`b@sC*VK zauPy;2tn+mmr7i0I~>S+)f7>LlnRP(g~k)^E2?u=v+3V6iCK>!i$$ogr!Wm|1U)5HmUR*Mnj|0KF$C>|dfvvL`!u5A399l2MU)c|U(nm9DUdgfs>jgnW3oMHktGcuet00AL>Pv~; zEv$Ou`a$m4mlGJvnkyl2d9Zw8|myqzR+q2Rv~VTE`_G<=f@{Z}4*=Ayj~@h?i$7uU5Y=ui*LIF~%uCe4mQ;Tseh zF4y)3Y8ax`MV@*_t}zYsW-l9mH@-GztztB`Z+zCM_fEPI-N^e+%Q0yK;x*@mD@83; ziZmZf+vM|m*dF&oo*6wgNjjFcwfprKI&VzmYy4N=;`4oegw0X`HI<~5l$Fhfr^dkzRx`HWcN%>yQMU9BCYH0Xi{6o;L?;6qZ}e;HJ^Rky4)k?n zcq`6=RYs2)e%ih6nXV1H057Bm)#E0KL)cr6HX)Jo^_78ArhN<&k_- z1~U)SyB{t$9XGR=zOS4IbQ}a+U$!4b&;6d0aQ!fkKexH7vMc+Z%xA;T4ZJ1&+GorE z5Pa$@W0O@sVMJh9)8^dv$=t=9xy`K2z&HOy?hJE5b@BU*=j_>q{)Nm5`bh2A>4g5s z9#gX~%NRmxAEmrvO{o>$wjDUl~A+Cc_<49pFgs z7Xj+l>NZ2shWRsxGocdOEqd-5%TvpE2YG}o5t$Kzgv-Q%w5}!+x&6v~s%`E4KI4aq zw6rMDh-rXz>?OrW3Y$u1(M(ZE5hzzsQ`#P!m1mj*?mb>}UGG@&J>>CW3lI;IyfKP1 zQS}`>f;LZ9m9xQ_;A!weY=m6nqL<$jKeO}b7qu_0=u)%lvZ{^Ft70}Z$8k+Ty*?k|1vaZ~tGkZWTvtv2H(70&aJg45E?4^NltGhs^UyaKcW zohkO|%|d%d9TwMGykopAyzdRRs!f|c+^C(VcBjU+R;K2ieos?X)0uB~Hd!&coAti8 zAa*7iB>qvAWVWDJrq|Nsw(_u z$LO&5m5JXb!7Ot{Q0CmL`tq8gI_GJ-9lNEqSrc%R=qujz^$ao>(r@3*sxI0+ zN(y7%+dWyBH%CA%S_wXIdXJ*ph5Y@4t*<9rv;r*#I%+N=F9?9FKtEs}kUmE=XE1xo z4t~@h`Uz+H?m5GbbDi_I`HBf+k2?%0OnwKR6Qj*!1dO{f-QWq2$$bYG`o^jjM#oVn z=56Ke`x`Izc4TRMDnEQ_ME#;gS)4FWOPhN>JyZCm@^hd&HMR6mDzzeqc9GRe2G zxX>#_tATF0=*k{?@FSmdh8tIK`yQ^DwB8fUT=6N!7Y`L)2=)fcxV-9hxAz0@c$ ze^y#n=BK#Fug~4IJs?F8=d<{0$YtS4+5oCB*zejG#^>scX~Z0_B2GI!eWs&ZCx>3oPGOL4{8DFS!i@V4ZhA3 z5dd+5^CXra#E&$KnPy~Y28}-)K&wuP(E^J^Yvr&BhgagUtcU_!W4u|o<+T7S_sEpM zgOpt-C&Kx8(WUmM+{8_|PcH4^m_(vnx@4X0s&CX5ZeBboId8^*GRO%Ba$i+EzkR{# z!wgmIG&BG_xBeXfRx})dd+TA{8t~Qt0GyO40Kx4_acc?%*#Bhd3vmAN|3b>?%B!f{ zf^=;>U@%ut2Lv*w)g+SOW7b?1gvZk)-VAd7q?p^008!px^-P(NGlc} z7iU*bDIaOpzYtQl{+}?2mE|u8(n*@tPy@mukMMx8hzSS^2(ro$v9Pd!J#6iybQGTb zO~2hqvpOJ=Zc-qSx3{-|w}=43!yY6gDJcmO6b1YMj_0<9jIbE^FZlmU{I}r0h=%_nivOGVuf+c)>UqLEKCn1P1+cV=_d=S-;Q#0DiEFf*e$tv^^b;pr59T z9Nn2y(59#S=3-S)$H?ifZHpCl{UT_jlk5CV@OVPPLp;+$ISP|QR&A>0B{Bc}QymXr zLB5&|cycw*TXIiwJ<)sbhf>0|R{nkt;`$N=Z3IVZ7qJkn5_D9i6s2*2R9B5kTx&|B z6!X1Ck0u=(r+y(<{5!%}AXHHb`#11+eQX+~ zx)f_4%-HAlPLB@?l^pwG!JTiqHr6(0XIi(--$!*$)7-@tBeP3~KOwNBXvl%wLO zjom=XJ86;eXmTH!k>8`i0ZPIJmu;v5S}xpYlKcDvE`#&ZB;^$qJX1rTcCBhrAIjCt z+WiZg*X=8s=<`VM`!r2R0;oIR9-s79kIu8OZ7t&_6{(De+;;Wc7u-$Pt>Rq3Eh z0!9V~a-2`B%7Xe1)Ti znjE=UiIVYB1g(8E$}=l_mT?#v@0xZa@`F%&9XICR>`*Kurfkhca_a904@|uShFLzw zR9Bu|FiVel)Q!zf+Z%&)IaJ~U8z(-SX3)}R*RC~>8BXfd%zuq@lF8rt9KZga7?_Wg z(aZg`M+eL%PXNo!v{+TIIkjJ&apqz7WS`|;VGw2(Z8lnkS65gAz~W7H;yA7cX{A+h z$NJ`(WedL?8cjDZchpDoWv4fzONacpW?{^-V$B6+g_W_Got@l4+C($-fWjF~#p5~Y zRq`(7m+RD>N-atR&^E^9TolIfV;473$sR4%9BVU-gM0avZ@f#Jbq{o zo((eY?(DA|TMfLlQ10bW$?%#%V8bs5iOVNf?FvSIF(LL4320oCj;J2QYr^NHHQ93- zmXtzO<|^Z3mUqS|K}q$Jm>{{zrD~Ceyb#iK+d4z3OPodJOc<~0z@9!dXA9^vYTiB( z@ZN0<14hHWUyW&3n|b@X3fLmM*cs;3U?wm8*CV>g*{LZ{4lUpR(@R8y=teS+aKaN3}-X&`qKTzLpOH4$q$;Hx? z@u`<1A5Yjz60t@~{G`|m2d4(3@*>Ckc%k6A;*iF2>rDIhNnAda%m>jVne^;>$+fm? zYiR;mWW+cuzX>TK>-4FTb>~UkgD_b7RM79$)0%hJnA+Q4qoih63TofvgcWq*!z&xY z!hnyF!!{2FcB$N3U-+>1csxxpwzkD7_8hhoVHu$F-<|7eqEFDBd#xN7@>R510V63@ zZ_BZ57p#&(-lypbaRbhC93@mgswQVoJ}1Bt^R#qr&K4-~nST_$K4^x=_^zPVi-y(o zv7P#gzU7c#yg|5mu!UJrb2Ujv#Ie}+NOAuG zm4%^44tvKPvU7L(dWg{88dR?b%8tZH`5{gL=a2=o-3Fy?1S^{T7 zW%ha4<-?UWwH{geE_PULwMiDUAMlY0V`?O`){7z85=et}L?6QyZ-4C`A2;gdosYjD zNNDL}`QDu`zim6-cf*D_hYx2~ez^RguS2YVOX$`(lbMgq)yl}A^*iVp1+u#wOQaIb zeQZjLY?oWQrlxL~AWyxS{}98-OAQG=$0T)q_w@84Ywaky0T4pnb4fVp`~N&BR1`H8 Js-Ieh{ST#ASJD6g literal 0 HcmV?d00001 diff --git a/web-app/public/images/emoji/yuuki.png b/web-app/public/images/emoji/yuuki.png new file mode 100644 index 0000000000000000000000000000000000000000..31e950f0acc61782322ea90d45d8899b2a45f2f0 GIT binary patch literal 5163 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 { + return typeof avatar === 'string' && avatar.startsWith('/images/') +} + +/** + * Component for rendering assistant avatars with consistent styling + */ +interface AvatarEmojiProps { + avatar?: React.ReactNode + fallback?: React.ReactNode + imageClassName?: string + textClassName?: string +} + +export const AvatarEmoji: React.FC = ({ + avatar, + fallback = '👋', + imageClassName = 'w-5 h-5 object-contain', + textClassName = 'text-base', +}) => { + if (isCustomImageAvatar(avatar)) { + return Custom avatar + } + + return {avatar || fallback} +} diff --git a/web-app/src/containers/DropdownAssistant.tsx b/web-app/src/containers/DropdownAssistant.tsx index d8702de92..eb3b17565 100644 --- a/web-app/src/containers/DropdownAssistant.tsx +++ b/web-app/src/containers/DropdownAssistant.tsx @@ -10,6 +10,7 @@ import { useAssistant } from '@/hooks/useAssistant' import AddEditAssistant from './dialogs/AddEditAssistant' import { IconCirclePlus, IconSettings } from '@tabler/icons-react' import { useThreads } from '@/hooks/useThreads' +import { AvatarEmoji } from '@/containers/AvatarEmoji' const DropdownAssistant = () => { const { @@ -34,13 +35,21 @@ const DropdownAssistant = () => {

-
{ > {assistants.map((assistant) => (
- - +
{ setCurrentAssistant(assistant) updateCurrentThreadAssistant(assistant) }} > - {assistant?.avatar} - {assistant.name} - +
+ +
+
+ {assistant.name} +
+
diff --git a/web-app/src/containers/ThreadContent.tsx b/web-app/src/containers/ThreadContent.tsx index 5c89f20a6..07e3593f9 100644 --- a/web-app/src/containers/ThreadContent.tsx +++ b/web-app/src/containers/ThreadContent.tsx @@ -7,6 +7,7 @@ import { IconRefresh, IconTrash, IconPencil, + IconInfoCircle, } from '@tabler/icons-react' import { useAppState } from '@/hooks/useAppState' import { cn } from '@/lib/utils' @@ -32,6 +33,9 @@ import { TooltipTrigger, } from '@/components/ui/tooltip' import { formatDate } from '@/utils/formatDate' +import { AvatarEmoji } from '@/containers/AvatarEmoji' +import CodeEditor from '@uiw/react-textarea-code-editor' +import '@uiw/react-textarea-code-editor/dist.css' const CopyButton = ({ text }: { text: string }) => { const [copied, setCopied] = useState(false) @@ -154,7 +158,7 @@ export const ThreadContent = memo( {item.content?.[0]?.text && item.role === 'user' && (
-
+

{item.content?.[0].text.value}

@@ -237,8 +241,13 @@ export const ThreadContent = memo( <> {item.showAssistant && (
-
- {assistant?.avatar || '👋'} +
+
@@ -303,6 +312,55 @@ export const ThreadContent = memo(

Delete

+ + + + + + + +

Metadata

+
+
+
+ + + Message Metadata +
+
+ +
+
+ + + + + +
+
+
{item.isLastMessage && ( diff --git a/web-app/src/containers/dialogs/AddEditAssistant.tsx b/web-app/src/containers/dialogs/AddEditAssistant.tsx index 6a06d9502..dd7bd40ef 100644 --- a/web-app/src/containers/dialogs/AddEditAssistant.tsx +++ b/web-app/src/containers/dialogs/AddEditAssistant.tsx @@ -20,6 +20,8 @@ import { DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' import { useTheme } from '@/hooks/useTheme' +import { teamEmoji } from '@/utils/teamEmoji' +import { AvatarEmoji } from '@/containers/AvatarEmoji' interface AddEditAssistantProps { open: boolean @@ -218,10 +220,15 @@ export default function AddEditAssistant({
setShowEmojiPicker(!showEmojiPicker)} > - {avatar || '😊'} +
{ - setAvatar(emojiData.emoji) + // For custom emojis, use the imageUrl instead of the emoji name + if (emojiData.isCustom && emojiData.imageUrl) { + setAvatar(emojiData.imageUrl) + } else { + setAvatar(emojiData.emoji) + } setShowEmojiPicker(false) }} /> diff --git a/web-app/src/hooks/useAssistant.ts b/web-app/src/hooks/useAssistant.ts index f24c7f3e1..559f5530a 100644 --- a/web-app/src/hooks/useAssistant.ts +++ b/web-app/src/hooks/useAssistant.ts @@ -28,12 +28,19 @@ export const useAssistant = create()( currentAssistant: defaultAssistant, addAssistant: (assistant) => set({ assistants: [...get().assistants, assistant] }), - updateAssistant: (assistant) => + updateAssistant: (assistant) => { + const state = get() set({ - assistants: get().assistants.map((a) => + assistants: state.assistants.map((a) => a.id === assistant.id ? assistant : a ), - }), + // Update currentAssistant if it's the same assistant being updated + currentAssistant: + state.currentAssistant.id === assistant.id + ? assistant + : state.currentAssistant, + }) + }, deleteAssistant: (id) => set({ assistants: get().assistants.filter((a) => a.id !== id) }), setCurrentAssistant: (assistant) => { diff --git a/web-app/src/routes/assistant.tsx b/web-app/src/routes/assistant.tsx index 4592d86d9..b725e5928 100644 --- a/web-app/src/routes/assistant.tsx +++ b/web-app/src/routes/assistant.tsx @@ -16,6 +16,7 @@ import { DialogTitle, } from '@/components/ui/dialog' import { Button } from '@/components/ui/button' +import { AvatarEmoji } from '@/containers/AvatarEmoji' // eslint-disable-next-line @typescript-eslint/no-explicit-any export const Route = createFileRoute(route.assistant as any)({ @@ -67,10 +68,16 @@ function Assistant() { >

- {assistant.avatar && ( - {assistant.avatar} - )} - {assistant.name} +
+ + + + {assistant.name} +

{/*