diff --git a/src/components/JobCard.tsx b/src/components/JobCard.tsx index 01e3839..0f79595 100644 --- a/src/components/JobCard.tsx +++ b/src/components/JobCard.tsx @@ -4,7 +4,7 @@ import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { HoverCard, HoverCardContent, HoverCardTrigger } from '@/components/ui/hover-card'; -import { Calendar, Factory, TrendingUp, TrendingDown, Clock, Import, Upload, Check } from 'lucide-react'; +import { Calendar, Factory, TrendingUp, TrendingDown, Clock, Import, Upload, Check, Copy } from 'lucide-react'; import { formatISK } from '@/utils/priceUtils'; import { IndJob } from '@/lib/types'; import { Input } from '@/components/ui/input'; @@ -31,6 +31,7 @@ const JobCard: React.FC = ({ const [isEditingProduced, setIsEditingProduced] = useState(false); const [producedValue, setProducedValue] = useState(job.produced?.toString() || '0'); const [copyingBom, setCopyingBom] = useState(false); + const [copyingName, setCopyingName] = useState(false); const { toast } = useToast(); const sortedExpenditures = [...job.expenditures].sort((a, b) => @@ -185,6 +186,27 @@ const JobCard: React.FC = ({ navigate(`/${job.id}`); }; + const handleJobNameClick = async (e: React.MouseEvent) => { + e.stopPropagation(); + try { + await navigator.clipboard.writeText(job.outputItem); + setCopyingName(true); + toast({ + title: "Copied!", + description: "Job name copied to clipboard", + duration: 2000, + }); + setTimeout(() => setCopyingName(false), 1000); + } catch (err) { + toast({ + title: "Error", + description: "Failed to copy to clipboard", + variant: "destructive", + duration: 2000, + }); + } + }; + const handleProducedClick = (e: React.MouseEvent) => { e.stopPropagation(); if (job.status !== 'Closed') { @@ -220,7 +242,16 @@ const JobCard: React.FC = ({
- {job.outputItem} +
+ + {job.outputItem} + {copyingName && } + +

Quantity: {job.outputQuantity.toLocaleString()} @@ -255,9 +286,9 @@ const JobCard: React.FC = ({

- +
{job.status} - +