Merge pull request #934 from city-unit/feature/ui

This commit is contained in:
Cohee 2023-08-14 10:04:53 +03:00 committed by GitHub
commit e3d3051183
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 333 additions and 2 deletions

25
public/img/claude.svg Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="179.000000pt" height="125.000000pt" viewBox="0 0 179.000000 125.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,125.000000) scale(0.100000,-0.100000)"
stroke="none">
<path d="M445 1128 c-27 -68 -56 -141 -65 -163 -10 -22 -70 -173 -134 -335
-65 -162 -121 -304 -126 -315 -15 -31 -120 -304 -120 -310 0 -3 62 -5 138 -5
l138 0 23 58 c12 31 33 84 47 117 13 33 24 66 24 73 0 9 59 12 263 12 l263 0
16 -37 c9 -21 29 -69 43 -108 15 -38 31 -80 36 -92 8 -22 13 -23 149 -23 77 0
140 2 140 5 0 4 -83 210 -105 260 -7 17 -16 41 -20 55 -4 14 -15 43 -25 65
-10 22 -52 128 -94 235 -43 107 -84 211 -92 230 -22 51 -28 66 -69 170 -36 94
-47 119 -78 193 l-17 37 -144 0 -143 0 -48 -122z m220 -273 c10 -27 22 -54 25
-60 4 -5 15 -35 25 -65 10 -30 21 -59 25 -65 4 -5 15 -35 25 -65 10 -30 21
-59 26 -65 5 -5 9 -15 9 -22 0 -10 -36 -13 -164 -13 l-164 0 49 128 c28 70 64
164 81 210 17 46 34 80 38 75 4 -4 15 -30 25 -58z"/>
<path d="M1046 1163 c20 -49 44 -110 54 -138 20 -54 65 -168 80 -200 9 -21 34
-83 165 -415 43 -107 83 -208 91 -225 7 -16 26 -64 42 -105 l29 -75 142 -3
c133 -2 141 -1 132 15 -6 10 -63 151 -126 313 -64 162 -136 342 -160 400 -23
58 -80 198 -126 313 l-82 207 -138 0 -138 0 35 -87z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

78
public/img/kobold.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.0"
width="431.92484pt"
height="430.70734pt"
viewBox="0 0 431.92484 430.70734"
preserveAspectRatio="xMidYMid"
id="svg8"
sodipodi:docname="koboldhorde.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs12" />
<sodipodi:namedview
id="namedview10"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="pt"
showgrid="false"
inkscape:zoom="1.5043945"
inkscape:cx="237.63713"
inkscape:cy="285.82928"
inkscape:window-width="2560"
inkscape:window-height="1377"
inkscape:window-x="5112"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg8" />
<g
transform="matrix(0.1,0,0,-0.1,-40.075165,470.78832)"
stroke="none"
id="g6">
<path
d="m 2495,4698 c -3,-7 -6,-76 -7,-153 l -3,-140 -115,-5 c -63,-3 -114,-9 -114,-14 1,-4 34,-41 74,-82 l 72,-74 -4,-125 -3,-124 -65,-67 c -74,-75 -224,-205 -257,-223 -27,-14 -54,-3 -89,38 -22,26 -24,26 -156,26 -132,0 -135,0 -172,28 -52,40 -60,67 -41,135 9,30 14,56 11,59 -7,7 -47,-16 -77,-43 l -25,-24 -18,41 c -10,23 -39,56 -68,80 -63,49 -110,53 -160,12 -58,-49 -67,-65 -68,-118 0,-49 2,-53 63,-113 62,-61 63,-62 118,-62 h 56 l 72,-80 73,-80 h 51 c 61,0 66,-3 92,-53 11,-21 46,-69 77,-105 l 58,-67 -320,-3 -321,-2 -55,26 c -47,22 -67,42 -131,125 -79,102 -128,139 -186,139 -23,0 -27,-4 -27,-28 0,-61 91,-163 177,-198 64,-27 97,-59 167,-162 36,-55 75,-107 86,-117 24,-22 80,-108 80,-123 0,-6 -15,-35 -34,-64 -18,-29 -66,-113 -106,-185 l -72,-133 h -80 -79 l 2,80 c 1,44 0,83 -4,86 -3,3 -31,-8 -63,-24 -67,-33 -197,-82 -220,-82 -9,0 -34,-13 -57,-29 -36,-25 -55,-30 -129,-36 -77,-6 -87,-9 -92,-28 -13,-48 -15,-47 157,-47 90,0 232,-3 315,-7 l 152,-6 v -39 -38 h 281 280 l 57,47 c 31,25 80,56 109,69 87,39 78,44 -89,45 -84,1 -232,4 -328,8 l -175,6 55,28 c 30,15 63,27 72,27 16,0 58,44 58,61 0,17 92,150 113,164 12,7 57,17 100,21 l 77,7 62,-43 c 49,-35 72,-45 115,-48 31,-3 53,0 53,5 0,11 -93,102 -156,152 l -42,32 -4,90 c -2,50 -9,94 -16,101 -7,7 -12,16 -12,20 0,4 56,8 123,8 68,0 212,3 319,7 l 195,6 -56,50 c -72,65 -71,63 -71,125 0,29 -7,69 -15,89 -8,19 -15,37 -15,39 0,2 28,4 61,4 57,0 65,3 110,41 l 49,41 v 69 70 l 55,51 c 106,98 95,132 95,-292 v -371 l -45,-42 -44,-42 -2,-194 c -2,-219 -6,-209 76,-210 22,-1 50,-8 62,-16 18,-13 23,-13 30,-2 5,9 33,16 71,20 35,3 66,8 69,11 3,3 8,93 11,199 l 5,194 -47,32 -46,32 v 202 c 0,111 -3,281 -7,377 l -6,174 39,-31 c 107,-86 106,-85 111,-143 7,-89 10,-96 65,-134 43,-29 62,-36 101,-36 h 48 l -5,-32 c -3,-18 -8,-64 -10,-103 l -5,-70 -56,-50 c -30,-28 -55,-53 -55,-55 0,-3 78,-3 172,-2 95,2 237,1 315,-3 l 142,-7 -14,-29 c -9,-17 -15,-56 -15,-97 0,-85 -1,-86 -161,-228 -66,-58 -118,-111 -116,-118 9,-27 130,16 213,76 45,32 47,33 164,34 l 118,2 78,-114 c 44,-62 79,-122 79,-131 0,-16 -18,-19 -205,-24 -113,-3 -238,-7 -277,-8 -40,0 -73,-5 -73,-11 0,-5 21,-18 48,-30 26,-12 81,-43 123,-70 l 75,-50 h 316 316 l 9,38 9,37 58,3 c 53,3 58,1 51,-15 -4,-10 -11,-39 -15,-66 -5,-35 -15,-57 -40,-82 -40,-41 -33,-57 13,-30 18,11 79,35 137,55 l 105,35 9,50 c 5,28 14,53 20,57 6,4 52,8 103,8 h 91 l 11,31 c 6,18 11,33 11,34 0,2 -46,4 -103,7 -96,3 -106,5 -152,36 -27,18 -67,37 -89,43 -44,12 -112,44 -136,64 -8,7 -27,15 -42,17 -27,5 -27,5 -34,-73 l -7,-79 h -89 -89 l -57,118 c -31,64 -69,137 -84,161 -22,36 -28,57 -28,102 0,56 2,60 54,116 29,32 81,98 116,147 49,69 76,96 122,125 138,84 191,138 202,204 l 7,37 h -41 c -59,0 -88,-19 -159,-104 -65,-78 -120,-127 -181,-165 -34,-20 -46,-21 -362,-21 -192,0 -328,4 -328,9 0,5 19,24 42,42 22,18 61,64 85,101 44,68 44,68 90,68 44,0 49,3 134,86 84,82 89,86 122,80 49,-9 84,7 145,67 50,49 52,53 52,105 0,65 -10,84 -62,122 -61,45 -119,42 -165,-6 -18,-20 -43,-54 -54,-75 -10,-21 -22,-39 -26,-39 -3,0 -20,9 -37,19 -17,11 -40,21 -50,23 -17,3 -19,-3 -17,-57 1,-46 -3,-68 -19,-93 -31,-51 -68,-61 -191,-55 -131,7 -152,2 -179,-42 -12,-19 -29,-35 -38,-35 -17,0 -405,306 -429,337 -7,10 -13,45 -13,80 v 63 h 89 c 53,0 93,4 96,11 4,6 -4,22 -16,36 -32,34 -134,120 -150,125 -9,3 -13,49 -13,180 -1,97 -3,178 -6,181 -3,3 -33,8 -67,12 -49,5 -64,4 -68,-7 z"
id="path2" />
<path
d="m 2166,2764 c -3,-9 -6,-59 -6,-112 v -97 l -49,-42 -50,-43 h -145 -146 v -110 -110 h -25 c -17,0 -43,-16 -75,-46 -53,-49 -96,-63 -164,-50 -30,6 -42,18 -89,89 -30,45 -61,97 -70,114 -16,30 -20,31 -83,35 -36,1 -68,0 -71,-5 -2,-4 25,-67 61,-140 36,-72 68,-150 72,-173 6,-38 3,-44 -33,-80 -21,-21 -62,-58 -91,-82 -29,-24 -61,-60 -71,-80 -26,-49 -106,-125 -161,-152 -56,-28 -116,-83 -141,-132 -36,-70 -25,-84 51,-64 48,12 64,25 154,118 149,155 126,148 509,148 174,0 317,-4 317,-8 0,-5 -14,-21 -31,-38 -17,-16 -53,-63 -81,-104 l -50,-75 -57,-6 c -54,-7 -58,-9 -122,-79 l -67,-73 -58,6 c -71,8 -88,0 -149,-71 -34,-41 -45,-62 -45,-88 0,-51 23,-98 64,-129 31,-24 43,-27 85,-23 73,7 121,50 145,130 5,16 8,16 48,-2 63,-29 69,-27 62,20 -6,34 -2,45 20,75 48,63 67,70 182,66 134,-3 172,4 180,35 13,52 26,48 147,-43 63,-49 167,-130 231,-182 l 116,-94 v -57 -57 l -86,-6 c -48,-3 -89,-8 -91,-11 -3,-3 26,-33 63,-68 136,-125 121,-89 123,-288 1,-96 4,-176 6,-179 3,-2 22,12 44,32 22,19 51,43 65,52 25,17 26,20 26,126 v 109 h 119 c 66,0 122,4 125,9 3,5 -33,46 -80,90 l -86,82 7,109 c 8,130 17,146 140,256 43,38 100,90 127,117 64,61 94,63 137,8 l 32,-40 145,-3 146,-3 30,-34 c 27,-30 30,-39 26,-82 -5,-48 -4,-49 21,-48 14,1 40,4 56,8 26,5 32,2 45,-21 8,-15 32,-46 53,-68 35,-36 44,-40 86,-40 38,0 57,7 90,30 45,33 61,63 61,116 0,27 -11,46 -52,91 -66,74 -63,73 -127,73 -53,0 -55,1 -132,75 l -79,75 h -79 c -51,0 -82,4 -89,13 -5,6 -15,38 -22,70 -8,38 -22,70 -41,92 -30,33 -30,34 -9,45 14,8 116,10 328,8 355,-3 350,-2 442,-101 150,-161 142,-154 194,-161 64,-10 75,1 51,55 -26,56 -86,105 -154,125 -45,13 -65,26 -101,67 -25,28 -75,83 -111,122 -37,38 -86,101 -109,140 l -42,69 32,56 c 40,70 140,277 140,291 0,10 -40,6 -112,-12 -30,-8 -42,-18 -59,-52 -28,-54 -75,-125 -107,-159 -49,-53 -158,-50 -221,7 -21,19 -49,38 -63,44 -21,8 -26,18 -31,63 -4,29 -7,78 -7,110 v 56 l -160,4 -159,3 -39,38 -39,38 -7,112 c -4,61 -8,113 -11,115 -8,9 -40,-21 -195,-186 -89,-95 -170,-177 -181,-183 -30,-15 -11,-34 -263,249 -60,67 -112,122 -116,122 -4,0 -11,-7 -14,-16 z m 388,-524 c 4,0 59,50 121,110 62,61 117,110 123,110 16,0 72,-75 72,-96 0,-18 -290,-304 -308,-304 -11,0 -326,287 -330,301 -4,10 41,75 65,95 10,9 38,-13 131,-102 64,-62 121,-114 126,-114 z m -759,-97 c 4,-21 7,-44 8,-52 2,-11 31,-14 143,-15 l 141,-1 69,-60 c 37,-33 128,-118 201,-190 l 133,-130 v -230 c 0,-218 -4,-275 -19,-275 -3,0 -35,24 -71,53 l -65,53 -12,79 c -6,44 -12,81 -12,81 -1,1 -17,14 -37,29 -25,20 -54,30 -93,34 -42,5 -55,10 -52,21 2,8 7,51 12,95 l 8,80 51,47 c 29,25 49,51 45,57 -4,7 -93,11 -268,12 -144,1 -295,4 -335,8 l -73,6 45,43 c 45,43 46,45 46,105 0,61 1,63 56,125 31,34 60,62 64,62 5,0 12,-17 15,-37 z m 1608,-34 47,-41 v -82 c 0,-69 3,-86 20,-104 12,-12 25,-22 31,-22 6,0 8,-4 5,-9 -3,-5 -71,-12 -150,-16 l -144,-7 -159,-148 c -87,-81 -187,-171 -223,-201 l -65,-55 -5,-66 c -3,-45 -11,-72 -24,-87 -36,-39 -125,-103 -136,-96 -6,4 -10,92 -10,254 v 248 l 103,99 c 108,106 215,206 285,267 l 42,37 h 149 c 158,0 161,1 161,51 0,29 20,23 73,-22 z"
id="path4" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

3
public/img/novel.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="33" height="41" viewBox="0 0 33 41" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.89418 31.9285C4.51814 29.6818 2.83212 27.8112 0.836131 26.521C0.26793 26.1537 0.124452 25.3382 0.540438 24.8047C4.15593 20.1672 9.79294 8.01868 12.7415 1.40215C13.181 0.416062 14.6883 0.738582 14.6883 1.81816V19.44C13.1242 20.1331 12.0332 21.6992 12.0332 23.5201C12.0332 24.1851 12.1787 24.8161 12.4397 25.383L5.89418 31.9285ZM7.34675 34.6814C8.03773 36.2042 8.61427 37.8368 9.07635 39.5334C9.19588 39.9722 9.59101 40.2824 10.0459 40.2824H16.4937H22.9416C23.3964 40.2824 23.7916 39.9722 23.9111 39.5334C24.3732 37.8368 24.9497 36.2042 25.6407 34.6814L22.211 31.2516L19.3551 34.1075C19.4281 34.3655 19.4672 34.6378 19.4672 34.9192C19.4672 36.5615 18.1358 37.8928 16.4935 37.8928C14.8512 37.8928 13.5198 36.5615 13.5198 34.9192C13.5198 33.2768 14.8512 31.9455 16.4935 31.9455C16.7448 31.9455 16.9888 31.9766 17.2219 32.0353L20.1083 29.1489L18.4762 27.5169C17.879 27.8137 17.2058 27.9806 16.4937 27.9806C15.7816 27.9806 15.1084 27.8137 14.5112 27.5169L7.34675 34.6814ZM27.0933 31.9285C28.4693 29.6818 30.1553 27.8112 32.1513 26.521C32.7195 26.1537 32.863 25.3382 32.447 24.8047C28.8315 20.1672 23.1945 8.01868 20.2459 1.40215C19.8065 0.416062 18.2992 0.738582 18.2992 1.81816V19.44C19.8632 20.1332 20.9542 21.6992 20.9542 23.5201C20.9542 24.1851 20.8087 24.8161 20.5478 25.383L27.0933 31.9285Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

1
public/img/openai.svg Normal file
View File

@ -0,0 +1 @@
<svg viewBox="0 0 320 320" xmlns="http://www.w3.org/2000/svg"><path d="m297.06 130.97c7.26-21.79 4.76-45.66-6.85-65.48-17.46-30.4-52.56-46.04-86.84-38.68-15.25-17.18-37.16-26.95-60.13-26.81-35.04-.08-66.13 22.48-76.91 55.82-22.51 4.61-41.94 18.7-53.31 38.67-17.59 30.32-13.58 68.54 9.92 94.54-7.26 21.79-4.76 45.66 6.85 65.48 17.46 30.4 52.56 46.04 86.84 38.68 15.24 17.18 37.16 26.95 60.13 26.8 35.06.09 66.16-22.49 76.94-55.86 22.51-4.61 41.94-18.7 53.31-38.67 17.57-30.32 13.55-68.51-9.94-94.51zm-120.28 168.11c-14.03.02-27.62-4.89-38.39-13.88.49-.26 1.34-.73 1.89-1.07l63.72-36.8c3.26-1.85 5.26-5.32 5.24-9.07v-89.83l26.93 15.55c.29.14.48.42.52.74v74.39c-.04 33.08-26.83 59.9-59.91 59.97zm-128.84-55.03c-7.03-12.14-9.56-26.37-7.15-40.18.47.28 1.3.79 1.89 1.13l63.72 36.8c3.23 1.89 7.23 1.89 10.47 0l77.79-44.92v31.1c.02.32-.13.63-.38.83l-64.41 37.19c-28.69 16.52-65.33 6.7-81.92-21.95zm-16.77-139.09c7-12.16 18.05-21.46 31.21-26.29 0 .55-.03 1.52-.03 2.2v73.61c-.02 3.74 1.98 7.21 5.23 9.06l77.79 44.91-26.93 15.55c-.27.18-.61.21-.91.08l-64.42-37.22c-28.63-16.58-38.45-53.21-21.95-81.89zm221.26 51.49-77.79-44.92 26.93-15.54c.27-.18.61-.21.91-.08l64.42 37.19c28.68 16.57 38.51 53.26 21.94 81.94-7.01 12.14-18.05 21.44-31.2 26.28v-75.81c.03-3.74-1.96-7.2-5.2-9.06zm26.8-40.34c-.47-.29-1.3-.79-1.89-1.13l-63.72-36.8c-3.23-1.89-7.23-1.89-10.47 0l-77.79 44.92v-31.1c-.02-.32.13-.63.38-.83l64.41-37.16c28.69-16.55 65.37-6.7 81.91 22 6.99 12.12 9.52 26.31 7.15 40.1zm-168.51 55.43-26.94-15.55c-.29-.14-.48-.42-.52-.74v-74.39c.02-33.12 26.89-59.96 60.01-59.94 14.01 0 27.57 4.92 38.34 13.88-.49.26-1.33.73-1.89 1.07l-63.72 36.8c-3.26 1.85-5.26 5.31-5.24 9.06l-.04 89.79zm14.63-31.54 34.65-20.01 34.65 20v40.01l-34.65 20-34.65-20z"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.0"
width="726pt"
height="545.33887pt"
viewBox="0 0 726 545.33887"
preserveAspectRatio="xMidYMid"
id="svg34"
sodipodi:docname="textgenwebui.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs38" />
<sodipodi:namedview
id="namedview36"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="pt"
showgrid="false"
inkscape:zoom="0.53188379"
inkscape:cx="542.41172"
inkscape:cy="569.67331"
inkscape:window-width="2560"
inkscape:window-height="1377"
inkscape:window-x="5112"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg34" />
<g
transform="matrix(0.1,0,0,-0.1,-161,785.52252)"
stroke="none"
id="g32">
<path
d="m 3815,7853 c -92,-11 -241,-45 -254,-58 -14,-13 -12,-15 16,-15 42,0 63,-23 63,-69 0,-67 -89,-211 -131,-211 -29,0 -24,47 11,113 17,32 30,71 29,89 0,18 -3,27 -6,21 -2,-7 -11,-13 -18,-13 -24,0 -80,-56 -109,-110 -32,-58 -42,-135 -27,-200 9,-42 8,-47 -18,-75 -32,-34 -181,-294 -181,-316 0,-8 25,-24 63,-38 292,-111 1060,-414 1312,-519 385,-160 532,-201 1035,-293 75,-14 125,-36 175,-80 39,-35 44,-58 17,-82 -54,-49 -369,20 -1016,220 -194,60 -243,76 -451,155 -171,65 -180,58 -22,-16 161,-77 245,-112 350,-150 50,-18 153,-56 227,-84 74,-28 230,-83 345,-122 116,-39 237,-84 270,-100 90,-43 201,-155 351,-355 104,-137 240,-327 279,-390 78,-123 126,-167 106,-97 -20,68 -105,283 -155,390 -62,134 -101,238 -179,474 -31,92 -68,186 -83,208 -16,23 -80,85 -144,137 -63,52 -123,107 -132,121 -11,16 -18,46 -18,75 0,27 -3,47 -7,45 -5,-2 -30,-15 -58,-29 -110,-58 -246,-79 -380,-59 -211,32 -370,157 -444,350 -17,44 -34,106 -37,138 -24,224 160,462 408,528 162,43 352,-6 477,-122 155,-143 205,-331 145,-539 -28,-97 -28,-100 11,-195 38,-95 60,-134 138,-245 39,-55 81,-115 93,-133 13,-19 33,-59 45,-90 12,-31 35,-91 51,-132 35,-89 108,-288 154,-418 18,-52 34,-96 36,-98 5,-4 189,-50 458,-114 96,-23 218,-53 270,-66 52,-12 96,-22 97,-20 1,1 11,38 20,82 14,60 18,122 17,259 v 180 l -43,140 c -46,152 -124,326 -191,426 -121,180 -371,400 -655,578 -132,83 -356,210 -390,221 -27,9 -39,22 -58,63 -74,160 -226,288 -394,331 -79,21 -240,21 -318,1 -106,-28 -224,-91 -310,-166 l -33,-30 -344,-4 c -381,-5 -711,-18 -745,-30 -34,-11 -30,21 5,39 42,22 176,63 277,85 110,24 385,46 478,37 42,-4 67,-2 67,4 0,11 -112,133 -222,242 -101,100 -209,144 -323,131 z m -67,-609 c 17,-12 22,-25 22,-57 -1,-65 -45,-106 -94,-87 -31,11 -46,39 -46,82 0,65 65,99 118,62 z"
id="path2" />
<path
d="m 5035,7341 c -84,-24 -121,-46 -186,-108 -69,-65 -105,-140 -119,-247 -18,-127 20,-237 114,-331 100,-99 211,-141 357,-133 71,4 97,11 150,37 158,80 245,232 237,414 -2,67 -9,93 -33,141 -97,192 -315,287 -520,227 z m 274,-94 c 69,-25 134,-84 165,-151 36,-76 39,-92 20,-111 -17,-16 -18,-15 -35,17 -25,48 -121,136 -176,160 -34,15 -70,22 -123,22 -94,1 -161,-28 -238,-103 -57,-55 -64,-58 -81,-37 -29,35 58,149 144,191 96,47 217,52 324,12 z m -413,-444 c 82,-100 154,-144 245,-151 68,-5 117,10 181,54 30,20 55,30 68,27 52,-14 -52,-92 -150,-113 -89,-19 -161,-8 -250,37 -82,42 -160,124 -160,168 0,38 23,30 66,-22 z"
id="path4" />
<path
d="m 3250,6798 c 0,-9 38,-62 133,-184 18,-23 18,-24 -45,-91 -116,-123 -197,-263 -263,-453 -33,-95 -89,-310 -83,-315 3,-3 370,156 473,204 33,15 83,38 112,51 32,14 53,31 57,44 18,68 -43,339 -96,424 -24,40 -18,50 20,31 42,-22 190,-176 222,-233 49,-85 37,-176 -36,-272 l -27,-35 184,-185 c 101,-102 200,-194 220,-204 64,-33 388,-141 689,-230 232,-68 257,-75 383,-111 60,-17 116,-32 125,-35 30,-8 -90,50 -183,90 -409,175 -962,434 -949,445 5,4 34,15 64,24 30,8 114,34 187,56 151,46 300,71 434,72 52,0 103,4 114,9 11,5 18,9 15,9 -251,35 -520,96 -720,165 -91,31 -96,34 -132,87 -49,72 -88,105 -243,207 -155,101 -368,249 -445,307 -80,60 -191,135 -201,135 -5,0 -9,-5 -9,-12 z"
id="path6" />
<path
d="m 6996,6221 c -3,-5 23,-65 58,-132 36,-68 77,-164 92,-214 24,-81 28,-111 33,-293 l 6,-204 52,64 c 96,121 257,217 487,292 16,6 18,13 13,58 -13,107 -103,226 -215,286 -80,42 -278,107 -401,131 -118,24 -118,24 -125,12 z"
id="path8" />
<path
d="m 2245,5875 c -102,-49 -102,-45 0,-138 161,-147 235,-229 305,-336 16,-23 16,-23 15,13 -4,111 110,217 308,287 20,7 37,16 37,20 0,20 -255,119 -399,155 -123,32 -201,31 -266,-1 z"
id="path10" />
<path
d="m 3555,5873 c -25,-7 -143,-55 -365,-151 -96,-41 -222,-94 -279,-118 -176,-74 -230,-115 -236,-176 -5,-60 146,-595 232,-818 142,-372 193,-483 291,-634 30,-47 42,-73 36,-82 -5,-8 -63,-41 -128,-74 l -119,-61 -181,-10 c -186,-10 -353,-27 -556,-55 -158,-22 -371,-22 -429,-1 -24,10 -68,17 -98,17 -47,0 -59,-4 -84,-29 -19,-19 -29,-40 -29,-58 1,-83 101,-108 240,-59 65,23 102,28 278,38 237,13 510,0 563,-27 69,-36 46,-67 -124,-159 -67,-36 -171,-94 -231,-130 -80,-48 -127,-69 -181,-81 -97,-21 -160,-62 -174,-111 -27,-97 79,-173 182,-129 21,8 64,40 96,69 32,30 98,80 147,113 233,156 391,209 601,204 48,-1 107,-59 133,-129 30,-79 42,-200 29,-286 -12,-76 -21,-95 -82,-168 -67,-80 -61,-151 16,-198 64,-39 173,-17 203,42 14,27 15,42 4,122 -14,104 -2,183 46,308 27,70 109,193 179,270 72,77 103,123 132,193 24,60 28,84 28,165 0,87 -3,101 -32,161 -22,44 -33,81 -33,110 0,99 -198,560 -360,841 -162,279 -271,425 -381,508 -44,33 -78,60 -76,60 3,0 36,-13 74,-28 86,-35 141,-73 221,-151 49,-49 62,-57 62,-41 0,53 39,101 281,345 l 250,253 -37,53 c -44,63 -75,99 -83,98 -3,-1 -15,-4 -26,-6 z"
id="path12" />
<path
d="m 2100,5608 c 0,-164 46,-382 117,-560 45,-113 157,-307 236,-412 34,-44 113,-134 176,-200 89,-91 111,-120 100,-126 -8,-5 -71,-18 -139,-29 -69,-11 -180,-32 -246,-45 -221,-45 -410,-68 -472,-56 -83,15 -126,13 -145,-8 -21,-23 -21,-41 -1,-71 15,-21 22,-23 74,-18 31,2 74,14 96,25 86,44 429,55 522,17 35,-14 42,-22 42,-44 0,-15 -6,-34 -12,-43 -35,-42 -303,-198 -342,-198 -96,0 -144,-93 -60,-114 30,-8 53,5 134,75 97,83 248,154 436,204 131,35 288,65 342,65 40,0 43,2 37,23 -12,38 -58,153 -152,377 -109,261 -169,440 -220,664 -21,93 -39,162 -41,152 -6,-26 -20,-19 -48,27 -63,99 -380,387 -426,387 -5,0 -8,-42 -8,-92 z"
id="path14" />
<path
d="m 5474,5649 c -136,-39 -96,-227 118,-548 58,-87 142,-236 170,-303 5,-13 -23,-40 -134,-125 -251,-191 -498,-415 -727,-656 -56,-60 -104,-107 -106,-105 -4,4 109,136 315,369 80,90 184,209 230,264 47,55 128,150 180,210 118,136 131,152 110,140 -38,-22 -416,-329 -510,-414 -58,-53 -233,-222 -390,-376 -157,-154 -327,-319 -378,-367 -83,-78 -92,-90 -92,-123 0,-71 6,-76 290,-287 171,-127 374,-292 436,-353 67,-67 138,-164 182,-250 29,-58 36,-85 42,-158 5,-65 12,-95 27,-115 45,-61 163,-68 223,-12 25,23 30,36 30,75 0,43 -4,51 -55,103 -42,44 -71,88 -121,191 -77,155 -86,183 -74,217 13,33 43,42 104,32 73,-13 143,-50 246,-129 133,-103 216,-185 278,-272 64,-91 86,-108 151,-115 59,-5 110,16 134,57 40,69 8,128 -97,177 -41,18 -99,55 -129,81 -31,27 -120,104 -199,172 -173,149 -218,197 -218,232 0,47 21,54 159,52 213,-3 380,-45 533,-134 83,-48 99,-54 150,-54 71,1 108,29 108,83 0,70 -75,111 -200,111 -70,0 -251,48 -510,136 -209,71 -563,166 -675,182 l -46,6 113,75 c 197,131 284,209 741,661 152,151 277,283 289,306 62,119 -49,352 -353,746 -114,148 -165,194 -233,214 -55,17 -67,17 -112,4 z"
id="path16" />
<path
d="m 7525,5477 c -155,-93 -271,-175 -324,-229 -27,-28 -63,-87 -102,-167 -66,-134 -120,-226 -179,-305 -21,-28 -66,-102 -101,-165 -58,-106 -63,-118 -67,-190 -5,-94 10,-119 77,-128 l 43,-6 -6,-44 c -20,-150 -116,-199 -515,-264 -241,-39 -386,-68 -379,-74 2,-2 60,-6 128,-10 69,-3 195,-10 280,-16 399,-24 651,4 950,107 319,110 688,402 913,721 139,198 191,437 124,575 -30,62 -74,106 -140,140 -64,33 -207,37 -317,8 -90,-23 -322,-114 -405,-158 -30,-16 -103,-80 -180,-157 -71,-71 -125,-123 -119,-115 54,74 250,309 341,409 105,114 125,142 106,141 -5,-1 -62,-33 -128,-73 z m 688,-272 c 26,-11 47,-23 47,-27 0,-10 -43,-38 -150,-98 -224,-126 -622,-405 -940,-659 -182,-145 -201,-159 -140,-101 84,81 135,125 244,215 61,50 137,113 170,140 88,73 313,256 351,285 18,14 63,50 101,82 76,62 256,188 264,185 3,-1 27,-11 53,-22 z"
id="path18" />
<path
d="m 3623,5458 c -81,-76 -224,-202 -273,-239 l -34,-26 54,-20 c 30,-11 119,-44 198,-73 l 142,-53 48,15 c 46,16 205,77 210,82 3,4 -236,334 -269,370 -4,5 -38,-20 -76,-56 z"
id="path20" />
<path
d="m 2581,5324 c 0,-11 3,-14 6,-6 3,7 2,16 -1,19 -3,4 -6,-2 -5,-13 z"
id="path22" />
<path
d="m 4440,5141 c -410,-165 -674,-277 -753,-317 -36,-19 -37,-21 -20,-36 30,-26 82,-38 223,-53 74,-8 205,-23 290,-34 305,-40 776,-91 838,-91 h 64 l 141,109 c 78,61 175,137 214,169 l 73,59 -43,16 c -62,24 -254,78 -497,141 -118,31 -248,65 -289,76 -41,11 -79,20 -85,20 -6,0 -76,-27 -156,-59 z"
id="path24" />
<path
d="m 6793,5056 c -122,-91 -299,-254 -463,-422 -136,-141 -440,-467 -480,-517 l -25,-30 30,7 c 144,33 344,62 578,85 103,10 190,20 192,23 3,2 -4,30 -15,61 -43,123 -20,278 70,462 60,124 175,329 208,373 13,17 20,32 14,32 -6,0 -55,-33 -109,-74 z"
id="path26" />
<path
d="m 3342,4963 c 41,-81 134,-280 156,-335 17,-40 47,-113 67,-163 20,-49 54,-142 75,-205 l 38,-115 260,-86 c 143,-48 274,-90 292,-94 31,-7 31,-6 19,17 -22,41 -200,257 -369,447 -167,188 -514,541 -532,541 -5,0 -8,-3 -6,-7 z"
id="path28" />
<path
d="m 7606,3981 c -126,-89 -286,-156 -446,-186 -41,-8 -183,-24 -314,-35 -211,-18 -251,-25 -333,-52 -88,-30 -97,-31 -149,-20 -63,13 -94,5 -118,-30 -36,-52 -4,-102 57,-88 18,4 75,22 127,41 89,31 103,33 230,33 153,1 203,-10 254,-55 60,-52 69,-151 30,-304 -28,-108 -51,-147 -107,-185 -87,-59 -100,-119 -34,-161 26,-16 42,-19 82,-14 70,8 93,35 110,123 16,81 47,147 103,218 154,195 283,236 365,117 35,-51 79,-150 112,-253 23,-75 26,-95 20,-166 -8,-94 6,-134 55,-159 61,-32 175,-12 200,34 25,48 11,90 -59,167 -34,38 -56,77 -84,151 -77,200 -96,313 -59,346 23,21 74,22 115,2 59,-28 391,-304 421,-350 22,-34 87,-65 137,-65 34,0 47,6 76,35 29,29 34,40 28,63 -12,50 -54,81 -145,108 -37,11 -80,42 -191,140 -79,69 -145,129 -147,133 -5,14 57,21 187,21 199,0 287,-23 475,-124 64,-34 115,-34 155,0 35,29 40,66 15,102 -24,35 -53,45 -154,53 -94,8 -536,104 -617,135 -41,15 -65,47 -46,64 24,22 89,30 243,30 234,0 353,-14 439,-50 92,-40 170,-41 206,-5 14,13 25,35 25,49 0,34 -44,83 -82,91 -17,4 -123,8 -237,10 -153,2 -240,8 -336,24 -284,46 -324,51 -430,56 l -110,5 z"
id="path30" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -2570,6 +2570,11 @@
<span data-i18n="Chat Timestamps">Chat Timestamps</span>
</label>
<label for="messageModelIconEnabled" class="checkbox_label">
<input id="messageModelIconEnabled" type="checkbox" />
<span data-i18n="Model Icon">Show Model Icons</span>
</label>
<label for="mesIDDisplayEnabled" class="checkbox_label">
<input id="mesIDDisplayEnabled" type="checkbox" />
<span data-i18n="Message IDs">Show Message IDs</span>

View File

@ -1353,6 +1353,49 @@ function messageFormatting(mes, ch_name, isSystem, isUser) {
return mes;
}
/**
* Inserts or replaces an SVG icon adjacent to the provided message's timestamp.
*
* If the `extra.api` is "openai" and `extra.model` contains the substring "claude",
* the function fetches the "claude.svg". Otherwise, it fetches the SVG named after
* the value in `extra.api`.
*
* @param {jQuery} mes - The message element containing the timestamp where the icon should be inserted or replaced.
* @param {Object} extra - Contains the API and model details.
* @param {string} extra.api - The name of the API, used to determine which SVG to fetch.
* @param {string} extra.model - The model name, used to check for the substring "claude".
*/
function insertSVGIcon(mes, extra) {
// Determine the SVG filename
let modelName;
if (extra.api === "openai" && extra.model.toLowerCase().includes("claude")) {
modelName = "claude";
} else {
modelName = extra.api;
}
// Fetch the SVG based on the modelName
$.get(`/img/${modelName}.svg`, function (data) {
// Extract the SVG content from the XML data
let svg = $(data).find('svg');
// Add classes for styling and identification
svg.addClass('icon-svg timestamp-icon');
// Check if an SVG already exists adjacent to the timestamp
let existingSVG = mes.find('.timestamp').next('.timestamp-icon');
if (existingSVG.length) {
// Replace existing SVG
existingSVG.replaceWith(svg);
} else {
// Append the new SVG if none exists
mes.find('.timestamp').after(svg);
}
});
}
function getMessageFromTemplate({
mesId,
characterName,
@ -1386,6 +1429,10 @@ function getMessageFromTemplate({
title && mes.attr('title', title);
timerValue && mes.find('.mes_timer').attr('title', timerTitle).text(timerValue);
if (power_user.timestamp_model_icon && extra?.api) {
insertSVGIcon(mes, extra);
}
return mes;
}
@ -1577,6 +1624,9 @@ function addOneMessage(mes, { type = "normal", insertAfter = null, scroll = true
appendImageToMessage(mes, $("#chat").find(`[mesid="${count_view_mes - 1}"]`));
$("#chat").find(`[mesid="${count_view_mes - 1}"]`).attr('title', title);
$("#chat").find(`[mesid="${count_view_mes - 1}"]`).find('.timestamp').text(timestamp).attr('title', `${params.extra.api} - ${params.extra.model}`);
if (power_user.timestamp_model_icon && params.extra?.api) {
insertSVGIcon($("#chat").find(`[mesid="${count_view_mes - 1}"]`), params.extra);
}
if (mes.swipe_id == mes.swipes.length - 1) {
$("#chat").find(`[mesid="${count_view_mes - 1}"]`).find('.mes_timer').text(params.timerValue);

View File

@ -158,6 +158,7 @@ let power_user = {
hotswap_enabled: true,
timer_enabled: true,
timestamps_enabled: true,
timestamp_model_icon: false,
mesIDDisplay_enabled: false,
max_context_unlocked: false,
prefer_character_prompt: true,
@ -224,6 +225,7 @@ const storage_keys = {
hotswap_enabled: 'HotswapEnabled',
timer_enabled: 'TimerEnabled',
timestamps_enabled: 'TimestampsEnabled',
timestamp_model_icon: 'TimestampModelIcon',
mesIDDisplay_enabled: 'mesIDDisplayEnabled',
};
@ -302,6 +304,13 @@ function switchTimestamps() {
$("#messageTimestampsEnabled").prop("checked", power_user.timestamps_enabled);
}
function switchIcons() {
const value = localStorage.getItem(storage_keys.timestamp_model_icon);
power_user.timestamp_model_icon = value === null ? true : value == "true";
$("body").toggleClass("no-modelIcons", !power_user.timestamp_model_icon);
$("#messageModelIconEnabled").prop("checked", power_user.timestamp_model_icon);
}
function switchMesIDDisplay() {
const value = localStorage.getItem(storage_keys.mesIDDisplay_enabled);
power_user.mesIDDisplay_enabled = value === null ? true : value == "true";
@ -565,6 +574,13 @@ async function applyTheme(name) {
switchTimestamps();
}
},
{
key: 'timestamp_model_icon',
action: async () => {
localStorage.setItem(storage_keys.timestamp_model_icon, power_user.timestamp_model_icon);
switchIcons();
}
},
{
key: 'mesIDDisplay_enabled',
action: async () => {
@ -624,6 +640,7 @@ noShadows();
switchHotswap();
switchTimer();
switchTimestamps();
switchIcons();
switchMesIDDisplay();
function loadPowerUserSettings(settings, data) {
@ -733,6 +750,7 @@ function loadPowerUserSettings(settings, data) {
$("#hotswapEnabled").prop("checked", power_user.hotswap_enabled);
$("#messageTimerEnabled").prop("checked", power_user.timer_enabled);
$("#messageTimestampsEnabled").prop("checked", power_user.timestamps_enabled);
$("#messageModelIconEnabled").prop("checked", power_user.timestamp_model_icon);
$("#mesIDDisplayEnabled").prop("checked", power_user.mesIDDisplay_enabled);
$("#prefer_character_prompt").prop("checked", power_user.prefer_character_prompt);
$("#prefer_character_jailbreak").prop("checked", power_user.prefer_character_jailbreak);
@ -1082,6 +1100,7 @@ async function saveTheme() {
chat_width: power_user.chat_width,
timer_enabled: power_user.timer_enabled,
timestamps_enabled: power_user.timestamps_enabled,
timestamp_model_icon: power_user.timestamp_model_icon,
mesIDDisplay_enabled: power_user.mesIDDisplay_enabled,
hotswap_enabled: power_user.hotswap_enabled,
@ -1961,6 +1980,13 @@ $(document).ready(() => {
switchTimestamps();
});
$("#messageModelIconEnabled").on("input", function () {
const value = !!$(this).prop('checked');
power_user.timestamp_model_icon = value;
localStorage.setItem(storage_keys.timestamp_model_icon, power_user.timestamp_model_icon);
switchIcons();
});
$("#mesIDDisplayEnabled").on("input", function () {
const value = !!$(this).prop('checked');
power_user.mesIDDisplay_enabled = value;

View File

@ -916,7 +916,8 @@ body.no-timer .mes_timer {
}
body.no-timestamps .timestamp,
body.no-mesIDDisplay .mesIDDisplay {
body.no-mesIDDisplay .mesIDDisplay,
body.no-modelIcons .icon-svg {
display: none !important;
}
@ -5549,4 +5550,11 @@ body.waifuMode .zoomed_avatar {
line-height: 14px;
}
.icon-svg {
fill: currentColor;
/* Takes on the color of the surrounding text */
width: 16px;
height: 16px;
vertical-align: middle;
/* To align with adjacent text */
}