Unter jeder Spur steht, was in ihr faehrt
„Ruhig / mail-ruhig" war dieselbe Auskunft zweimal, die zweite in Kleinschrift. Der Warteschlangenname stand da, weil ich ihn fuer nuetzlich hielt — er ist es, aber in docker-compose.yml und in MailLane, also dort, wo jemand ihn wirklich braucht. Auf der Seite, auf der ein Betreiber entscheidet, was wie eilig ist, sagt er nichts. An seiner Stelle steht jetzt, was in der Spur faehrt und warum sie so faehrt: wer auf die direkte wartet (jemand vor einem Bildschirm), was die wichtige traegt (Wartung, Abschaltung, Wiederanlauf), und warum die ruhige warten darf (eine Rechnung um zwei nachts ist dieselbe Rechnung). Nachgesehen, bevor der Name verschwand: die Bereitschaftsseite nennt die Spuren nirgends beim Warteschlangennamen — es geht nichts verloren. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>feat/versandtakt
parent
714f19d4d4
commit
aaf8697c3d
|
|
@ -23,6 +23,14 @@ return [
|
|||
'mail-wichtig' => 'Wichtig',
|
||||
'mail-ruhig' => 'Ruhig',
|
||||
],
|
||||
'lane_hint' => [
|
||||
// Was in dieser Spur faehrt und warum sie so faehrt — nicht der
|
||||
// Warteschlangenname, der vorher hier stand: „Ruhig / mail-ruhig"
|
||||
// wiederholte die Ueberschrift und sagte nichts.
|
||||
'mail-direkt' => 'Passwort, Bestätigung, Sicherheitsmeldung. Darauf wartet gerade jemand vor dem Bildschirm — hier zu drosseln kostet einen Supportfall.',
|
||||
'mail-wichtig' => 'Wartungsfenster, Abschaltung, Wiederanlauf. Soll rasch raus, verträgt aber einen Schub statt aller auf einmal.',
|
||||
'mail-ruhig' => 'Rechnungen, Mahnungen, Hinweise. Ob sie um sechs abends oder um zwei nachts ankommen, ändert für den Kunden nichts.',
|
||||
],
|
||||
'unthrottled' => 'ungedrosselt',
|
||||
'count' => 'Kontingent',
|
||||
'minutes' => 'Minuten',
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@ return [
|
|||
'mail-wichtig' => 'Urgent',
|
||||
'mail-ruhig' => 'Calm',
|
||||
],
|
||||
'lane_hint' => [
|
||||
'mail-direkt' => 'Password, confirmation, security notice. Somebody is waiting in front of a screen — throttling here buys a support call.',
|
||||
'mail-wichtig' => 'Maintenance windows, suspensions, resumptions. Should go out promptly, but tolerates going in batches.',
|
||||
'mail-ruhig' => 'Invoices, dunning notices, notifications. Whether they arrive at six in the evening or two at night makes no difference.',
|
||||
],
|
||||
'unthrottled' => 'unthrottled',
|
||||
'count' => 'Allowance',
|
||||
'minutes' => 'Minutes',
|
||||
|
|
|
|||
|
|
@ -30,13 +30,15 @@
|
|||
|
||||
<x-ui.panel class="mt-4">
|
||||
@foreach ($lanes as $lane)
|
||||
{{-- Der Warteschlangenname steht als Unterzeile bei der Spur,
|
||||
nicht in der Wertspalte: dort stand er zwischen
|
||||
Beschriftung und Eingabefeldern und las sich wie ein
|
||||
weiterer Wert. Er bleibt aber stehen — es ist der Name,
|
||||
den der Arbeiter in docker-compose.yml abhört, und wer
|
||||
dort nachsieht, braucht genau diese Zeichenkette. --}}
|
||||
<x-ui.row :label="__('mail_pace.lane.'.$lane['key'])" :hint="$lane['key']"
|
||||
{{-- Unter dem Spurnamen steht, was in ihr fährt. Dort stand
|
||||
erst der Warteschlangenname mitten in der Wertspalte, dann
|
||||
als Unterzeile — beides half niemandem: „Ruhig / mail-ruhig"
|
||||
wiederholt die Überschrift in Kleinschrift. Der technische
|
||||
Name gehört dorthin, wo er gebraucht wird (die --queue-Liste
|
||||
in docker-compose.yml und MailLane), nicht auf die Seite,
|
||||
auf der ein Betreiber entscheidet, was wie eilig ist. --}}
|
||||
<x-ui.row :label="__('mail_pace.lane.'.$lane['key'])"
|
||||
:hint="__('mail_pace.lane_hint.'.$lane['key'])"
|
||||
:for="$lane['throttled'] ? $lane['countField'] : null">
|
||||
<div class="flex flex-wrap items-end gap-3">
|
||||
@if ($lane['throttled'])
|
||||
|
|
|
|||
|
|
@ -142,11 +142,19 @@ it('führt für jede Mailklasse denselben Namen in beiden Sprachen', function ()
|
|||
}
|
||||
});
|
||||
|
||||
it('stellt den technischen Spurnamen unter die Spur, nicht zwischen die Felder', function () {
|
||||
// Er bleibt sichtbar — der Arbeiter in docker-compose.yml hört genau
|
||||
// diese Zeichenkette ab —, aber als Unterzeile der Beschriftung.
|
||||
it('sagt unter jeder Spur, was in ihr faehrt, statt ihren Warteschlangennamen zu wiederholen', function () {
|
||||
// Vorher stand dort „Ruhig / mail-ruhig" — dieselbe Auskunft zweimal, die
|
||||
// zweite in Kleinschrift. Der Warteschlangenname gehoert in die
|
||||
// --queue-Liste des Arbeiters, nicht auf die Seite, auf der jemand
|
||||
// entscheidet, was wie eilig ist.
|
||||
$html = Livewire::actingAs(operator('Owner'), 'operator')->test(MailPace::class)->html();
|
||||
|
||||
expect($html)->toContain(MailLane::CALM)
|
||||
->and($html)->not->toContain('font-mono text-xs text-muted">'.MailLane::CALM);
|
||||
foreach ([MailLane::DIRECT, MailLane::URGENT, MailLane::CALM] as $spur) {
|
||||
expect(Lang::has('mail_pace.lane_hint.'.$spur))->toBeTrue()
|
||||
->and($html)->toContain(e(__('mail_pace.lane_hint.'.$spur)));
|
||||
}
|
||||
|
||||
// Der rohe Name steht nur noch dort, wo er etwas bewirkt: im Wert der
|
||||
// Auswahlfelder der Zuordnung, nicht als sichtbarer Text.
|
||||
expect($html)->not->toContain('>'.MailLane::CALM.'<');
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue