refactor: Entscheider-Kategorien auf Führungsebene fokussiert

Entfernt: HR, IT, Einkauf, Logistik
Behalten: CEO/Inhaber/Gründer, COO, CTO, CMO, CFO, Vertriebsleiter
LinkedIn-Guide: Zielpositionen aktualisiert (Founder, Co-Founder, CEO, CTO, COO, CMO, Owner, Principal, Partner, CXO, Geschäftsführer, Inhaber)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Timo Uttenweiler
2026-03-17 12:52:33 +01:00
parent f6bdc65b1e
commit 717bc4f943
4 changed files with 29 additions and 45 deletions

View File

@@ -22,16 +22,12 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@
const DEFAULT_ROLES: DecisionMakerCategory[] = ["ceo"]; const DEFAULT_ROLES: DecisionMakerCategory[] = ["ceo"];
const CATEGORY_OPTIONS: { value: DecisionMakerCategory; label: string }[] = [ const CATEGORY_OPTIONS: { value: DecisionMakerCategory; label: string }[] = [
{ value: "ceo", label: "CEO / Owner / Founder" }, { value: "ceo", label: "CEO / Inhaber / Gründer" },
{ value: "engineering", label: "Engineering" }, { value: "operations", label: "COO / Geschäftsführung" },
{ value: "finance", label: "Finance" }, { value: "engineering", label: "CTO / Technik" },
{ value: "hr", label: "HR" }, { value: "marketing", label: "CMO / Marketing" },
{ value: "it", label: "IT" }, { value: "finance", label: "CFO / Finanzen" },
{ value: "logistics", label: "Logistics" }, { value: "sales", label: "Vertriebsleiter" },
{ value: "marketing", label: "Marketing" },
{ value: "operations", label: "Operations" },
{ value: "buyer", label: "Procurement" },
{ value: "sales", label: "Sales" },
]; ];
interface CompanyRow { interface CompanyRow {

View File

@@ -20,16 +20,12 @@ import type { DecisionMakerCategory } from "@/lib/services/anymailfinder";
import type { ExportRow } from "@/lib/utils/csv"; import type { ExportRow } from "@/lib/utils/csv";
const CATEGORY_OPTIONS: { value: DecisionMakerCategory; label: string }[] = [ const CATEGORY_OPTIONS: { value: DecisionMakerCategory; label: string }[] = [
{ value: "ceo", label: "CEO / Owner / Founder" }, { value: "ceo", label: "CEO / Inhaber / Gründer" },
{ value: "engineering", label: "Engineering" }, { value: "operations", label: "COO / Geschäftsführung" },
{ value: "marketing", label: "Marketing" }, { value: "engineering", label: "CTO / Technik" },
{ value: "sales", label: "Sales" }, { value: "marketing", label: "CMO / Marketing" },
{ value: "operations", label: "Operations" }, { value: "finance", label: "CFO / Finanzen" },
{ value: "finance", label: "Finance" }, { value: "sales", label: "Vertriebsleiter" },
{ value: "hr", label: "HR" },
{ value: "it", label: "IT" },
{ value: "buyer", label: "Procurement" },
{ value: "logistics", label: "Logistics" },
]; ];
type Stage = "idle" | "scraping" | "scraped" | "enriching" | "done" | "failed"; type Stage = "idle" | "scraping" | "scraped" | "enriching" | "done" | "failed";
@@ -224,9 +220,9 @@ export default function LinkedInPage() {
<div className="px-6 pb-5 border-t border-purple-500/10 space-y-4 text-sm"> <div className="px-6 pb-5 border-t border-purple-500/10 space-y-4 text-sm">
<div className="grid grid-cols-2 gap-4 pt-4"> <div className="grid grid-cols-2 gap-4 pt-4">
<div> <div>
<p className="text-gray-400 font-medium mb-2">Schlüsselwörter</p> <p className="text-gray-400 font-medium mb-2">Zielpositionen</p>
<div className="flex flex-wrap gap-1.5"> <div className="flex flex-wrap gap-1.5">
{["Solarlösungen", "Founder", "Co-Founder", "CEO", "Geschäftsführer"].map(k => ( {["Founder", "Co-Founder", "CEO", "CTO", "COO", "CMO", "Owner", "Owner Operator", "President", "Principal", "Partner", "CXO", "Geschäftsführer", "Inhaber"].map(k => (
<span key={k} className="bg-purple-500/10 text-purple-300 px-2 py-0.5 rounded text-xs">{k}</span> <span key={k} className="bg-purple-500/10 text-purple-300 px-2 py-0.5 rounded text-xs">{k}</span>
))} ))}
</div> </div>
@@ -244,10 +240,10 @@ export default function LinkedInPage() {
<span className="bg-green-500/10 text-green-300 px-2 py-0.5 rounded text-xs">Deutschland</span> <span className="bg-green-500/10 text-green-300 px-2 py-0.5 rounded text-xs">Deutschland</span>
</div> </div>
<div> <div>
<p className="text-gray-400 font-medium mb-2">Zielpositionen</p> <p className="text-gray-400 font-medium mb-2">Schlüsselwörter (optional)</p>
<div className="flex flex-wrap gap-1.5"> <div className="flex flex-wrap gap-1.5">
{["Founder", "Co-Founder", "CEO", "CTO", "COO", "Owner", "President", "Principal", "Partner"].map(k => ( {["Solaranlage", "Photovoltaik", "Solar", "Handwerker", "Installateur"].map(k => (
<span key={k} className="bg-purple-500/10 text-purple-300 px-2 py-0.5 rounded text-xs">{k}</span> <span key={k} className="bg-green-500/10 text-green-300 px-2 py-0.5 rounded text-xs">{k}</span>
))} ))}
</div> </div>
</div> </div>

View File

@@ -18,16 +18,12 @@ import type { ExportRow } from "@/lib/utils/csv";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
const CATEGORY_OPTIONS: { value: DecisionMakerCategory; label: string }[] = [ const CATEGORY_OPTIONS: { value: DecisionMakerCategory; label: string }[] = [
{ value: "ceo", label: "CEO / Owner / Founder" }, { value: "ceo", label: "CEO / Inhaber / Gründer" },
{ value: "engineering", label: "Engineering" }, { value: "operations", label: "COO / Geschäftsführung" },
{ value: "marketing", label: "Marketing" }, { value: "engineering", label: "CTO / Technik" },
{ value: "sales", label: "Sales" }, { value: "marketing", label: "CMO / Marketing" },
{ value: "operations", label: "Operations" }, { value: "finance", label: "CFO / Finanzen" },
{ value: "finance", label: "Finance" }, { value: "sales", label: "Vertriebsleiter" },
{ value: "hr", label: "HR" },
{ value: "it", label: "IT" },
{ value: "buyer", label: "Procurement" },
{ value: "logistics", label: "Logistics" },
]; ];
const RESULTS_OPTIONS = [ const RESULTS_OPTIONS = [

View File

@@ -20,16 +20,12 @@ import { Checkbox } from "@/components/ui/checkbox";
const RESULT_OPTIONS = [10, 25, 50, 100, 200]; const RESULT_OPTIONS = [10, 25, 50, 100, 200];
const CATEGORY_OPTIONS: { value: DecisionMakerCategory; label: string }[] = [ const CATEGORY_OPTIONS: { value: DecisionMakerCategory; label: string }[] = [
{ value: "ceo", label: "CEO / Owner / Founder" }, { value: "ceo", label: "CEO / Inhaber / Gründer" },
{ value: "engineering", label: "Engineering" }, { value: "operations", label: "COO / Geschäftsführung" },
{ value: "marketing", label: "Marketing" }, { value: "engineering", label: "CTO / Technik" },
{ value: "sales", label: "Sales" }, { value: "marketing", label: "CMO / Marketing" },
{ value: "operations", label: "Operations" }, { value: "finance", label: "CFO / Finanzen" },
{ value: "finance", label: "Finance" }, { value: "sales", label: "Vertriebsleiter" },
{ value: "hr", label: "HR" },
{ value: "it", label: "IT" },
{ value: "buyer", label: "Procurement" },
{ value: "logistics", label: "Logistics" },
]; ];
type Stage = "idle" | "running" | "done" | "failed"; type Stage = "idle" | "running" | "done" | "failed";