lauro1 commited on
Commit
fe39225
1 Parent(s): 945ac71
src/lib/components/ConfirmModal.svelte ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import Modal from "$lib/components/Modal.svelte";
3
+ import { createEventDispatcher } from "svelte";
4
+ import CarbonClose from "~icons/carbon/close";
5
+
6
+ const dispatch = createEventDispatcher<{ close: void }>();
7
+ </script>
8
+
9
+ <Modal>
10
+ <div class="flex w-full flex-col gap-0 p-2">
11
+ <div class="flex items-start text-xl font-bold text-gray-800 m-2">
12
+ <h1>You are about to download an AI model on your device</h1>
13
+ <br />
14
+ <button type="button" class="group" on:click={() => dispatch("close")}>
15
+ <CarbonClose class="text-gray-900 group-hover:text-gray-500" />
16
+ </button>
17
+ </div>
18
+ <div class="flex items-start text-m text-gray-800 m-2">
19
+ <br>To ensure your conversations with our AI remain private, our web application sends a model to your device to perform inference locally. No data leaves your device.<br />
20
+ <br>This might be demanding in terms of bandwidth, storage and computing power on your side.<br />
21
+ <br />
22
+ </div>
23
+ <div class="flex items-start text-m text-gray-800 m-2">
24
+ <br><b>Mobile usage is not advised.</b><br />
25
+ </div>
26
+ <br />
27
+ </div>
28
+ </Modal>
src/lib/components/chat/ChatIntroduction.svelte CHANGED
@@ -27,6 +27,8 @@
27
 
28
  const dispatch = createEventDispatcher<{ message: string }>();
29
 
 
 
30
  $: title = env.PUBLIC_APP_NAME
31
  </script>
32
 
@@ -48,6 +50,16 @@
48
  </div>
49
  </div>
50
  <div class="lg:col-span-2 lg:pl-24">
 
 
 
 
 
 
 
 
 
 
51
  {#if isModelsModalOpen}
52
  <ModelsModal {settings} {models} on:close={() => (isModelsModalOpen = false)} />
53
  {/if}
 
27
 
28
  const dispatch = createEventDispatcher<{ message: string }>();
29
 
30
+ console.log(PUBLIC_ANNOUNCEMENT_BANNERS)
31
+
32
  $: title = env.PUBLIC_APP_NAME
33
  </script>
34
 
 
50
  </div>
51
  </div>
52
  <div class="lg:col-span-2 lg:pl-24">
53
+ {#each announcementBanners as banner}
54
+ <AnnouncementBanner classNames="mb-4" title={banner.title}>
55
+ <a
56
+ target="_blank"
57
+ href={banner.linkHref}
58
+ class="mr-2 flex items-center underline hover:no-underline"
59
+ ><CarbonArrowUpRight class="mr-1.5 text-xs" /> {banner.linkTitle}</a
60
+ >
61
+ </AnnouncementBanner>
62
+ {/each}
63
  {#if isModelsModalOpen}
64
  <ModelsModal {settings} {models} on:close={() => (isModelsModalOpen = false)} />
65
  {/if}
src/lib/components/icons/Logo.svelte CHANGED
@@ -7,22 +7,15 @@
7
  </script>
8
 
9
  {#if PUBLIC_APP_ASSETS === "chatui"}
10
- <svg
11
- height="30"
12
- width="30"
13
- viewBox="0 0 30 30"
14
- xmlns="http://www.w3.org/2000/svg"
15
  class={classNames}
16
- >
17
- <path
18
- d="M4.06151 14.1464C4.06151 11.8818 4.9611 9.71004 6.56237 8.10877C8.16364 6.5075 10.3354 5.60791 12.6 5.60791H16.5231C18.6254 5.60791 20.6416 6.44307 22.1282 7.92965C23.6148 9.41624 24.45 11.4325 24.45 13.5348C24.45 15.6372 23.6148 17.6534 22.1282 19.14C20.6416 20.6266 18.6254 21.4618 16.5231 21.4618H7.08459L4.63844 23.8387C4.59547 23.8942 4.53557 23.9343 4.4678 23.9527C4.40004 23.9712 4.32811 23.9671 4.2629 23.941C4.1977 23.9149 4.14276 23.8683 4.10643 23.8082C4.07009 23.7481 4.05432 23.6778 4.06151 23.6079V14.1464Z"
19
- class="fill-primary-500"
20
- />
21
- </svg>
22
  {:else}
23
  <object
24
  class={classNames}
25
- data="{PUBLIC_ORIGIN || $page.url.origin}{base}/{PUBLIC_APP_ASSETS}/favicon.svg"
26
  title="{PUBLIC_APP_NAME} logo"
27
  />
28
  {/if}
 
7
  </script>
8
 
9
  {#if PUBLIC_APP_ASSETS === "chatui"}
10
+ <object
 
 
 
 
11
  class={classNames}
12
+ data="{PUBLIC_ORIGIN || $page.url.origin}{base}/{PUBLIC_APP_ASSETS}/chat.png"
13
+ title="{PUBLIC_APP_NAME} logo"
14
+ />
 
 
 
15
  {:else}
16
  <object
17
  class={classNames}
18
+ data="{PUBLIC_ORIGIN || $page.url.origin}{base}/{PUBLIC_APP_ASSETS}/favicon.png"
19
  title="{PUBLIC_APP_NAME} logo"
20
  />
21
  {/if}
src/routes/+layout.svelte CHANGED
@@ -14,6 +14,7 @@
14
  import MobileNav from "$lib/components/MobileNav.svelte";
15
  import NavMenu from "$lib/components/NavMenu.svelte";
16
  import Toast from "$lib/components/Toast.svelte";
 
17
  import SettingsModal from "$lib/components/SettingsModal.svelte";
18
  import LoadingModal from "$lib/components/LoadingModal.svelte";
19
  import LoginModal from "$lib/components/LoginModal.svelte";
@@ -24,6 +25,7 @@
24
 
25
  export let data;
26
  let isloading = false;
 
27
 
28
  let go_to_main = false;
29
 
@@ -128,12 +130,7 @@
128
  <meta property="og:url" content="{PUBLIC_ORIGIN || $page.url.origin}{base}" />
129
  <meta
130
  property="og:image"
131
- content="{PUBLIC_ORIGIN || $page.url.origin}{base}/{PUBLIC_APP_ASSETS}/thumbnail.png"
132
- />
133
- <link
134
- rel="icon"
135
- href="{PUBLIC_ORIGIN || $page.url.origin}{base}/{PUBLIC_APP_ASSETS}/favicon.svg"
136
- type="image/svg+xml"
137
  />
138
  <link
139
  rel="icon"
@@ -196,6 +193,11 @@
196
  {#if currentError}
197
  <Toast message={currentError} />
198
  {/if}
 
 
 
 
 
199
  {#if isloading}
200
  <LoadingModal />
201
  {/if}
 
14
  import MobileNav from "$lib/components/MobileNav.svelte";
15
  import NavMenu from "$lib/components/NavMenu.svelte";
16
  import Toast from "$lib/components/Toast.svelte";
17
+ import ConfirmModal from "$lib/components/ConfirmModal.svelte";
18
  import SettingsModal from "$lib/components/SettingsModal.svelte";
19
  import LoadingModal from "$lib/components/LoadingModal.svelte";
20
  import LoginModal from "$lib/components/LoginModal.svelte";
 
25
 
26
  export let data;
27
  let isloading = false;
28
+ let showWarning = true;
29
 
30
  let go_to_main = false;
31
 
 
130
  <meta property="og:url" content="{PUBLIC_ORIGIN || $page.url.origin}{base}" />
131
  <meta
132
  property="og:image"
133
+ content="{PUBLIC_ORIGIN || $page.url.origin}{base}/{PUBLIC_APP_ASSETS}/thumbnail.jpg"
 
 
 
 
 
134
  />
135
  <link
136
  rel="icon"
 
193
  {#if currentError}
194
  <Toast message={currentError} />
195
  {/if}
196
+ {#if showWarning}
197
+ <ConfirmModal
198
+ on:close={() => (showWarning = false)}
199
+ />
200
+ {/if}
201
  {#if isloading}
202
  <LoadingModal />
203
  {/if}
src/routes/conversation/[id]/+page.svelte CHANGED
@@ -29,7 +29,7 @@
29
 
30
  let id = ""
31
 
32
- let title_ret = env.PUBLIC_APP_NAME
33
 
34
  let messages = [];
35
  let lastLoadedMessages = [];
@@ -212,7 +212,6 @@
212
  }
213
 
214
  await getTextGenerationStream(message, messageId, isRetry, searchResponseId ?? undefined);
215
- title_ret = await getTitle($page.params.id)
216
  } catch (err) {
217
  if (err instanceof Error && err.message.includes("overloaded")) {
218
  $error = "Too much traffic, please try again.";
@@ -259,7 +258,7 @@
259
  params_writable.subscribe(async (value) => {
260
  if (value != id) {
261
  id = value
262
- title_ret = await getTitle(value)
263
  let res = await getMessages(value)
264
 
265
  if (res != undefined) {
@@ -273,7 +272,7 @@
273
  const Worker = await import("./worker.js?worker");
274
  pipelineWorker = new Worker.default();
275
 
276
- title_ret = await getTitle($page.params.id)
277
  let res = await getMessages($page.params.id)
278
 
279
  id = $page.params.id
 
29
 
30
  let id = ""
31
 
32
+ let title_ret = "BlindChat"
33
 
34
  let messages = [];
35
  let lastLoadedMessages = [];
 
212
  }
213
 
214
  await getTextGenerationStream(message, messageId, isRetry, searchResponseId ?? undefined);
 
215
  } catch (err) {
216
  if (err instanceof Error && err.message.includes("overloaded")) {
217
  $error = "Too much traffic, please try again.";
 
258
  params_writable.subscribe(async (value) => {
259
  if (value != id) {
260
  id = value
261
+ //title_ret = await getTitle(value)
262
  let res = await getMessages(value)
263
 
264
  if (res != undefined) {
 
272
  const Worker = await import("./worker.js?worker");
273
  pipelineWorker = new Worker.default();
274
 
275
+ //title_ret = await getTitle($page.params.id)
276
  let res = await getMessages($page.params.id)
277
 
278
  id = $page.params.id
static/chatui/chat.png ADDED
static/chatui/chat.svg ADDED
static/chatui/favicon.png CHANGED
static/chatui/thumbnail.jpg ADDED
static/chatui/touch-icon-ipad-retina.png CHANGED
static/chatui/touch-icon-ipad.png CHANGED
static/chatui/touch-icon-iphone-retina.png CHANGED