{#if showPreviewResults && previewResults}
{$i18n.t('Pruning Preview Results')}
(showPreviewResults = false)} >
{$i18n.t('The following items would be deleted:')}
{#if previewResults.inactive_users > 0}
{$i18n.t('Inactive users')}:
{previewResults.inactive_users}
{/if} {#if previewResults.old_chats > 0}
{$i18n.t('Old chats')}:
{previewResults.old_chats}
{/if} {#if previewResults.orphaned_chats > 0}
{$i18n.t('Orphaned chats')}:
{previewResults.orphaned_chats}
{/if} {#if previewResults.orphaned_files > 0}
{$i18n.t('Orphaned files')}:
{previewResults.orphaned_files}
{/if} {#if previewResults.orphaned_tools > 0}
{$i18n.t('Orphaned tools')}:
{previewResults.orphaned_tools}
{/if} {#if previewResults.orphaned_functions > 0}
{$i18n.t('Orphaned functions')}:
{previewResults.orphaned_functions}
{/if} {#if previewResults.orphaned_prompts > 0}
{$i18n.t('Orphaned prompts')}:
{previewResults.orphaned_prompts}
{/if} {#if previewResults.orphaned_knowledge_bases > 0}
{$i18n.t('Orphaned knowledge bases')}:
{previewResults.orphaned_knowledge_bases}
{/if} {#if previewResults.orphaned_models > 0}
{$i18n.t('Orphaned models')}:
{previewResults.orphaned_models}
{/if} {#if previewResults.orphaned_notes > 0}
{$i18n.t('Orphaned notes')}:
{previewResults.orphaned_notes}
{/if} {#if previewResults.orphaned_folders > 0}
{$i18n.t('Orphaned folders')}:
{previewResults.orphaned_folders}
{/if} {#if previewResults.orphaned_uploads > 0}
{$i18n.t('Orphaned upload files')}:
{previewResults.orphaned_uploads}
{/if} {#if previewResults.orphaned_vector_collections > 0}
{$i18n.t('Orphaned vector collections')}:
{previewResults.orphaned_vector_collections}
{/if} {#if previewResults.audio_cache_files > 0}
{$i18n.t('Audio cache files')}:
{previewResults.audio_cache_files}
{/if}
{#if Object.values(previewResults).every(count => count === 0)}
{$i18n.t('No items would be deleted with current settings')}
{$i18n.t('Your system is already clean or no cleanup options are enabled')}
{/if}
(showPreviewResults = false)} > {$i18n.t('Cancel')}
{#if !Object.values(previewResults).every(count => count === 0)}
{$i18n.t('Prune Data')}
{/if}
{/if}
{ saveHandler(); }} >
{$i18n.t('Database')}
{ const file = e.target.files[0]; const reader = new FileReader(); reader.onload = async (e) => { const res = await importConfig(localStorage.token, JSON.parse(e.target.result)).catch( (error) => { toast.error(`${error}`); } ); if (res) { toast.success($i18n.t('Config imported successfully')); } e.target.value = null; }; reader.readAsText(file); }} />
{ document.getElementById('config-json-input').click(); }} >
{$i18n.t('Import Config from JSON File')}
{ const config = await exportConfig(localStorage.token); const blob = new Blob([JSON.stringify(config)], { type: 'application/json' }); saveAs(blob, `config-${Date.now()}.json`); }} >
{$i18n.t('Export Config to JSON File')}
{#if $config?.features.enable_admin_export ?? true}
{ // exportAllUserChats(); downloadDatabase(localStorage.token).catch((error) => { toast.error(`${error}`); }); }} >
{$i18n.t('Download Database')}
{ exportAllUserChats(); }} >
{$i18n.t('Export All Chats (All Users)')}
{ exportUsers(); }} >
{$i18n.t('Export Users')}
{/if}
{ showPruneDataDialog = true; }} >
{$i18n.t('Prune Orphaned Data')}