{ const res = await deleteAllModels(localStorage.token); if (res) { toast.success($i18n.t('All models deleted successfully')); await init(); } }} /> {#if models !== null} {#if selectedModelId === null}

{$i18n.t('Models')} {filteredModels.length}

{#if $user?.role === 'admin'} { if (importFiles.length > 0) { const reader = new FileReader(); reader.onload = async (event) => { modelsImportInProgress = true; try { const models = JSON.parse(String(event.target.result)); const res = await importModels(localStorage.token, models); if (res) { toast.success($i18n.t('Models imported successfully')); await init(); } else { toast.error($i18n.t('Failed to import models')); } } catch (e) { toast.error(e?.detail ?? $i18n.t('Invalid JSON file')); console.error(e); } modelsImportInProgress = false; }; reader.readAsText(importFiles[0]); } }} /> {/if}
{#if searchValue}
{/if}
{ if (e.deltaY !== 0) { e.preventDefault(); e.currentTarget.scrollLeft += e.deltaY; } }} >
{#if (tags ?? []).length > 0} { return { value: tag, label: tag }; })} onChange={async () => { await init(); }} /> {/if}
{#if $user?.role === 'admin'} {/if}

{#if filteredModels.length > 0} {#each filteredModels as model, modelIdx (`${model.id}-${modelIdx}`)}
{#if shiftKey} {/if} { exportModelHandler(model); }} hideHandler={() => { hideModelHandler(model); }} privacyHandler={() => { toggleModelPrivacyHandler(model); }} isDefaultSelected={defaultModelIdSet.has(model.id)} isDefaultPinned={defaultPinnedModelIdSet.has(model.id)} defaultSelectedHandler={() => { toggleDefaultModelHandler(model); }} defaultPinnedHandler={() => { toggleDefaultPinnedModelHandler(model); }} pinModelHandler={() => { pinModelHandler(model.id); }} copyLinkHandler={() => { copyLinkHandler(model); }} cloneHandler={() => { cloneHandler(model); }} onClose={() => {}} >
{ toggleModelHandler(model); }} />
{/each} {:else}
😕
{$i18n.t('No models found')}
{$i18n.t('Try adjusting your search or filter to find what you are looking for.')}
{/if}
{:else} m.id === selectedModelId)} preset={false} onSubmit={async (model) => { console.log(model); await upsertModelHandler(model); selectedModelId = null; await init(); }} onBack={async () => { selectedModelId = null; await init(); }} /> {/if} {:else}
{/if}