open modal on click
Browse files
src/lib/components/InferencePlayground/InferencePlayground.svelte
CHANGED
@@ -40,7 +40,7 @@
|
|
40 |
let hfToken: string | null = import.meta.env.VITE_HF_TOKEN;
|
41 |
let viewCode = false;
|
42 |
let showTokenModal = false;
|
43 |
-
let showModelPickerModal =
|
44 |
let loading = false;
|
45 |
let tokens = 0;
|
46 |
let latency = 0;
|
@@ -354,8 +354,9 @@
|
|
354 |
class="flex flex-1 flex-col gap-6 overflow-y-hidden rounded-xl border border-gray-200/80 bg-gradient-to-b from-white via-white p-3 shadow-sm dark:border-white/5 dark:from-gray-800/40 dark:via-gray-800/40"
|
355 |
>
|
356 |
<PlaygroundModelSelector
|
357 |
-
|
358 |
-
|
|
|
359 |
/>
|
360 |
<!-- <div
|
361 |
class="group relative -mt-4 flex h-[26px] w-full items-center justify-center gap-2 rounded-lg bg-black px-5 text-sm text-white hover:bg-gray-900 focus:outline-none focus:ring-4 focus:ring-gray-300 dark:border-gray-700 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-gray-700"
|
|
|
40 |
let hfToken: string | null = import.meta.env.VITE_HF_TOKEN;
|
41 |
let viewCode = false;
|
42 |
let showTokenModal = false;
|
43 |
+
let showModelPickerModal = false;
|
44 |
let loading = false;
|
45 |
let tokens = 0;
|
46 |
let latency = 0;
|
|
|
354 |
class="flex flex-1 flex-col gap-6 overflow-y-hidden rounded-xl border border-gray-200/80 bg-gradient-to-b from-white via-white p-3 shadow-sm dark:border-white/5 dark:from-gray-800/40 dark:via-gray-800/40"
|
355 |
>
|
356 |
<PlaygroundModelSelector
|
357 |
+
{models}
|
358 |
+
conversation={conversations[0]}
|
359 |
+
on:click={() => (showModelPickerModal = open)}
|
360 |
/>
|
361 |
<!-- <div
|
362 |
class="group relative -mt-4 flex h-[26px] w-full items-center justify-center gap-2 rounded-lg bg-black px-5 text-sm text-white hover:bg-gray-900 focus:outline-none focus:ring-4 focus:ring-gray-300 dark:border-gray-700 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-gray-700"
|
src/lib/components/InferencePlayground/InferencePlaygroundModelSelector.svelte
CHANGED
@@ -1,22 +1,23 @@
|
|
1 |
<script lang="ts">
|
2 |
-
import {
|
3 |
-
import { createEventDispatcher } from 'svelte';
|
4 |
|
5 |
-
export let
|
|
|
6 |
export let disabled = false;
|
7 |
|
8 |
-
|
9 |
</script>
|
10 |
|
11 |
<div class="flex flex-col gap-2">
|
12 |
<label
|
13 |
for="countries"
|
14 |
class="flex items-baseline text-sm font-medium text-gray-900 dark:text-white"
|
15 |
-
>Models<span class="ml-4 font-normal text-gray-400">{
|
16 |
</label>
|
17 |
|
18 |
<button
|
19 |
class="flex items-center gap-6 overflow-hidden whitespace-nowrap rounded-lg border bg-gray-100/80 px-3 py-1.5 leading-tight shadow dark:bg-gray-700"
|
|
|
20 |
>
|
21 |
<div class="flex flex-col items-start">
|
22 |
<div class="flex items-center gap-1 text-sm text-gray-500 dark:text-gray-300">
|
@@ -25,9 +26,9 @@
|
|
25 |
src="https://cdn-avatars.huggingface.co/v1/production/uploads/646cf8084eefb026fb8fd8bc/oCTqufkdTkjyGodsx1vo1.png"
|
26 |
alt=""
|
27 |
/>
|
28 |
-
|
29 |
</div>
|
30 |
-
<div>
|
31 |
</div>
|
32 |
<div class="rounded bg-gray-100">
|
33 |
<svg
|
|
|
1 |
<script lang="ts">
|
2 |
+
import type { Conversation, ModelEntryWithTokenizer } from '$lib/types';
|
|
|
3 |
|
4 |
+
export let models: ModelEntryWithTokenizer[] = [];
|
5 |
+
export let conversation: Conversation;
|
6 |
export let disabled = false;
|
7 |
|
8 |
+
$: [nameSpace, modelName] = conversation.model.id.split('/');
|
9 |
</script>
|
10 |
|
11 |
<div class="flex flex-col gap-2">
|
12 |
<label
|
13 |
for="countries"
|
14 |
class="flex items-baseline text-sm font-medium text-gray-900 dark:text-white"
|
15 |
+
>Models<span class="ml-4 font-normal text-gray-400">{models.length}</span>
|
16 |
</label>
|
17 |
|
18 |
<button
|
19 |
class="flex items-center gap-6 overflow-hidden whitespace-nowrap rounded-lg border bg-gray-100/80 px-3 py-1.5 leading-tight shadow dark:bg-gray-700"
|
20 |
+
on:click
|
21 |
>
|
22 |
<div class="flex flex-col items-start">
|
23 |
<div class="flex items-center gap-1 text-sm text-gray-500 dark:text-gray-300">
|
|
|
26 |
src="https://cdn-avatars.huggingface.co/v1/production/uploads/646cf8084eefb026fb8fd8bc/oCTqufkdTkjyGodsx1vo1.png"
|
27 |
alt=""
|
28 |
/>
|
29 |
+
{nameSpace}
|
30 |
</div>
|
31 |
+
<div>{modelName}</div>
|
32 |
</div>
|
33 |
<div class="rounded bg-gray-100">
|
34 |
<svg
|