Spaces:
Runtime error
Runtime error
File size: 3,763 Bytes
9e93b10 | 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 | <script lang="ts">
import { getContext } from 'svelte';
import { getGroupPreview } from '$lib/apis/groups';
import Spinner from '$lib/components/common/Spinner.svelte';
const i18n = getContext('i18n');
export let groupId: string = '';
let loading = true;
let preview: any = null;
let error: string = '';
$: if (groupId) {
loadPreview();
}
const loadPreview = async () => {
loading = true;
error = '';
try {
preview = await getGroupPreview(localStorage.token, groupId);
} catch (e) {
error = String(e);
} finally {
loading = false;
}
};
</script>
<div class="space-y-2">
{#if loading}
<div class="flex justify-center items-center py-8">
<Spinner className="size-5" />
</div>
{:else if error}
<div class="text-red-500 text-xs text-center py-4">{error}</div>
{:else if preview}
<div>
<div class=" mb-2 text-sm font-medium">{$i18n.t('Models')}</div>
<div class="flex flex-col w-full">
{#if preview.models.items.length === 0}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs text-gray-500">
{$i18n.t('No models accessible')}
</div>
</div>
{:else}
{#each preview.models.items as model}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs font-medium">{model.name}</div>
</div>
{/each}
{#if preview.models.total > preview.models.items.length}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs text-gray-500">
{$i18n.t('{{count}} of {{total}} accessible', {
count: preview.models.items.length,
total: preview.models.total
})}
</div>
</div>
{/if}
{/if}
</div>
</div>
<hr class="border-gray-50 dark:border-gray-850/30 my-1" />
<div>
<div class=" mb-2 text-sm font-medium">{$i18n.t('Knowledge')}</div>
<div class="flex flex-col w-full">
{#if preview.knowledge.items.length === 0}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs text-gray-500">
{$i18n.t('No knowledge bases accessible')}
</div>
</div>
{:else}
{#each preview.knowledge.items as kb}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs font-medium">{kb.name}</div>
</div>
{/each}
{#if preview.knowledge.total > preview.knowledge.items.length}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs text-gray-500">
{$i18n.t('{{count}} of {{total}} accessible', {
count: preview.knowledge.items.length,
total: preview.knowledge.total
})}
</div>
</div>
{/if}
{/if}
</div>
</div>
<hr class="border-gray-50 dark:border-gray-850/30 my-1" />
<div>
<div class=" mb-2 text-sm font-medium">{$i18n.t('Tools')}</div>
<div class="flex flex-col w-full">
{#if preview.tools.items.length === 0}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs text-gray-500">
{$i18n.t('No tools accessible')}
</div>
</div>
{:else}
{#each preview.tools.items as tool}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs font-medium">{tool.name}</div>
</div>
{/each}
{#if preview.tools.total > preview.tools.items.length}
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs text-gray-500">
{$i18n.t('{{count}} of {{total}} accessible', {
count: preview.tools.items.length,
total: preview.tools.total
})}
</div>
</div>
{/if}
{/if}
</div>
</div>
{/if}
</div>
|