Relaunch: Portal-Bild für Öffnungszeiten live

Echte Aufnahme des Portal-Editors (Handy 402x874, Hinweis-Leiste mit
Betriebsurlaub, Knopf "Hinweis-Leiste anlegen") ersetzt den Platzhalter
(Kopie von phone-9-termine). Tippunkt aus der gemessenen Knopfmitte
(135 / 488) in HINWEIS_PUNKT und HINWEIS_ANLEGEN_PUNKT; Test pinnt, dass
beide gleich sind.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-10-05 08:17:48 +00:00
1 parent a23f2e52c2
commit 8f5d522682
7 files changed
+19 -5

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 54 KiB

+1
View File
@@ -58,6 +58,7 @@ BILDER = {
"phone-9-termine": ("handy", (390, 780)),
"phone-10-analyse": ("handy", (390, 780)),
"phone-11-news-musterbach": ("handy", (390, 780)),
"phone-12-zeiten": ("handy", (390, 780)),
# langer Screenshot: behält sein hohes Seitenverhältnis (eigenes Budget, siehe BUDGET_LANG)
"phone-2-projekte-lang": ("handy", (390, 780)),
}
+2 -2
View File
@@ -105,8 +105,8 @@ const BaldMarke = ({ f }: { f: Funktion }) => (f.bald ? <span className="kp-bald
/** Mitte des Knopfes "Aufhängen" im Portal-Screenshot der News-Pinnwand (Designpunkte der iPhone-Fläche 402 x 874). */
const AUFHAENGEN_PUNKT = { x: 201, y: 613 };
/** Mitte des Knopfes "Hinweis-Leiste anlegen" im Portal-Screenshot der Station Öffnungszeiten live (Platzhalter bis zur Aufnahme phone-12-zeiten). */
const HINWEIS_PUNKT = { x: 201, y: 740 };
/** Mitte des Knopfes "Hinweis-Leiste anlegen" im Portal-Screenshot der Station Öffnungszeiten live (phone-12-zeiten, Designpunkte der iPhone-Fläche 402 x 874; gemessen 135,3 / 487,9). Gleicher Wert wie HINWEIS_ANLEGEN_PUNKT in demos/zeiten/ablauf.ts (der Test pinnt beide). */
const HINWEIS_PUNKT = { x: 135, y: 488 };
// Reihenfolge und Texte laut Spezifikation 7.2. Platzhalter des Portals ("kommt bald") werden nicht beworben,
// weitere Ansichten nur nach Freigabe des Inhabers (O9 = nein).
+3 -3
View File
@@ -62,10 +62,10 @@ export const ENDE_UHR = 1090;
export const HINWEIS_TEXT = "Betriebsurlaub 12.–26. Oktober";
/**
* Platzhalter: Mitte des Knopfes „Hinweis-Leiste anlegen“ im Portal-Screenshot (Designpunkte der Handy-Fläche 402 x 874).
* Der Einbau setzt später die echte Position aus der Aufnahme ein (Prop `punkt` der Handy-Ebene).
* Mitte des Knopfes „Hinweis-Leiste anlegen“ im Portal-Screenshot phone-12-zeiten (Designpunkte der Handy-Fläche 402 x 874;
* gemessen 135,3 / 487,9, gerundet). Die Bühne (Kundenportal.tsx, HINWEIS_PUNKT) übergibt denselben Wert als Prop `punkt`.
*/
export const HINWEIS_ANLEGEN_PUNKT = { x: 201, y: 740 } as const;
export const HINWEIS_ANLEGEN_PUNKT = { x: 135, y: 488 } as const;
// ── Status: Bäckerei Sonnenschein, Montag 6 bis 18 Uhr ──────────────────────────
+13
View File
@@ -834,6 +834,19 @@ describe("Bühne: Station Öffnungszeiten live", () => {
}
expect(quelle).toMatch(/const HINWEIS_PUNKT = \{ x: \d+, y: \d+ \}/);
});
it("der Tippunkt der Bühne und der Standardpunkt der Handy-Ebene sind derselbe Wert (Mitte von „Hinweis-Leiste anlegen“ in phone-12-zeiten) und liegen im iPhone", () => {
const quelle = readFileSync(`${process.cwd()}/src/components/home/Kundenportal.tsx`, "utf8");
const m = /const HINWEIS_PUNKT = \{ x: (\d+), y: (\d+) \}/.exec(quelle);
expect(m).not.toBeNull();
const punkt = { x: Number(m?.[1]), y: Number(m?.[2]) };
expect(punkt).toEqual({ x: HINWEIS_ANLEGEN_PUNKT.x, y: HINWEIS_ANLEGEN_PUNKT.y });
// Fläche 402 x 874 mit Safe Area oben 59 / unten 34: der Knopf liegt im sichtbaren Teil
expect(punkt.x).toBeGreaterThan(0);
expect(punkt.x).toBeLessThan(402);
expect(punkt.y).toBeGreaterThan(59);
expect(punkt.y).toBeLessThan(874 - 34);
});
});
describe("Quelltext der Station", () => {