Frontend Feature Changes
This commit is contained in:
@@ -1,15 +1,21 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { Wrench, Database, Layers, Inbox, Workflow } from 'lucide-react';
|
||||
import { Wrench, Database, Layers, ClipboardCheck, Workflow } from 'lucide-react';
|
||||
import { api } from '../api/client';
|
||||
import { NavigationHeader } from '../components/NavigationHeader';
|
||||
import { BatchCatalogPanel } from './BatchCatalogPanel';
|
||||
import { InboxPanel } from './InboxPanel';
|
||||
import { UploadResultsPanel } from './UploadResultsPanel';
|
||||
import { OrchestrationPanel } from './OrchestrationPanel';
|
||||
|
||||
/*
|
||||
* The admin panel carries the read-only project overview plus three ingestion
|
||||
* views: a multi-file batch upload, the review inbox, and the Dagster
|
||||
* orchestration screen.
|
||||
* views: a multi-file batch upload, the results of a colleague's upload, and
|
||||
* the Dagster orchestration screen.
|
||||
*
|
||||
* "Upload Results" was the Review Inbox until it stopped being useful as one:
|
||||
* UPLOAD_AUTORUN defaults to true, so a colleague's upload runs on arrival and
|
||||
* the inbox is permanently empty. The tab now leads with what the pipeline did
|
||||
* with the newest colleague upload, and the approval gate reveals itself only
|
||||
* when files are actually waiting - which is what the badge below counts.
|
||||
*
|
||||
* TWO KINDS OF REMOVAL HAVE HAPPENED HERE, AND THE DIFFERENCE MATTERS.
|
||||
*
|
||||
@@ -30,7 +36,10 @@ import { OrchestrationPanel } from './OrchestrationPanel';
|
||||
const TABS = [
|
||||
{ id: 'project', label: 'Project Overview Details', icon: Database },
|
||||
{ id: 'batch', label: 'Batch Catalog Ingestion', icon: Layers },
|
||||
{ id: 'inbox', label: 'Review Inbox', icon: Inbox },
|
||||
// The id stays 'inbox' - the badge, the render guard and the onBatchStarted
|
||||
// wiring all key off it, and the tab still owns the review inbox; it just
|
||||
// leads with the pipeline result now.
|
||||
{ id: 'inbox', label: 'Upload Results', icon: ClipboardCheck },
|
||||
{ id: 'orchestration', label: 'Dagster Orchestration', icon: Workflow },
|
||||
];
|
||||
|
||||
@@ -64,7 +73,8 @@ export function AdminPage() {
|
||||
fetchProjectDetails();
|
||||
}, []);
|
||||
|
||||
// The badge. Polled here rather than inside InboxPanel so the count is live
|
||||
// The badge. Polled here rather than inside UploadResultsPanel so the count
|
||||
// is live
|
||||
// whichever tab is open - the whole point is finding out that a colleague
|
||||
// sent something while you were looking at a different screen. A failed poll
|
||||
// is swallowed: a transient network blip must not replace the panel with an
|
||||
@@ -132,7 +142,7 @@ export function AdminPage() {
|
||||
{activeTab === 'batch' && <BatchCatalogPanel adoptBatch={adoptedBatch} />}
|
||||
|
||||
{activeTab === 'inbox' && (
|
||||
<InboxPanel
|
||||
<UploadResultsPanel
|
||||
onBatchStarted={(batch) => {
|
||||
setAdoptedBatch(batch);
|
||||
setActiveTab('batch');
|
||||
|
||||
Reference in New Issue
Block a user