manual import initial comit

This commit is contained in:
DaKheera47
2026-01-19 18:39:14 +00:00
parent 3b2aa70e8c
commit 4f4f00e42c
10 changed files with 779 additions and 5 deletions
@@ -60,7 +60,7 @@ import {
} from "@/components/ui/sheet";
import { cn } from "@/lib/utils";
import { copyTextToClipboard, formatJobForWebhook } from "@client/lib/jobCopy";
import { PipelineProgress, DiscoveredPanel } from "../components";
import { PipelineProgress, DiscoveredPanel, ManualImportSheet } from "../components";
import { ReadyPanel } from "../components/ReadyPanel";
import * as api from "../api";
import { TailoringEditor } from "../components/TailoringEditor";
@@ -74,6 +74,7 @@ const sourceLabel: Record<JobSource, string> = {
indeed: "Indeed",
linkedin: "LinkedIn",
ukvisajobs: "UK Visa Jobs",
manual: "Manual",
};
const orderedSources: JobSource[] = ["gradcracker", "indeed", "linkedin", "ukvisajobs"];
@@ -324,6 +325,7 @@ export const OrchestratorPage: React.FC = () => {
];
const [isLoading, setIsLoading] = useState(true);
const [isPipelineRunning, setIsPipelineRunning] = useState(false);
const [isManualImportOpen, setIsManualImportOpen] = useState(false);
const [processingJobId, setProcessingJobId] = useState<string | null>(null);
const [activeTab, setActiveTab] = useState<FilterTab>("ready");
const [searchQuery, setSearchQuery] = useState("");
@@ -384,6 +386,16 @@ export const OrchestratorPage: React.FC = () => {
}
}, []);
const handleManualImported = useCallback(
async (jobId: string) => {
setActiveTab("discovered");
setSourceFilter("all");
await loadJobs();
setSelectedJobId(jobId);
},
[loadJobs],
);
useEffect(() => {
loadJobs();
checkPipelineStatus();
@@ -1123,6 +1135,15 @@ export const OrchestratorPage: React.FC = () => {
</div>
<div className="flex items-center gap-2">
<Button
size="sm"
variant="outline"
onClick={() => setIsManualImportOpen(true)}
className="gap-2"
>
<FileText className="h-4 w-4" />
<span className="hidden sm:inline">Manual import</span>
</Button>
<div className="flex items-center gap-1">
<Button
size="sm"
@@ -1408,6 +1429,12 @@ export const OrchestratorPage: React.FC = () => {
</section>
</main>
<ManualImportSheet
open={isManualImportOpen}
onOpenChange={setIsManualImportOpen}
onImported={handleManualImported}
/>
<Drawer open={isDetailDrawerOpen} onOpenChange={setIsDetailDrawerOpen}>
<DrawerContent className="max-h-[90vh]">
<div className="flex items-center justify-between px-4 pt-2">