Move library toolbar actions to footer
This commit is contained in:
@@ -290,32 +290,6 @@ export default function LibraryManager({
|
|||||||
|
|
||||||
{errorMessage && <div className="form-error">{errorMessage}</div>}
|
{errorMessage && <div className="form-error">{errorMessage}</div>}
|
||||||
|
|
||||||
<div className="library-toolbar">
|
|
||||||
<button className="button" disabled={busy} onClick={addPaths}>Add Files</button>
|
|
||||||
{library.files?.length > 0 && !isSyncing && !isReadyForChat && (
|
|
||||||
<button className="button ghost" disabled={busy} onClick={retrySync}>Retry Sync</button>
|
|
||||||
)}
|
|
||||||
<button
|
|
||||||
className="button danger"
|
|
||||||
onClick={() => {
|
|
||||||
setConfirmDelete(true)
|
|
||||||
setErrorMessage('')
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Delete
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="library-states">
|
|
||||||
<div className={`state-pill ${library.states?.has_files ? 'ready' : ''}`}>Files: {library.files?.length || 0}</div>
|
|
||||||
<div className={`state-pill ${(library.states?.enrichment_enabled_files || 0) > 0 ? 'ready' : ''}`}>
|
|
||||||
Enrich: {library.states?.enrichment_enabled_files || 0}
|
|
||||||
</div>
|
|
||||||
<div className={`state-pill ${isReadyForChat ? 'ready' : ''}`}>
|
|
||||||
{isSyncing ? 'Syncing' : isReadyForChat ? 'Ready' : library.files?.length ? 'Needs sync' : 'No data yet'}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="library-files">
|
<div className="library-files">
|
||||||
<h2>Files</h2>
|
<h2>Files</h2>
|
||||||
{library.files?.length ? (
|
{library.files?.length ? (
|
||||||
@@ -371,6 +345,22 @@ export default function LibraryManager({
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="library-footer-actions">
|
||||||
|
<button className="button" disabled={busy} onClick={addPaths}>Add Files</button>
|
||||||
|
{library.files?.length > 0 && !isSyncing && !isReadyForChat && (
|
||||||
|
<button className="button ghost" disabled={busy} onClick={retrySync}>Retry Sync</button>
|
||||||
|
)}
|
||||||
|
<button
|
||||||
|
className="button danger"
|
||||||
|
onClick={() => {
|
||||||
|
setConfirmDelete(true)
|
||||||
|
setErrorMessage('')
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Delete
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
{toasts.length > 0 && (
|
{toasts.length > 0 && (
|
||||||
<div className="library-toast-stack" aria-live="polite">
|
<div className="library-toast-stack" aria-live="polite">
|
||||||
{toasts.map(toast => (
|
{toasts.map(toast => (
|
||||||
|
|||||||
Reference in New Issue
Block a user