-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
150 lines (142 loc) · 23.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<!DOCTYPE html>
<html lang="en">
<head>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-EWFFLXFK71"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-EWFFLXFK71');
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js"></script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description"
content="Local Chat allows you to chat with a LLM locally within you browser powered by Google Gemini Nano">
<meta property="og:image" content="/static/embed.png">
<meta property="og:image:alt" content="Local Chat">
<title>Local Chat</title>
<link rel="stylesheet" href="css/styles.css">
<script type="module" src="https://cdn.jsdelivr.net/npm/zero-md@3?register"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&display=swap" rel="stylesheet">
<link rel="apple-touch-icon" sizes="180x180" href="icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png">
<link rel="manifest" href="icons/site.webmanifest">
<link rel="mask-icon" href="icons/safari-pinned-tab.svg" color="#333333">
<meta name="msapplication-TileColor" content="#333333">
</head>
<body>
<div class="welcome" id="welcome">
<span class="title">
<h1>Local Chat</h1>
</span>
<span class="pre_prompts">
<div onclick="sendMessage(this.innerText)">
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M7 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V6Zm1.5 1.5h7v-1h-7v1Z"
fill="#D1A882" />
<path
d="M4 4.5A2.5 2.5 0 0 1 6.5 2H18a2.5 2.5 0 0 1 2.5 2.5v14.25a.75.75 0 0 1-.75.75H5.5a1 1 0 0 0 1 1h13.25a.75.75 0 0 1 0 1.5H6.5A2.5 2.5 0 0 1 4 19.5v-15ZM5.5 18H19V4.5a1 1 0 0 0-1-1H6.5a1 1 0 0 0-1 1V18Z"
fill="#D1A882" />
</svg>
<p>Help me revise A-Level Physics</p>
</div>
<div onclick="sendMessage(this.innerText)">
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path
d="m8.316 8.408-.772-1.127C6.59 5.89 7.587 4 9.274 4c.48 0 .945.165 1.318.467l2.581 2.09a9.52 9.52 0 0 1 1.09-.997c.66-.508 1.5-.986 2.43-1.057 2.237-.173 3.909 1.243 4.854 2.326.489.56.587 1.268.378 1.883a2.142 2.142 0 0 1-1.342 1.32l-5.371 1.852-3.162 4.217a2.249 2.249 0 0 1-4.006-1.781l.251-1.284-2.53.547A2.283 2.283 0 0 1 3 11.35V7.69a1.691 1.691 0 0 1 3.176-.81l.966 1.772 1.174-.245Zm.465-1.974 1.126 1.643 1.898-.396c.09-.019.18-.048.266-.087L9.65 5.633a.597.597 0 0 0-.868.8Zm8.027-.436c-.507.04-1.068.317-1.629.75-.549.423-1.027.94-1.36 1.34-.42.507-1.006.915-1.708 1.062l-5.208 1.085a.75.75 0 0 1-.811-.375L4.859 7.6a.191.191 0 0 0-.359.092v3.659c0 .499.46.87.949.765l3.643-.786a.75.75 0 0 1 .894.877l-.47 2.4a.749.749 0 0 0 1.334.594l3.3-4.4a.75.75 0 0 1 .355-.26l5.589-1.927a.644.644 0 0 0 .41-.385.4.4 0 0 0-.087-.413c-.853-.977-2.099-1.934-3.61-1.818ZM3.75 19.5a.75.75 0 0 0 0 1.5h16.5a.75.75 0 0 0 0-1.5H3.75Z"
fill="#B882D1" />
</svg>
<p>Help me plan a trip to London</p>
</div>
<div onclick="sendMessage(this.innerText)">
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path
d="M5.25 4h13.5a3.25 3.25 0 0 1 3.245 3.066L22 7.25v9.5a3.25 3.25 0 0 1-3.066 3.245L18.75 20H5.25a3.25 3.25 0 0 1-3.245-3.066L2 16.75v-9.5a3.25 3.25 0 0 1 3.066-3.245L5.25 4h13.5-13.5ZM20.5 9.373l-8.15 4.29a.75.75 0 0 1-.603.043l-.096-.042L3.5 9.374v7.376a1.75 1.75 0 0 0 1.606 1.744l.144.006h13.5a1.75 1.75 0 0 0 1.744-1.607l.006-.143V9.373ZM18.75 5.5H5.25a1.75 1.75 0 0 0-1.744 1.606L3.5 7.25v.429l8.5 4.473 8.5-4.474V7.25a1.75 1.75 0 0 0-1.607-1.744L18.75 5.5Z"
fill="#D18282" />
</svg>
<p>Write a email about a meeting tomorrow</p>
</div>
</span>
</div>
<div class="container">
<div class="choseModelContainer" id="choseModelContainer" style="display: none;">
<span class="choseModelHover">
<button><svg width="100%" style="" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.3335 2.14216e-07C4.49232 -0.000245987 3.66468 0.211733 2.92719 0.616313C2.1897 1.02089 1.5662 1.605 1.11441 2.31455C0.662621 3.0241 0.397149 3.83617 0.342569 4.67557C0.287989 5.51498 0.446065 6.35458 0.802163 7.11667C0.634365 7.81122 0.48299 8.50964 0.348163 9.21133C0.327645 9.31719 0.333213 9.42645 0.364388 9.52966C0.395562 9.63288 0.451404 9.72696 0.527087 9.80376C0.602771 9.88056 0.696018 9.93777 0.798769 9.97045C0.901521 10.0031 1.01069 10.0103 1.11683 9.99133C1.53216 9.918 2.4355 9.75133 3.27416 9.558C3.95392 9.86453 4.69364 10.0151 5.43914 9.9988C6.18464 9.98245 6.91704 9.79957 7.58271 9.46355C8.24839 9.12752 8.83047 8.64686 9.28635 8.05676C9.74222 7.46666 10.0603 6.78207 10.2174 6.05311C10.3744 5.32416 10.3665 4.56931 10.194 3.84385C10.0216 3.11838 9.68912 2.44066 9.22088 1.86032C8.75264 1.27999 8.16053 0.811729 7.4879 0.489842C6.81528 0.167955 6.07917 0.000588532 5.3335 2.14216e-07ZM5.30816 10.6667C6.23186 11.5255 7.44691 12.002 8.70816 12C9.4415 12 10.1382 11.842 10.7668 11.558C11.4622 11.7207 12.2242 11.8833 12.7088 11.9847C12.8453 12.0133 12.9867 12.0071 13.1202 11.9666C13.2536 11.9261 13.3746 11.8526 13.4721 11.7529C13.5696 11.6532 13.6403 11.5306 13.6779 11.3963C13.7154 11.262 13.7185 11.1204 13.6868 10.9847C13.5788 10.516 13.4082 9.788 13.2395 9.116C13.5358 8.4813 13.6955 7.79145 13.7082 7.09112C13.721 6.39078 13.5865 5.69557 13.3135 5.05051C13.0405 4.40545 12.6351 3.82493 12.1234 3.34652C11.6118 2.86811 11.0054 2.50249 10.3435 2.27333C10.58 2.70324 10.7593 3.16225 10.8768 3.63867C11.4389 4.00099 11.9011 4.49857 12.2211 5.08583C12.541 5.67309 12.7085 6.33124 12.7082 7C12.7082 7.66133 12.5482 8.28333 12.2648 8.83133L12.1782 9L12.2248 9.184C12.3768 9.78067 12.5362 10.4507 12.6528 10.9507C12.1368 10.842 11.4408 10.6907 10.8262 10.544L10.6502 10.5027L10.4882 10.5833C9.95216 10.85 9.34816 11 8.70816 11C8.02685 11.0013 7.35659 10.8277 6.7615 10.496C6.28644 10.6153 5.79794 10.6727 5.30816 10.6667Z" fill="#D182B6"/>
</svg>Chat</button>
<button><svg width="100%" style="" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.99991 11.3333H7.01458L5.68125 12.6666H1.99991C1.82999 12.6665 1.66656 12.6014 1.543 12.4847C1.41944 12.3681 1.34509 12.2087 1.33513 12.039C1.32517 11.8694 1.38036 11.7024 1.48942 11.5721C1.59848 11.4418 1.75318 11.358 1.92191 11.338L1.99991 11.3333ZM1.99991 9.99998H7.23191C7.01007 9.86655 6.8389 9.66313 6.74536 9.42175C6.65183 9.18036 6.64123 8.91472 6.71525 8.66665H1.99991L1.92191 8.67131C1.75318 8.69138 1.59848 8.77512 1.48942 8.90542C1.38036 9.03573 1.32517 9.20275 1.33513 9.37238C1.34509 9.54201 1.41944 9.70143 1.543 9.81808C1.66656 9.93473 1.82999 9.99979 1.99991 9.99998ZM1.99991 4.66665H13.9999L14.0779 4.66198C14.2466 4.64191 14.4013 4.55817 14.5104 4.42787C14.6195 4.29757 14.6747 4.13054 14.6647 3.96091C14.6547 3.79128 14.5804 3.63186 14.4568 3.51521C14.3333 3.39857 14.1698 3.3335 13.9999 3.33331H1.99991L1.92191 3.33798C1.75318 3.35805 1.59848 3.44179 1.48942 3.57209C1.38036 3.70239 1.32517 3.86942 1.33513 4.03905C1.34509 4.20868 1.41944 4.3681 1.543 4.48475C1.66656 4.60139 1.82999 4.66646 1.99991 4.66665ZM8.47991 10.8106C8.52569 10.7615 8.58089 10.7221 8.64222 10.6948C8.70355 10.6675 8.76976 10.6528 8.8369 10.6516C8.90403 10.6504 8.97072 10.6628 9.03298 10.6879C9.09524 10.713 9.15179 10.7505 9.19927 10.798C9.24675 10.8454 9.28418 10.902 9.30933 10.9642C9.33447 11.0265 9.34682 11.0932 9.34564 11.1603C9.34446 11.2275 9.32976 11.2937 9.30243 11.355C9.2751 11.4163 9.2357 11.4715 9.18658 11.5173L6.18658 14.5173C6.1408 14.5664 6.0856 14.6058 6.02427 14.6332C5.96294 14.6605 5.89673 14.6752 5.82959 14.6764C5.76246 14.6776 5.69577 14.6652 5.63351 14.6401C5.57126 14.6149 5.5147 14.5775 5.46722 14.53C5.41974 14.4825 5.38231 14.426 5.35716 14.3637C5.33202 14.3015 5.31967 14.2348 5.32085 14.1676C5.32204 14.1005 5.33673 14.0343 5.36406 13.973C5.39139 13.9116 5.43079 13.8564 5.47991 13.8106L8.47991 10.8106ZM1.99991 5.99998H8.66658C8.8365 6.00017 8.99993 6.06523 9.12349 6.18188C9.24705 6.29852 9.3214 6.45795 9.33136 6.62758C9.34132 6.7972 9.28613 6.96423 9.17707 7.09453C9.06801 7.22484 8.91331 7.30858 8.74458 7.32865L8.66658 7.33331H1.99991C1.82999 7.33312 1.66656 7.26806 1.543 7.15141C1.41944 7.03477 1.34509 6.87534 1.33513 6.70572C1.32517 6.53609 1.38036 6.36906 1.48942 6.23876C1.59848 6.10846 1.75318 6.02472 1.92191 6.00465L1.99991 5.99998Z" fill="#D1A882"/>
<path d="M11.0008 5.33331C11.1228 5.33337 11.2405 5.37799 11.3318 5.45878C11.4232 5.53957 11.4819 5.65095 11.4968 5.77198L11.5902 6.52531C11.6491 7.00489 11.8667 7.451 12.2083 7.79272C12.5499 8.13445 12.9959 8.35218 13.4755 8.41131L14.2288 8.50398C14.3495 8.51934 14.4605 8.57819 14.5409 8.66949C14.6213 8.7608 14.6657 8.8783 14.6657 8.99998C14.6657 9.12166 14.6213 9.23916 14.5409 9.33046C14.4605 9.42177 14.3495 9.48062 14.2288 9.49598L13.4755 9.58931C12.9959 9.64827 12.5498 9.86585 12.2081 10.2075C11.8663 10.5491 11.6486 10.9951 11.5895 11.4746L11.4968 12.228C11.4815 12.3487 11.4226 12.4596 11.3313 12.5401C11.24 12.6205 11.1225 12.6649 11.0008 12.6649C10.8791 12.6649 10.7616 12.6205 10.6703 12.5401C10.579 12.4596 10.5202 12.3487 10.5048 12.228L10.4115 11.4746C10.3525 10.9951 10.1349 10.549 9.79334 10.2072C9.45174 9.86551 9.00571 9.64778 8.52615 9.58865L7.77282 9.49598C7.65212 9.48062 7.54116 9.42177 7.46073 9.33046C7.38031 9.23916 7.33594 9.12166 7.33594 8.99998C7.33594 8.8783 7.38031 8.7608 7.46073 8.66949C7.54116 8.57819 7.65212 8.51934 7.77282 8.50398L8.52615 8.41065C9.00573 8.35169 9.45184 8.13411 9.79356 7.79251C10.1353 7.4509 10.353 7.00487 10.4122 6.52531L10.5048 5.77198C10.5198 5.65095 10.5785 5.53957 10.6698 5.45878C10.7611 5.37799 10.8789 5.33337 11.0008 5.33331Z" fill="#D1A882"/>
</svg>Summarization</button>
<button><svg width="100%" style="" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.30775 1.99999C7.51442 2.00333 7.69842 2.13333 7.76975 2.32799L10.1571 8.83866L9.38175 9.628L9.06975 8.77799H5.33242L4.46708 11.0133C4.41917 11.1371 4.32405 11.2368 4.20265 11.2904C4.08125 11.344 3.94352 11.3472 3.81975 11.2993C3.69598 11.2514 3.59632 11.1563 3.54268 11.0349C3.48905 10.9135 3.48584 10.7758 3.53375 10.652L4.52308 8.09666L4.52508 8.09133L6.83642 2.31333C6.87413 2.2196 6.93935 2.13949 7.02348 2.08355C7.10762 2.02762 7.20673 1.99849 7.30775 1.99999ZM7.28042 3.89733L5.72775 7.77733H8.70308L7.28042 3.89733Z" fill="#82D1A6"/>
<path d="M13.5366 8.37136L13.4506 8.30069L13.4486 8.29936C13.1583 8.08289 12.7999 7.97805 12.4387 8.004C12.0775 8.02995 11.7377 8.18495 11.4813 8.44069L8.94597 11.0207C8.78864 11.18 8.67397 11.3734 8.61064 11.584L8.21931 12.8854C7.8649 12.9409 7.50389 12.9393 7.14997 12.8807C7.14629 12.8801 7.14279 12.8786 7.13974 12.8765C7.13669 12.8743 7.13418 12.8715 7.13238 12.8682C7.13058 12.865 7.12955 12.8613 7.12937 12.8576C7.12918 12.8539 7.12984 12.8501 7.13131 12.8467L7.15597 12.7934C7.19997 12.702 7.27597 12.5394 7.30131 12.372C7.31464 12.2787 7.31931 12.1494 7.26864 12.012C7.21635 11.8696 7.11713 11.7492 6.98731 11.6707C6.77131 11.5374 6.50264 11.5274 6.27197 11.5407C6.04101 11.5576 5.8114 11.5897 5.58464 11.6367C5.27664 11.6967 4.98397 11.8347 4.69197 11.972C4.30797 12.1534 3.92531 12.3334 3.51131 12.3334C3.36264 12.3334 3.21997 12.3094 3.08597 12.264C3.00397 12.2367 2.91397 12.3034 2.93464 12.3874C2.97264 12.5394 3.04264 12.7454 3.19597 12.904C3.28898 13.0012 3.40735 13.0704 3.53767 13.1037C3.66799 13.1371 3.80505 13.1333 3.93331 13.0927C4.90264 12.8087 5.54664 12.654 5.96531 12.584C6.05331 12.5694 6.11864 12.6574 6.09197 12.7427C6.04997 12.876 5.98997 13.128 6.11464 13.3827C6.24931 13.66 6.51464 13.776 6.74397 13.8227C7.50597 13.98 8.16397 13.9594 8.96797 13.748C9.00345 13.7422 9.03843 13.7337 9.07264 13.7227L9.15064 13.698C9.26464 13.6647 9.38197 13.628 9.50331 13.5874C9.52146 13.5815 9.53927 13.5746 9.55664 13.5667L10.4813 13.2674C10.7066 13.194 10.91 13.07 11.0726 12.904L13.6026 10.3307C14.1266 9.79669 14.1246 8.97402 13.6146 8.44669L13.5366 8.37136Z" fill="#82D1A6"/>
</svg>Writer</button>
<button><svg width="100%" style="" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.84136 9.33398C1.70879 9.33862 1.57887 9.2961 1.47469 9.21398C1.42987 9.176 1.39401 9.12856 1.36969 9.07508C1.34536 9.0216 1.33319 8.96339 1.33402 8.90465C1.33402 8.83131 1.35469 8.74131 1.39602 8.63265L4.01402 1.80665C4.13402 1.49131 4.35602 1.33331 4.67936 1.33331C4.98402 1.33331 5.19602 1.48931 5.31669 1.80131L7.93936 8.63198C7.98069 8.74065 8.00136 8.83131 8.00136 8.90398C8.00136 9.02665 7.95269 9.13065 7.85469 9.21398C7.75298 9.29629 7.62476 9.33872 7.49402 9.33331C7.25336 9.33331 7.08736 9.20798 6.99736 8.95798L6.27536 7.01131H3.05536L2.33869 8.95798C2.24869 9.20798 2.08269 9.33331 1.84202 9.33331L1.84136 9.33398ZM3.34802 6.17998H5.98736L4.68402 2.60131H4.65069L3.34802 6.17998ZM8.52802 9.81998L12.1814 13.4733L14.9527 10.7026C15.0735 10.582 15.1694 10.4388 15.2349 10.2811C15.3003 10.1234 15.3341 9.95433 15.3342 9.78359C15.3343 9.61285 15.3008 9.44376 15.2356 9.28597C15.1704 9.12818 15.0747 8.98479 14.954 8.86398L13.138 7.04798C13.0174 6.92694 12.874 6.83092 12.7162 6.76542C12.5583 6.69992 12.3891 6.66623 12.2182 6.66629C12.0473 6.66635 11.8781 6.70016 11.7203 6.76578C11.5625 6.83139 11.4192 6.92752 11.2987 7.04865L8.52802 9.81998ZM9.83269 7.57198L8.66736 8.73731V1.83731C8.66196 1.70413 8.70858 1.57407 8.79736 1.47465C8.84105 1.42874 8.89388 1.3925 8.95244 1.36827C9.01101 1.34404 9.074 1.33236 9.13736 1.33398C9.27469 1.33398 9.38669 1.38065 9.47336 1.47398C9.56336 1.56865 9.60869 1.68931 9.60869 1.83731V4.55265H9.63002C9.81002 4.22798 10.0574 3.97331 10.3714 3.78998C10.6954 3.60431 11.0633 3.50899 11.4367 3.51398C12.1474 3.51398 12.7207 3.77865 13.1567 4.30865C13.5934 4.83931 13.8114 5.54398 13.8114 6.42398C13.8114 6.54131 13.8074 6.65531 13.8 6.76665L13.6094 6.57598C13.3924 6.35853 13.1272 6.19524 12.8354 6.09931C12.7934 5.61131 12.6534 5.21265 12.4154 4.90398C12.1274 4.52865 11.734 4.34131 11.2367 4.34131C10.7567 4.34131 10.364 4.53465 10.0574 4.91998C9.75469 5.30265 9.60336 5.80398 9.60336 6.42398C9.60336 6.86798 9.67936 7.25065 9.83269 7.57198ZM11.4747 14.1806L7.82069 10.5273L7.04936 11.2986C6.92843 11.4193 6.83246 11.5626 6.76694 11.7203C6.70141 11.8781 6.66763 12.0472 6.6675 12.218C6.66738 12.3889 6.70092 12.558 6.76621 12.7159C6.83151 12.8737 6.92727 13.0172 7.04802 13.138L8.86402 14.9533C9.07962 15.1698 9.36493 15.303 9.66936 15.3293L9.66736 15.3333H13.334C13.4666 15.3333 13.5938 15.2806 13.6876 15.1869C13.7813 15.0931 13.834 14.9659 13.834 14.8333C13.834 14.7007 13.7813 14.5735 13.6876 14.4798C13.5938 14.386 13.4666 14.3333 13.334 14.3333H11.3207L11.474 14.18L11.4747 14.1806Z" fill="#82C3D1"/>
</svg>Rewriter</button>
</span>
<div class="choseModel">
</div>
</div>
<div class="message-container" id="message-container">
</div>
<div class="lower_buttons">
<div class="file_holding" id="file_holding">
<a>
<span class="file_icon"><svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M7.503 13.002a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0v-.5H8.5a1.5 1.5 0 0 0 0-3h-.997Zm.997 2h-.497v-1H8.5a.5.5 0 1 1 0 1ZM14.998 13.501a.5.5 0 0 1 .5-.499h1.505a.5.5 0 1 1 0 1h-1.006l-.001 1.002h1.007a.5.5 0 0 1 0 1h-1.007l.002.497a.5.5 0 0 1-1 .002l-.003-.998v-.002l.003-2.002ZM11.5 13.002a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h.498a2 2 0 0 0 0-4H11.5Zm.5 3v-2a1 1 0 0 1 0 2Z" fill="#ffffff"/><path d="M20 20v-1.164c.591-.281 1-.884 1-1.582V12.75c0-.698-.409-1.3-1-1.582v-1.34a2 2 0 0 0-.586-1.414l-5.829-5.828a.491.491 0 0 0-.049-.04.63.63 0 0 1-.036-.03 2.072 2.072 0 0 0-.219-.18.652.652 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a1.977 1.977 0 0 0-.624-.138c-.02-.001-.04-.004-.059-.007A.605.605 0 0 0 12.172 2H6a2 2 0 0 0-2 2v7.168c-.591.281-1 .884-1 1.582v4.504c0 .698.409 1.3 1 1.582V20a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2Zm-2 .5H6a.5.5 0 0 1-.5-.5v-.996h13V20a.5.5 0 0 1-.5.5Zm.5-10.5v1h-13V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5Zm-1.122-1.5H14a.5.5 0 0 1-.5-.5V4.621L17.378 8.5Zm-12.628 4h14.5a.25.25 0 0 1 .25.25v4.504a.25.25 0 0 1-.25.25H4.75a.25.25 0 0 1-.25-.25V12.75a.25.25 0 0 1 .25-.25Z" fill="#ffffff"/></svg></span>
<span class="file_text">
<strong id="file_title"></strong>
<span>PDF</span>
</span>
</a>
</div>
<div class="buttons">
<button id="upload_button" title="Upload File" aria-label="Upload File"><svg width="24" height="24" fill="none" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path
d="M8.207 4c.46 0 .908.141 1.284.402l.156.12L12.022 6.5h7.728a2.25 2.25 0 0 1 2.229 1.938l.016.158.005.154v3.06a6.517 6.517 0 0 0-1.499-1.077L20.5 8.75a.75.75 0 0 0-.648-.743L19.75 8h-7.729L9.647 9.979a2.25 2.25 0 0 1-1.244.512l-.196.009-4.707-.001v7.251c0 .38.282.694.648.743l.102.007h7.064c.172.534.412 1.038.709 1.501L4.25 20a2.25 2.25 0 0 1-2.245-2.096L2 17.75V6.25a2.25 2.25 0 0 1 2.096-2.245L4.25 4h3.957Zm0 1.5H4.25a.75.75 0 0 0-.743.648L3.5 6.25v2.749L8.207 9a.75.75 0 0 0 .395-.113l.085-.06 1.891-1.578-1.89-1.575a.75.75 0 0 0-.377-.167L8.207 5.5Z"
fill="#ffffff" />
<path
d="M23 16.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-6-1.793V19.5a.5.5 0 0 0 1 0v-4.793l1.646 1.647a.5.5 0 0 0 .708-.708l-2.5-2.5a.5.5 0 0 0-.708 0l-2.5 2.5a.5.5 0 0 0 .708.708L17 14.707Z"
fill="#ffffff" />
</svg></button>
<input autocomplete="off" type="text" id="user-input" placeholder="Your message" autofocus>
<button onclick="sendMessage(document.getElementById('user-input').value)" disabled id="send_button"
class="send_button" title="Send Message" aria-label="Send Message"><svg width="24" height="24" fill="none" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path
d="M4.21 10.733a.75.75 0 0 0 1.086 1.034l5.954-6.251V20.25a.75.75 0 0 0 1.5 0V5.516l5.955 6.251a.75.75 0 0 0 1.086-1.034l-7.067-7.42a.995.995 0 0 0-.58-.3.754.754 0 0 0-.29.001.995.995 0 0 0-.578.3L4.21 10.733Z"
fill="#ffffff" />
</svg></button>
</div>
</div>
<div class="bottom_text">
<span class="time_speed" id="time_speed">0 sec</span>
<span class="bottom_text_local">Local Chat is powered by Gemini
Nano and can make mistakes</span>
<span class="speed" id="speed">0 tok/s</span>
</div>
</div>
<input type="file" id="fileInput" style="display: none;" accept="application/pdf">
<div class="chat_history" id="chat_history">
<div class="history_title">
<button id="clear">
<span>New Chat</span>
</button>
</div>
<div id="past_chats" class="past_chats">
</div>
<div class="sidebar_buttons">
<button id="clear_chats" title="Clear Chats" aria-label="Clear Chats"><svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M5.75 2a.75.75 0 0 0-.75.75v11.5a2.25 2.25 0 0 0 2.25 2.25H9.5v3a2.5 2.5 0 1 0 5 0v-3h2.25A2.25 2.25 0 0 0 19 14.25V2.75a.75.75 0 0 0-.75-.75H5.75Zm.75 9V3.5h6v1.752a.75.75 0 1 0 1.5 0V3.5h1v2.751a.75.75 0 1 0 1.5 0V3.5h1V11h-11Zm0 3.25V12.5h11v1.75a.75.75 0 0 1-.75.75h-3a.75.75 0 0 0-.75.75v3.75a1 1 0 0 1-2 0v-3.75a.75.75 0 0 0-.75-.75h-3a.75.75 0 0 1-.75-.75Z" fill="#fff"/></svg></button>
<a href="/voice.html" title="Voice Chat" aria-label="Voice Chat"><svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M14.754 15a2.249 2.249 0 0 1 2.249 2.249v.575c0 .895-.32 1.76-.901 2.439C14.532 22.096 12.145 23 9 23c-3.146 0-5.532-.905-7.098-2.74a3.75 3.75 0 0 1-.899-2.434v-.578A2.249 2.249 0 0 1 3.253 15h11.501Zm0 1.5H3.252a.749.749 0 0 0-.749.749v.578c0 .535.192 1.053.54 1.46C4.295 20.756 6.261 21.502 9 21.502s4.706-.746 5.962-2.214a2.25 2.25 0 0 0 .54-1.463v-.575a.749.749 0 0 0-.748-.749Zm4.3-15.096a.75.75 0 0 1 1.023.279A12.693 12.693 0 0 1 21.75 8c0 2.254-.586 4.424-1.684 6.336a.75.75 0 1 1-1.3-.746A11.195 11.195 0 0 0 20.25 8c0-1.983-.513-3.89-1.475-5.573a.75.75 0 0 1 .279-1.023ZM9 3.004a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm6.588.396a.75.75 0 0 1 1.023.28A8.712 8.712 0 0 1 17.75 8c0 1.538-.398 3.02-1.144 4.328a.75.75 0 1 1-1.303-.743A7.214 7.214 0 0 0 16.25 8a7.213 7.213 0 0 0-.943-3.578.75.75 0 0 1 .281-1.022ZM9 4.505a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z" fill="#fff"/></svg></a>
<!-- <button title="Settings" aria-label="Settings"><svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12.012 2.25c.734.008 1.465.093 2.182.253a.75.75 0 0 1 .582.649l.17 1.527a1.384 1.384 0 0 0 1.927 1.116l1.401-.615a.75.75 0 0 1 .85.174 9.792 9.792 0 0 1 2.204 3.792.75.75 0 0 1-.271.825l-1.242.916a1.381 1.381 0 0 0 0 2.226l1.243.915a.75.75 0 0 1 .272.826 9.797 9.797 0 0 1-2.204 3.792.75.75 0 0 1-.848.175l-1.407-.617a1.38 1.38 0 0 0-1.926 1.114l-.169 1.526a.75.75 0 0 1-.572.647 9.518 9.518 0 0 1-4.406 0 .75.75 0 0 1-.572-.647l-.168-1.524a1.382 1.382 0 0 0-1.926-1.11l-1.406.616a.75.75 0 0 1-.849-.175 9.798 9.798 0 0 1-2.204-3.796.75.75 0 0 1 .272-.826l1.243-.916a1.38 1.38 0 0 0 0-2.226l-1.243-.914a.75.75 0 0 1-.271-.826 9.793 9.793 0 0 1 2.204-3.792.75.75 0 0 1 .85-.174l1.4.615a1.387 1.387 0 0 0 1.93-1.118l.17-1.526a.75.75 0 0 1 .583-.65c.717-.159 1.45-.243 2.201-.252Zm0 1.5a9.135 9.135 0 0 0-1.354.117l-.109.977A2.886 2.886 0 0 1 6.525 7.17l-.898-.394a8.293 8.293 0 0 0-1.348 2.317l.798.587a2.881 2.881 0 0 1 0 4.643l-.799.588c.32.842.776 1.626 1.348 2.322l.905-.397a2.882 2.882 0 0 1 4.017 2.318l.11.984c.889.15 1.798.15 2.687 0l.11-.984a2.881 2.881 0 0 1 4.018-2.322l.905.396a8.296 8.296 0 0 0 1.347-2.318l-.798-.588a2.881 2.881 0 0 1 0-4.643l.796-.587a8.293 8.293 0 0 0-1.348-2.317l-.896.393a2.884 2.884 0 0 1-4.023-2.324l-.11-.976a8.988 8.988 0 0 0-1.333-.117ZM12 8.25a3.75 3.75 0 1 1 0 7.5 3.75 3.75 0 0 1 0-7.5Zm0 1.5a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Z" fill="#fff"/></svg></button> -->
</div>
</div>
<script src="script.js"></script>
</body>
</html>