allowing hiding away tailoring editor
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import React, { useEffect, useMemo, useState } from "react";
|
import React, { useEffect, useMemo, useState } from "react";
|
||||||
import { ArrowUpDown, Filter, LayoutGrid, Search, Table2, X } from "lucide-react";
|
import { ArrowUpDown, Filter, LayoutGrid, Search, Sparkles, Table2, X } from "lucide-react";
|
||||||
import ReactMarkdown from "react-markdown";
|
import ReactMarkdown from "react-markdown";
|
||||||
import remarkGfm from "remark-gfm";
|
import remarkGfm from "remark-gfm";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
@@ -22,6 +22,12 @@ import {
|
|||||||
} from "@/components/ui/dropdown-menu";
|
} from "@/components/ui/dropdown-menu";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
||||||
|
import {
|
||||||
|
Accordion,
|
||||||
|
AccordionContent,
|
||||||
|
AccordionItem,
|
||||||
|
AccordionTrigger,
|
||||||
|
} from "@/components/ui/accordion";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
import type { Job, JobStatus, JobSource } from "../../shared/types";
|
import type { Job, JobStatus, JobSource } from "../../shared/types";
|
||||||
import { JobCard } from "./JobCard";
|
import { JobCard } from "./JobCard";
|
||||||
@@ -411,7 +417,19 @@ export const JobList: React.FC<JobListProps> = ({
|
|||||||
onHighlightChange={setHighlightedJobId}
|
onHighlightChange={setHighlightedJobId}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TailoringEditor job={highlightedJob} onUpdate={onUpdate} />
|
<Accordion type="single" collapsible className="w-full">
|
||||||
|
<AccordionItem value="tailoring" className="border-none">
|
||||||
|
<AccordionTrigger className="flex h-12 w-full items-center justify-between rounded-lg border bg-card px-4 py-0 hover:bg-muted/50 hover:no-underline">
|
||||||
|
<div className="flex items-center gap-2 font-semibold">
|
||||||
|
<Sparkles className="h-4 w-4 text-primary" />
|
||||||
|
Resume Tailoring
|
||||||
|
</div>
|
||||||
|
</AccordionTrigger>
|
||||||
|
<AccordionContent className="pt-4 pb-0">
|
||||||
|
<TailoringEditor job={highlightedJob} onUpdate={onUpdate} />
|
||||||
|
</AccordionContent>
|
||||||
|
</AccordionItem>
|
||||||
|
</Accordion>
|
||||||
|
|
||||||
<Card>
|
<Card>
|
||||||
<CardHeader className="space-y-1">
|
<CardHeader className="space-y-1">
|
||||||
|
|||||||
@@ -99,9 +99,9 @@ export const TailoringEditor: React.FC<TailoringEditorProps> = ({ job, onUpdate
|
|||||||
const tooManyProjects = selectedIds.size > maxProjects;
|
const tooManyProjects = selectedIds.size > maxProjects;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="border-primary/20">
|
<div className="space-y-4">
|
||||||
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
|
<div className="flex flex-row items-center justify-between space-y-0 pb-2">
|
||||||
<CardTitle className="text-lg font-bold">Tailoring Editor</CardTitle>
|
<h3 className="text-sm font-semibold text-muted-foreground">Editor</h3>
|
||||||
<div className="flex gap-2">
|
<div className="flex gap-2">
|
||||||
<Button
|
<Button
|
||||||
size="sm"
|
size="sm"
|
||||||
@@ -121,8 +121,9 @@ export const TailoringEditor: React.FC<TailoringEditorProps> = ({ job, onUpdate
|
|||||||
Generate PDF
|
Generate PDF
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</CardHeader>
|
</div>
|
||||||
<CardContent className="space-y-4">
|
|
||||||
|
<div className="space-y-4 rounded-lg border bg-card p-4 shadow-sm">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<label className="text-sm font-medium">Tailored Summary</label>
|
<label className="text-sm font-medium">Tailored Summary</label>
|
||||||
<textarea
|
<textarea
|
||||||
@@ -175,7 +176,7 @@ export const TailoringEditor: React.FC<TailoringEditorProps> = ({ job, onUpdate
|
|||||||
Save Selection
|
Save Selection
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</CardContent>
|
</div>
|
||||||
</Card>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user