Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
UI tweaks (#53)
Browse files* logo
* add some icons
* size tweaks
* layout
src/lib/components/chat/ChatIntroduction.svelte
CHANGED
|
@@ -2,6 +2,8 @@
|
|
| 2 |
import { PUBLIC_DISABLE_INTRO_TILES, PUBLIC_MODEL_NAME } from '$env/static/public';
|
| 3 |
|
| 4 |
import Logo from '$lib/components/icons/Logo.svelte';
|
|
|
|
|
|
|
| 5 |
import { createEventDispatcher } from 'svelte';
|
| 6 |
|
| 7 |
const dispatch = createEventDispatcher<{ message: string }>();
|
|
@@ -11,7 +13,7 @@
|
|
| 11 |
<div class="lg:col-span-1">
|
| 12 |
<div>
|
| 13 |
<div class="text-2xl font-bold mb-3 flex items-center">
|
| 14 |
-
<Logo classNames="mr-
|
| 15 |
HuggingChat
|
| 16 |
</div>
|
| 17 |
<p class="text-lg text-gray-600 dark:text-gray-400">
|
|
@@ -26,20 +28,36 @@
|
|
| 26 |
<div class="font-semibold">{PUBLIC_MODEL_NAME}</div>
|
| 27 |
</div>
|
| 28 |
<div
|
| 29 |
-
class="flex items-center gap-
|
| 30 |
>
|
| 31 |
-
<a
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
</a>
|
| 34 |
<a
|
| 35 |
href="https://huggingface.co/datasets/OpenAssistant/oasst1"
|
| 36 |
target="_blank"
|
| 37 |
rel="noreferrer"
|
|
|
|
| 38 |
>
|
| 39 |
-
|
|
|
|
|
|
|
| 40 |
</a>
|
| 41 |
-
<a
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
</a>
|
| 44 |
</div>
|
| 45 |
</div>
|
|
|
|
| 2 |
import { PUBLIC_DISABLE_INTRO_TILES, PUBLIC_MODEL_NAME } from '$env/static/public';
|
| 3 |
|
| 4 |
import Logo from '$lib/components/icons/Logo.svelte';
|
| 5 |
+
import CarbonArrowUpRight from '~icons/carbon/arrow-up-right';
|
| 6 |
+
import CarbonEarth from '~icons/carbon/earth';
|
| 7 |
import { createEventDispatcher } from 'svelte';
|
| 8 |
|
| 9 |
const dispatch = createEventDispatcher<{ message: string }>();
|
|
|
|
| 13 |
<div class="lg:col-span-1">
|
| 14 |
<div>
|
| 15 |
<div class="text-2xl font-bold mb-3 flex items-center">
|
| 16 |
+
<Logo classNames="mr-1 text-yellow-400 text-4xl" />
|
| 17 |
HuggingChat
|
| 18 |
</div>
|
| 19 |
<p class="text-lg text-gray-600 dark:text-gray-400">
|
|
|
|
| 28 |
<div class="font-semibold">{PUBLIC_MODEL_NAME}</div>
|
| 29 |
</div>
|
| 30 |
<div
|
| 31 |
+
class="flex items-center gap-5 px-3 py-2 bg-gray-100 rounded-xl text-sm text-gray-600 dark:text-gray-300 dark:bg-gray-800"
|
| 32 |
>
|
| 33 |
+
<a
|
| 34 |
+
href="https://huggingface.co/{PUBLIC_MODEL_NAME}"
|
| 35 |
+
target="_blank"
|
| 36 |
+
rel="noreferrer"
|
| 37 |
+
class="flex items-center hover:underline"
|
| 38 |
+
>
|
| 39 |
+
<CarbonArrowUpRight class="text-xs mr-1.5 text-gray-400" />
|
| 40 |
+
Model
|
| 41 |
+
<div class="max-sm:hidden"> page</div>
|
| 42 |
</a>
|
| 43 |
<a
|
| 44 |
href="https://huggingface.co/datasets/OpenAssistant/oasst1"
|
| 45 |
target="_blank"
|
| 46 |
rel="noreferrer"
|
| 47 |
+
class="flex items-center hover:underline"
|
| 48 |
>
|
| 49 |
+
<CarbonArrowUpRight class="text-xs mr-1.5 text-gray-400" />
|
| 50 |
+
Dataset
|
| 51 |
+
<div class="max-sm:hidden"> page</div>
|
| 52 |
</a>
|
| 53 |
+
<a
|
| 54 |
+
href="https://open-assistant.io/"
|
| 55 |
+
target="_blank"
|
| 56 |
+
class="flex items-center hover:underline ml-auto"
|
| 57 |
+
rel="noreferrer"
|
| 58 |
+
>
|
| 59 |
+
<CarbonEarth class="text-xs mr-1.5 text-gray-400" />
|
| 60 |
+
Open Assistant Website
|
| 61 |
</a>
|
| 62 |
</div>
|
| 63 |
</div>
|
src/lib/components/chat/ChatWindow.svelte
CHANGED
|
@@ -2,7 +2,9 @@
|
|
| 2 |
import type { Message } from '$lib/types/Message';
|
| 3 |
import { createEventDispatcher } from 'svelte';
|
| 4 |
|
|
|
|
| 5 |
import CarbonSendAltFilled from '~icons/carbon/send-alt-filled';
|
|
|
|
| 6 |
|
| 7 |
import ChatMessages from './ChatMessages.svelte';
|
| 8 |
import ChatInput from './ChatInput.svelte';
|
|
@@ -19,9 +21,9 @@
|
|
| 19 |
|
| 20 |
<div class="relative h-screen">
|
| 21 |
<nav class="sm:hidden flex items-center h-12 border-b px-4 justify-between dark:border-gray-800">
|
| 22 |
-
<button
|
| 23 |
<button>New Chat</button>
|
| 24 |
-
<button
|
| 25 |
</nav>
|
| 26 |
<ChatMessages {loading} {pending} {messages} on:message />
|
| 27 |
<div
|
|
@@ -33,7 +35,7 @@
|
|
| 33 |
dispatch('message', message);
|
| 34 |
message = '';
|
| 35 |
}}
|
| 36 |
-
class="w-full relative flex items-center rounded-xl flex-1 max-w-4xl border bg-gray-100 focus-within:border-gray-300 dark:bg-gray-700 dark:border-gray-600 dark:focus-within:border-gray-500
|
| 37 |
>
|
| 38 |
<div class="w-full flex flex-1 border-none bg-transparent">
|
| 39 |
<ChatInput placeholder="Ask anything" bind:value={message} autofocus maxRows={10} />
|
|
|
|
| 2 |
import type { Message } from '$lib/types/Message';
|
| 3 |
import { createEventDispatcher } from 'svelte';
|
| 4 |
|
| 5 |
+
import CarbonAdd from '~icons/carbon/add';
|
| 6 |
import CarbonSendAltFilled from '~icons/carbon/send-alt-filled';
|
| 7 |
+
import CarbonTextAlignJustify from '~icons/carbon/text-align-justify';
|
| 8 |
|
| 9 |
import ChatMessages from './ChatMessages.svelte';
|
| 10 |
import ChatInput from './ChatInput.svelte';
|
|
|
|
| 21 |
|
| 22 |
<div class="relative h-screen">
|
| 23 |
<nav class="sm:hidden flex items-center h-12 border-b px-4 justify-between dark:border-gray-800">
|
| 24 |
+
<button><CarbonTextAlignJustify /></button>
|
| 25 |
<button>New Chat</button>
|
| 26 |
+
<button><CarbonAdd /></button>
|
| 27 |
</nav>
|
| 28 |
<ChatMessages {loading} {pending} {messages} on:message />
|
| 29 |
<div
|
|
|
|
| 35 |
dispatch('message', message);
|
| 36 |
message = '';
|
| 37 |
}}
|
| 38 |
+
class="w-full relative flex items-center rounded-xl flex-1 max-w-4xl border bg-gray-100 focus-within:border-gray-300 dark:bg-gray-700 dark:border-gray-600 dark:focus-within:border-gray-500 "
|
| 39 |
>
|
| 40 |
<div class="w-full flex flex-1 border-none bg-transparent">
|
| 41 |
<ChatInput placeholder="Ask anything" bind:value={message} autofocus maxRows={10} />
|
src/lib/components/icons/Logo.svelte
CHANGED
|
@@ -3,14 +3,23 @@
|
|
| 3 |
</script>
|
| 4 |
|
| 5 |
<svg
|
| 6 |
-
xmlns="http://www.w3.org/2000/svg"
|
| 7 |
width="1em"
|
| 8 |
height="1em"
|
| 9 |
class={classNames}
|
| 10 |
-
viewBox="0 0
|
|
|
|
|
|
|
| 11 |
>
|
| 12 |
<path
|
| 13 |
-
fill="
|
| 14 |
-
d="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
/>
|
| 16 |
</svg>
|
|
|
|
| 3 |
</script>
|
| 4 |
|
| 5 |
<svg
|
|
|
|
| 6 |
width="1em"
|
| 7 |
height="1em"
|
| 8 |
class={classNames}
|
| 9 |
+
viewBox="0 0 13 12"
|
| 10 |
+
fill="none"
|
| 11 |
+
xmlns="http://www.w3.org/2000/svg"
|
| 12 |
>
|
| 13 |
<path
|
| 14 |
+
fill="#FFD21E"
|
| 15 |
+
d="M1.76 5.63a3.7 3.7 0 0 1 3.7-3.7h1.7a3.43 3.43 0 0 1 0 6.87H3.07L2.01 9.83a.14.14 0 0 1-.25-.1v-4.1Z"
|
| 16 |
+
/>
|
| 17 |
+
<path
|
| 18 |
+
fill="#32343D"
|
| 19 |
+
d="M7.37 4.8c.13.05.19.33.33.25a.54.54 0 0 0 .22-.73.54.54 0 0 0-.73-.22.54.54 0 0 0-.22.73c.06.13.27-.08.4-.03ZM4.83 4.8c-.14.05-.2.33-.33.25a.54.54 0 0 1-.23-.73A.54.54 0 0 1 5 4.1c.26.14.36.47.22.73-.06.13-.27-.08-.4-.03ZM6.12 7.4c1.06 0 1.4-.96 1.4-1.44 0-.49-.62.26-1.4.26-.77 0-1.4-.75-1.4-.26 0 .48.34 1.43 1.4 1.43Z"
|
| 20 |
+
/>
|
| 21 |
+
<path
|
| 22 |
+
fill="#FF323D"
|
| 23 |
+
d="M6.97 7.12c-.2.16-.49.27-.85.27-.34 0-.6-.1-.81-.24a.94.94 0 0 1 .57-.49c.04-.01.09.06.13.14.05.07.1.15.14.15.05 0 .1-.08.14-.15.05-.08.1-.15.14-.13a.93.93 0 0 1 .54.45Z"
|
| 24 |
/>
|
| 25 |
</svg>
|
src/routes/+layout.svelte
CHANGED
|
@@ -92,34 +92,38 @@
|
|
| 92 |
New Chat
|
| 93 |
</a>
|
| 94 |
</div>
|
| 95 |
-
<div class="flex flex-col overflow-y-auto p-3 -mt-3 gap-
|
| 96 |
{#each data.conversations as conv}
|
| 97 |
<a
|
| 98 |
data-sveltekit-noscroll
|
| 99 |
href="{base}/conversation/{conv.id}"
|
| 100 |
-
class="pl-3 pr-2 h-12 group rounded-lg flex-none text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 flex items-center gap-1 {conv.id ===
|
| 101 |
$page.params.id
|
| 102 |
? 'bg-gray-100 dark:bg-gray-700'
|
| 103 |
: ''}"
|
| 104 |
>
|
| 105 |
-
<div class="flex-1 truncate">
|
| 106 |
|
| 107 |
<button
|
| 108 |
type="button"
|
| 109 |
-
class="w-
|
| 110 |
title="Share conversation"
|
| 111 |
on:click|preventDefault={() => shareConversation(conv.id, conv.title)}
|
| 112 |
>
|
| 113 |
-
<CarbonExport
|
|
|
|
|
|
|
| 114 |
</button>
|
| 115 |
|
| 116 |
<button
|
| 117 |
type="button"
|
| 118 |
-
class="w-
|
| 119 |
title="Delete conversation"
|
| 120 |
on:click|preventDefault={() => deleteConversation(conv.id)}
|
| 121 |
>
|
| 122 |
-
<CarbonTrashCan
|
|
|
|
|
|
|
| 123 |
</button>
|
| 124 |
</a>
|
| 125 |
{/each}
|
|
|
|
| 92 |
New Chat
|
| 93 |
</a>
|
| 94 |
</div>
|
| 95 |
+
<div class="flex flex-col overflow-y-auto p-3 -mt-3 gap-1">
|
| 96 |
{#each data.conversations as conv}
|
| 97 |
<a
|
| 98 |
data-sveltekit-noscroll
|
| 99 |
href="{base}/conversation/{conv.id}"
|
| 100 |
+
class="pl-3 pr-2 h-12 group rounded-lg flex-none text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 flex items-center gap-1.5 {conv.id ===
|
| 101 |
$page.params.id
|
| 102 |
? 'bg-gray-100 dark:bg-gray-700'
|
| 103 |
: ''}"
|
| 104 |
>
|
| 105 |
+
<div class="flex-1 truncate">azeza aze a ea zeazeazazeae</div>
|
| 106 |
|
| 107 |
<button
|
| 108 |
type="button"
|
| 109 |
+
class="w-5 h-5 items-center justify-center hidden group-hover:flex rounded"
|
| 110 |
title="Share conversation"
|
| 111 |
on:click|preventDefault={() => shareConversation(conv.id, conv.title)}
|
| 112 |
>
|
| 113 |
+
<CarbonExport
|
| 114 |
+
class="text-gray-400 hover:text-gray-500 dark:hover:text-gray-300 text-xs"
|
| 115 |
+
/>
|
| 116 |
</button>
|
| 117 |
|
| 118 |
<button
|
| 119 |
type="button"
|
| 120 |
+
class="w-5 h-5 items-center justify-center hidden group-hover:flex rounded"
|
| 121 |
title="Delete conversation"
|
| 122 |
on:click|preventDefault={() => deleteConversation(conv.id)}
|
| 123 |
>
|
| 124 |
+
<CarbonTrashCan
|
| 125 |
+
class="text-gray-400 hover:text-gray-500 dark:hover:text-gray-300 text-xs"
|
| 126 |
+
/>
|
| 127 |
</button>
|
| 128 |
</a>
|
| 129 |
{/each}
|