feat(scanner): Funde mit Akquise und Opportunities abgleichen
Neu gefundene Projekte mit Treffer werden einmalig per gpt-5.6-luna mit den Akquise-Eintraegen und Opportunities der letzten N Tage (Vorgabe 14) verglichen. Passt ein Eintrag, zeigt der Scanner "bereits beworben!" samt Begruendung. Schalter und Zeitraum (Tage/Wochen) in Einstellungen -> Scanner, Neupruefung von Hand im Detail. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
87ca52a34b
commit
af3ca33743
@@ -12,6 +12,7 @@ import {
|
||||
primaryButtonClass,
|
||||
secondaryButtonClass,
|
||||
projectTimestamp,
|
||||
AlreadyAppliedBadge,
|
||||
} from './scannerUi';
|
||||
import {
|
||||
SCANNER_SETTINGS_DEFAULTS,
|
||||
@@ -629,7 +630,10 @@ export const ScannerDashboard: React.FC = () => {
|
||||
{match.Agent?.name ?? '—'}
|
||||
</td>
|
||||
<td className="max-w-md px-3 py-2.5">
|
||||
<p className="truncate font-bold text-ink-900">{match.Project?.title}</p>
|
||||
<div className="flex min-w-0 items-center gap-2">
|
||||
<p className="truncate font-bold text-ink-900">{match.Project?.title}</p>
|
||||
{match.Project?.alreadyApplied && <AlreadyAppliedBadge />}
|
||||
</div>
|
||||
<p className="truncate text-xs text-ink-400">
|
||||
{match.Project?.location || 'Remote'}
|
||||
</p>
|
||||
@@ -663,6 +667,11 @@ export const ScannerDashboard: React.FC = () => {
|
||||
onClose={() => setSelectedMatch(null)}
|
||||
onStatusChange={(status) => changeStatus(selectedMatch, status)}
|
||||
onDelete={() => setMatchToDelete(selectedMatch)}
|
||||
onProjectChange={(project) =>
|
||||
setMatches((prev) =>
|
||||
prev.map((m) => (m.projectId === project.id ? { ...m, Project: project } : m))
|
||||
)
|
||||
}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user