basic search
This commit is contained in:
+49
-73
@@ -167,7 +167,7 @@ const DropOverlay = ({ active, folderName }) => (
|
||||
</div>
|
||||
);
|
||||
|
||||
const LoginView = ({ onSubmit, loading, status }) => (
|
||||
const LoginView = ({ onSubmit, status }) => (
|
||||
<div className="login-screen">
|
||||
<div className="login-card">
|
||||
<h1>Paperless-NEO</h1>
|
||||
@@ -190,9 +190,7 @@ const LoginView = ({ onSubmit, loading, status }) => (
|
||||
autoComplete="current-password"
|
||||
required
|
||||
/>
|
||||
<button type="submit" disabled={loading}>
|
||||
{loading ? 'Signing in…' : 'Sign in'}
|
||||
</button>
|
||||
<button type="submit">Sign in</button>
|
||||
</form>
|
||||
<StatusBanner status={status} />
|
||||
</div>
|
||||
@@ -209,7 +207,6 @@ const FolderNode = ({
|
||||
onDragOver,
|
||||
onDragLeave,
|
||||
onDelete,
|
||||
disableActions,
|
||||
renderChildren,
|
||||
onFolderDragStart,
|
||||
onFolderDragEnd,
|
||||
@@ -257,7 +254,6 @@ const FolderNode = ({
|
||||
<button
|
||||
type="button"
|
||||
className="icon-button ghost"
|
||||
disabled={disableActions}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
onDelete(node.id);
|
||||
@@ -323,7 +319,6 @@ const FilterBar = ({
|
||||
const DocumentsTable = ({
|
||||
currentFolderName,
|
||||
breadcrumbs,
|
||||
loading,
|
||||
onRefresh,
|
||||
subfolders,
|
||||
documents,
|
||||
@@ -390,8 +385,8 @@ const DocumentsTable = ({
|
||||
)}
|
||||
</div>
|
||||
<div className="header-actions">
|
||||
<button className="secondary" onClick={onRefresh} disabled={loading}>
|
||||
{loading ? 'Refreshing…' : 'Refresh'}
|
||||
<button className="secondary" onClick={onRefresh}>
|
||||
Refresh
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -648,7 +643,6 @@ const DetailPanel = ({
|
||||
onTagAdd,
|
||||
onTagRemove,
|
||||
onRegenerateThumbnails,
|
||||
loading,
|
||||
previewEntry,
|
||||
onOpenPreview,
|
||||
onBulkTagAdd,
|
||||
@@ -802,7 +796,6 @@ const DetailPanel = ({
|
||||
type="button"
|
||||
className="secondary"
|
||||
onClick={() => onOpenPreview(singleDoc.id)}
|
||||
disabled={loading}
|
||||
>
|
||||
Open preview
|
||||
</button>
|
||||
@@ -810,7 +803,6 @@ const DetailPanel = ({
|
||||
type="button"
|
||||
className="secondary"
|
||||
onClick={() => onRegenerateThumbnails(singleDoc.id)}
|
||||
disabled={loading}
|
||||
>
|
||||
Re-run analysis
|
||||
</button>
|
||||
@@ -911,9 +903,7 @@ const DetailPanel = ({
|
||||
}}
|
||||
>
|
||||
<input name="tag" placeholder="Add tag to selection" list="tag-catalog" />
|
||||
<button type="submit" disabled={loading}>
|
||||
Add tag
|
||||
</button>
|
||||
<button type="submit">Add tag</button>
|
||||
</form>
|
||||
<form
|
||||
className="inline"
|
||||
@@ -926,7 +916,7 @@ const DetailPanel = ({
|
||||
}}
|
||||
>
|
||||
<input name="tag" placeholder="Remove tag from selection" list="tag-catalog" />
|
||||
<button type="submit" className="secondary" disabled={loading}>
|
||||
<button type="submit" className="secondary">
|
||||
Remove tag
|
||||
</button>
|
||||
</form>
|
||||
@@ -945,7 +935,6 @@ const DetailPanel = ({
|
||||
name="target"
|
||||
defaultValue={defaultMoveTarget || 'root'}
|
||||
onChange={(event) => onBulkMove?.({ target: event.target.value })}
|
||||
disabled={loading}
|
||||
>
|
||||
{folderOptions.map((option) => (
|
||||
<option key={option.id} value={option.id}>
|
||||
@@ -958,7 +947,6 @@ const DetailPanel = ({
|
||||
type="button"
|
||||
className="secondary"
|
||||
onClick={() => onBulkReanalyze?.()}
|
||||
disabled={loading}
|
||||
>
|
||||
Re-analyze selection
|
||||
</button>
|
||||
@@ -982,7 +970,6 @@ const PreviewWorkspace = ({
|
||||
document,
|
||||
detail,
|
||||
previewEntry,
|
||||
loading,
|
||||
onClose,
|
||||
onDownload,
|
||||
onRegenerateThumbnails,
|
||||
@@ -1028,14 +1015,13 @@ const PreviewWorkspace = ({
|
||||
type="button"
|
||||
className="secondary"
|
||||
onClick={() => onRegenerateThumbnails(document.id)}
|
||||
disabled={loading}
|
||||
>
|
||||
Regenerate thumbnails
|
||||
Re-run analysis
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
<div className="preview-workspace__body">
|
||||
{loading || !previewEntry?.url ? (
|
||||
{!previewEntry?.url ? (
|
||||
<div className="preview-workspace__message">Loading preview…</div>
|
||||
) : (
|
||||
<iframe
|
||||
@@ -1064,7 +1050,6 @@ const Sidebar = ({
|
||||
onDragLeave,
|
||||
onCreateFolder,
|
||||
onDeleteFolder,
|
||||
disableActions,
|
||||
selectedFolder,
|
||||
onFolderDragStart,
|
||||
onFolderDragEnd,
|
||||
@@ -1087,7 +1072,6 @@ const Sidebar = ({
|
||||
onDragOver={onDragOver}
|
||||
onDragLeave={onDragLeave}
|
||||
onDelete={onDeleteFolder}
|
||||
disableActions={disableActions}
|
||||
renderChildren={renderNodes}
|
||||
onFolderDragStart={onFolderDragStart}
|
||||
onFolderDragEnd={onFolderDragEnd}
|
||||
@@ -1104,7 +1088,6 @@ const Sidebar = ({
|
||||
onDragOver,
|
||||
onDragLeave,
|
||||
onDeleteFolder,
|
||||
disableActions,
|
||||
onFolderDragStart,
|
||||
onFolderDragEnd,
|
||||
draggedFolderId,
|
||||
@@ -1132,9 +1115,7 @@ const Sidebar = ({
|
||||
}}
|
||||
>
|
||||
<input name="folder-name" placeholder="New folder name" required />
|
||||
<button type="submit" disabled={disableActions}>
|
||||
Create
|
||||
</button>
|
||||
<button type="submit">Create</button>
|
||||
</form>
|
||||
<div className="folder-tree-scroller">
|
||||
<ul className="folder-tree">
|
||||
@@ -3334,12 +3315,11 @@ const handleDownload = useCallback(
|
||||
className="secondary"
|
||||
type="button"
|
||||
onClick={handleBulkReanalyze}
|
||||
disabled={loading}
|
||||
>
|
||||
{loading ? 'Working…' : 'Re-analyze All'}
|
||||
Re-analyze All
|
||||
</button>
|
||||
<button className="secondary" onClick={handleLogout} disabled={loading}>
|
||||
{loading ? 'Working…' : 'Log out'}
|
||||
<button className="secondary" onClick={handleLogout}>
|
||||
Log out
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3350,51 +3330,48 @@ const handleDownload = useCallback(
|
||||
document={previewWorkspaceDocument}
|
||||
detail={previewWorkspaceDetail}
|
||||
previewEntry={previewWorkspaceEntry}
|
||||
loading={previewDocumentLoading}
|
||||
onClose={closeDocumentPreview}
|
||||
onDownload={handleDownload}
|
||||
onRegenerateThumbnails={handleThumbnailRegeneration}
|
||||
/>
|
||||
) : (
|
||||
<>
|
||||
<Sidebar
|
||||
folderNodes={folderNodes}
|
||||
onToggle={folderClickHandlers.onToggle}
|
||||
onSelect={folderClickHandlers.onSelect}
|
||||
onDrop={folderClickHandlers.onDrop}
|
||||
onDragOver={folderClickHandlers.onDragOver}
|
||||
onDragLeave={folderClickHandlers.onDragLeave}
|
||||
onCreateFolder={handleFolderCreate}
|
||||
onDeleteFolder={handleFolderDelete}
|
||||
disableActions={loading}
|
||||
selectedFolder={selectedFolder}
|
||||
onFolderDragStart={handleFolderDragStart}
|
||||
onFolderDragEnd={handleFolderDragEnd}
|
||||
draggedFolderId={draggedFolderId}
|
||||
/>
|
||||
<DocumentsTable
|
||||
currentFolderName={currentFolderName}
|
||||
breadcrumbs={breadcrumbs}
|
||||
loading={loading}
|
||||
onRefresh={refreshCurrentFolder}
|
||||
subfolders={currentSubfolders}
|
||||
documents={documents}
|
||||
searchResults={searchResults}
|
||||
isFilterActive={isFilterActive}
|
||||
onFolderSelect={selectFolder}
|
||||
onFolderDrop={folderClickHandlers.onDrop}
|
||||
onFolderDragOver={folderClickHandlers.onDragOver}
|
||||
onFolderDragLeave={folderClickHandlers.onDragLeave}
|
||||
onFolderDragStart={handleFolderDragStart}
|
||||
onFolderDragEnd={handleFolderDragEnd}
|
||||
draggedFolderId={draggedFolderId}
|
||||
onFolderDelete={handleFolderDelete}
|
||||
onDocumentRowClick={handleDocumentRowClick}
|
||||
onDocumentOpen={openDocumentPreview}
|
||||
selectedDocumentIds={selectedDocumentIds}
|
||||
focusedDocumentId={focusedDocumentId}
|
||||
draggingDocumentIds={draggedDocumentIds}
|
||||
onDocumentDragStart={(event, documentId) => {
|
||||
<Sidebar
|
||||
folderNodes={folderNodes}
|
||||
onToggle={folderClickHandlers.onToggle}
|
||||
onSelect={folderClickHandlers.onSelect}
|
||||
onDrop={folderClickHandlers.onDrop}
|
||||
onDragOver={folderClickHandlers.onDragOver}
|
||||
onDragLeave={folderClickHandlers.onDragLeave}
|
||||
onCreateFolder={handleFolderCreate}
|
||||
onDeleteFolder={handleFolderDelete}
|
||||
selectedFolder={selectedFolder}
|
||||
onFolderDragStart={handleFolderDragStart}
|
||||
onFolderDragEnd={handleFolderDragEnd}
|
||||
draggedFolderId={draggedFolderId}
|
||||
/>
|
||||
<DocumentsTable
|
||||
currentFolderName={currentFolderName}
|
||||
breadcrumbs={breadcrumbs}
|
||||
onRefresh={refreshCurrentFolder}
|
||||
subfolders={currentSubfolders}
|
||||
documents={documents}
|
||||
searchResults={searchResults}
|
||||
isFilterActive={isFilterActive}
|
||||
onFolderSelect={selectFolder}
|
||||
onFolderDrop={folderClickHandlers.onDrop}
|
||||
onFolderDragOver={folderClickHandlers.onDragOver}
|
||||
onFolderDragLeave={folderClickHandlers.onDragLeave}
|
||||
onFolderDragStart={handleFolderDragStart}
|
||||
onFolderDragEnd={handleFolderDragEnd}
|
||||
draggedFolderId={draggedFolderId}
|
||||
onFolderDelete={handleFolderDelete}
|
||||
onDocumentRowClick={handleDocumentRowClick}
|
||||
onDocumentOpen={openDocumentPreview}
|
||||
selectedDocumentIds={selectedDocumentIds}
|
||||
focusedDocumentId={focusedDocumentId}
|
||||
draggingDocumentIds={draggedDocumentIds}
|
||||
onDocumentDragStart={(event, documentId) => {
|
||||
const selection = selectedDocumentIds.includes(documentId)
|
||||
? selectedDocumentIds
|
||||
: [documentId];
|
||||
@@ -3432,7 +3409,6 @@ const handleDownload = useCallback(
|
||||
onTagAdd={handleTagAdd}
|
||||
onTagRemove={handleTagRemove}
|
||||
onRegenerateThumbnails={handleThumbnailRegeneration}
|
||||
loading={loading}
|
||||
previewEntry={selectedPreviewEntry}
|
||||
onOpenPreview={openDocumentPreview}
|
||||
onBulkTagAdd={handleBulkTagAddFromDetail}
|
||||
@@ -3449,7 +3425,7 @@ const handleDownload = useCallback(
|
||||
</main>
|
||||
</>
|
||||
) : (
|
||||
<LoginView onSubmit={handleLogin} loading={loading} status={status} />
|
||||
<LoginView onSubmit={handleLogin} status={status} />
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user