fix(akquise): Anbieter wieder als Freitext mit Vorschlaegen
Das Dropdown fiel dem Feld zur Last: neue Vermittler tauchen zu oft auf, als dass das Eintragen an einer gepflegten Liste haengen sollte. Anbieter ist wieder ein Textfeld, jetzt mit Vorschlagsliste aus den bisherigen Eintraegen - der zuletzt benutzte zuerst. In den Einstellungen bleiben die drei Listen "Von", "Kanal" und "Berater". dropProviderOptions() nimmt 'provider' aus dem ENUM der Optionstabelle und loescht die dort gepflegten Werte; die Anbieter der Akquise-Eintraege bleiben unberuehrt, sie stehen als Text in crm_acquisitions. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
05cc261900
commit
23087a12fb
@@ -27,6 +27,8 @@ interface AcquisitionFormProps {
|
||||
editing: Acquisition | null;
|
||||
/** Inhalte der Dropdowns, gepflegt unter Einstellungen -> Akquise. */
|
||||
options: AcquisitionOptions;
|
||||
/** Schon benutzte Anbieter - das Feld bleibt Freitext. */
|
||||
providerSuggestions: string[];
|
||||
onSaved: () => void;
|
||||
onCancelEdit: () => void;
|
||||
}
|
||||
@@ -80,6 +82,7 @@ function toFormState(entry: Acquisition | null): FormState {
|
||||
export const AcquisitionForm: React.FC<AcquisitionFormProps> = ({
|
||||
editing,
|
||||
options,
|
||||
providerSuggestions,
|
||||
onSaved,
|
||||
onCancelEdit,
|
||||
}) => {
|
||||
@@ -252,14 +255,27 @@ export const AcquisitionForm: React.FC<AcquisitionFormProps> = ({
|
||||
onChange={(value) => set('sender', value)}
|
||||
onOpenSettings={openSettings}
|
||||
/>
|
||||
<OptionSelect
|
||||
id="acq-provider"
|
||||
label={ACQUISITION_FIELD_LABELS.provider}
|
||||
value={form.provider}
|
||||
options={options.provider}
|
||||
onChange={(value) => set('provider', value)}
|
||||
onOpenSettings={openSettings}
|
||||
/>
|
||||
{/* Anbieter bleibt Freitext: neue Vermittler tauchen zu oft auf, als dass
|
||||
das Eintragen an einer gepflegten Liste haengen sollte. Die
|
||||
Vorschlagsliste erspart das Ausschreiben bekannter Namen. */}
|
||||
<div>
|
||||
<label className={labelClass} htmlFor="acq-provider">
|
||||
Anbieter
|
||||
</label>
|
||||
<input
|
||||
id="acq-provider"
|
||||
list="acq-provider-vorschlaege"
|
||||
value={form.provider}
|
||||
onChange={(event) => set('provider', event.target.value)}
|
||||
placeholder="z. B. Hays"
|
||||
className={fieldClass}
|
||||
/>
|
||||
<datalist id="acq-provider-vorschlaege">
|
||||
{providerSuggestions.map((option) => (
|
||||
<option key={option} value={option} />
|
||||
))}
|
||||
</datalist>
|
||||
</div>
|
||||
<OptionSelect
|
||||
id="acq-channel"
|
||||
label={ACQUISITION_FIELD_LABELS.channel}
|
||||
|
||||
Reference in New Issue
Block a user