Post 9: Varianten überarbeitet, Variante 6 und 7 nach Noahs Arbeitsheft
- Variante 2/3: Webinar statt HiveGrid, Noahs Satz zum Kopf des Chefs, vorher und heute am Beispiel „Angebot nachfassen“ als Schema - Variante 4/5: drei verschiedene Grafiken, Wabenanimation gelb dann rot, Titel mit Wabenwelle animiert - Variante 6/7: Aussagen, Zeichnungen und Schriften aus „Jede Frage lief über meinen Tisch“, Titel dunkel, Pfeile werden gezeichnet (Test) - post9-hub.mjs legt alle Varianten als Bilder und Videos ins Marketing-Hub - Menüs aller Posts und Übersicht mit Variante 6 und 7 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f9f48609dd
commit
07deacde41
39 files changed
+18434
-205
No files matched your search
+135
-52
@@ -1063,6 +1063,8 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
<button type="button" data-gehe="./post9-v3.html">Post 9 · Variante 3 · Kundengeschichte dunkel</button>
|
||||
<button type="button" data-gehe="./post9-v4.html">Post 9 · Variante 4 · Zahlen</button>
|
||||
<button type="button" data-gehe="./post9-v5.html">Post 9 · Variante 5 · Zahlen dunkel</button>
|
||||
<button type="button" data-gehe="./post9-v6.html">Post 9 · Variante 6 · Arbeitsheft</button>
|
||||
<button type="button" data-gehe="./post9-v7.html">Post 9 · Variante 7 · Arbeitsheft dunkel</button>
|
||||
<button type="button" data-gehe="./post9-varianten.html">Post 9 · Varianten im Vergleich</button>
|
||||
<hr>
|
||||
<button type="button" data-gehe="./uebersicht.html">Alle Projekte im Streifen</button>
|
||||
@@ -1451,13 +1453,21 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
|
||||
KEINE ERFUNDENEN ZAHLEN. weclapp beginnt mit einem Ergebnis in Zahlen.
|
||||
Fuer Geerkens gibt es keine gemessene Zahl, also steht keine da. Belegt:
|
||||
- vierte Generation, mit der Schwester, „Wir wollten auch gar nicht
|
||||
wechseln. Wir wollten mehr. KI-Lösungen. Ein CRM.
|
||||
Automatisierungen.“: Website, LandingPageClient.tsx, „Warum es
|
||||
HiveGrid gibt“
|
||||
- Postfach und Zettel, Nachfassen, WhatsApp-Gruppe, Urlaubsliste,
|
||||
Passwort am Bildschirm, KWP und PDS: Webinar-Skript (Hub,
|
||||
webinar/Skript.md), Noahs Teile „Bei uns war es so“
|
||||
- vierte Generation: Website, LandingPageClient.tsx
|
||||
- „Ich kriege das, was in meinem Kopf ist, nicht in die Ausführung.“:
|
||||
Noah, festgehalten in Kontext.md im Hub, im Webinar Slide „problem“
|
||||
- Postfach, Zettel im Auto, WhatsApp-Gruppe, Excel-Liste: Webinar-
|
||||
Skript (Hub, webinar/Skript.md), Noahs Teile „Bei uns war es so“.
|
||||
Ordner und Kopf: „Bei Geerkens war es vorher auch so“ im PDF
|
||||
„Dunford und JOLT im Trichter“ vom 03.11.2026, Kapitel 3
|
||||
- Das Branchenprogramm bleibt: Website, „kein Ersatz für dein
|
||||
Branchenprogramm“
|
||||
|
||||
Umbau 04.11.2026 (Dejan): HiveGrid kommt im Text nicht mehr vor, es geht
|
||||
um das Webinar. Slide 3 und 4 als Bild statt Liste, keine Fachwoerter
|
||||
wie CRM, Pipeline oder Automatisierung. Grundlage sind die drei PDFs
|
||||
aus dem Vertrieb (02. und 03.11.): Anzeigen holen den Betrieb bei der
|
||||
Szene ab, in der er sich wiedererkennt, nicht beim Produkt.
|
||||
Fotos: assets/eigene/geerkens-team.jpg (Dejan, 02.11.2026),
|
||||
assets/team/noah-person.webp und assets/brand/geerkens-logo.png aus
|
||||
Post 2. Wer auf dem Teamfoto steht, ist nicht bekannt, deshalb kein
|
||||
@@ -1470,8 +1480,8 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
const VORLAGEN = [
|
||||
V2_VORLAGE("betrieb", "Der Betrieb"),
|
||||
V2_VORLAGE("zitat", "Das Zitat"),
|
||||
V2_VORLAGE("vorher", "Die Ausgangslage"),
|
||||
V2_VORLAGE("nachher", "Mit HiveGrid"),
|
||||
V2_VORLAGE("vorher", "Vorher"),
|
||||
V2_VORLAGE("nachher", "Heute"),
|
||||
V2_VORLAGE("anmeldung", "Jetzt anmelden"),
|
||||
];
|
||||
|
||||
@@ -5024,17 +5034,6 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
'<g clip-path="url(#' + id + ')">' + m + "</g>";
|
||||
}
|
||||
|
||||
/* Eine Liste mit Waben als Aufzaehlungszeichen, je Punkt zwei Zeilen. */
|
||||
function v2Liste(y0, punkte, zeichenFarbe) {
|
||||
let g = "";
|
||||
punkte.forEach((p, i) => {
|
||||
const y = y0 + i * 116;
|
||||
g += v2Wabe(V2_RAND + 13, y - 10, 13, zeichenFarbe);
|
||||
p.forEach((z, j) => { g += v2Text(V2_RAND + 50, y + j * 40, z, 31, V2.text, { gew: 700, sperr: "-0.01em" }); });
|
||||
});
|
||||
return g;
|
||||
}
|
||||
|
||||
/* 1 · Der Betrieb. weclapp: „In 15 Monaten auf 11 Standorte. Das steckt
|
||||
hinter dem Erfolg von PV Green.“ Eine Zahl haben wir nicht, also traegt
|
||||
die Tatsache: vierte Generation. */
|
||||
@@ -5045,10 +5044,12 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
g += v2Wabe(1050, 120, 170, V2.gelb); // oben rechts
|
||||
g += v2Wabe(40, H - 70, 300, V2.form); // hinter dem Foto
|
||||
g += v2Logo(V2_RAND, 86, 42);
|
||||
g += v2Chamfer(V2_RAND + 180, 82, 292, 50, 10, V2.gelbHell);
|
||||
g += uiText(V2_RAND + 180 + 146, 115, "AUS DEM HANDWERK", 19, 700, V2.gelbText, { anker: "middle", sperr: "0.14em" });
|
||||
/* Seit 04.11.2026 das Webinar statt „Aus dem Handwerk“: Die Anzeige
|
||||
laedt ins Webinar ein und nicht zu HiveGrid. */
|
||||
g += v2Chamfer(V2_RAND + 180, 82, 236, 50, 10, V2.gelbHell);
|
||||
g += uiText(V2_RAND + 180 + 118, 115, "LIVE-WEBINAR", 19, 700, V2.gelbText, { anker: "middle", sperr: "0.14em" });
|
||||
[["SHK-Betrieb in", V2.gelb], ["vierter Generation.", V2.gelb],
|
||||
["Das steckt hinter", V2.text], ["HiveGrid.", V2.text]].forEach(([z, f], i) => {
|
||||
["Wie er Zeit spart,", V2.text], ["zeigt Noah im Webinar.", V2.text]].forEach(([z, f], i) => {
|
||||
g += v2Text(V2_RAND, 232 + i * 70, z, 64, f);
|
||||
});
|
||||
const fy = 500, fb = 780, fh = H - fy - 132;
|
||||
@@ -5067,9 +5068,15 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
return v2Svg(g);
|
||||
}
|
||||
|
||||
/* 2 · Das Zitat. Der Satz steht so auf der Website, „Warum es HiveGrid
|
||||
gibt“. Noah freigestellt vor einer grossen gelben Wabe: Er traegt
|
||||
Schwarz, vor dem Dunkel waere er darin verschwunden. */
|
||||
/* 2 · Das Zitat. Noah ueber seine Rolle als Chef, so festgehalten im Hub
|
||||
(Brainstorming Kickoff/Kontext/Kontext.md) und im Webinar auf der Slide
|
||||
„problem“. Seit 04.11.2026 (Dejan: mehr um Zeit und das, was von selbst
|
||||
laeuft): Der Satz oeffnet die Geschichte von Slide 3 und 4, was im Kopf
|
||||
des Chefs haengt, laeuft heute von selbst. Davor stand „Kein Chef fährt
|
||||
seinen Betrieb für ein halbes Jahr an die Wand …“ (Website), davor
|
||||
„KI-Lösungen. Ein CRM. Automatisierungen.“ (zu technisch). Noah
|
||||
freigestellt vor einer grossen gelben Wabe: Er traegt Schwarz, vor dem
|
||||
Dunkel waere er darin verschwunden. */
|
||||
function v2Zitat() {
|
||||
v2Ton();
|
||||
const H = SLIDE_H;
|
||||
@@ -5077,13 +5084,15 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
g += v2Wabe(60, H - 40, 150, V2.form);
|
||||
g += v2UebergangWabe(0);
|
||||
g += v2Logo(1080 - V2_RAND, 86, 42, { rechts: true });
|
||||
[["„Wir wollten auch gar", V2.text], ["nicht wechseln.", V2.text], ["Wir wollten mehr.", V2.gelb],
|
||||
["KI-Lösungen. Ein CRM.", V2.text], ["Automatisierungen.“", V2.text]].forEach(([z, f], i) => {
|
||||
[["„Ich kriege das,", V2.text], ["was in meinem Kopf ist,", V2.gelb],
|
||||
["nicht in die", V2.text], ["Ausführung.“", V2.text]].forEach(([z, f], i) => {
|
||||
g += v2Text(V2_RAND - 12, 236 + i * 66, z, 56, f);
|
||||
});
|
||||
g += uiText(V2_RAND, 640, "NOAH GEERKENS", 30, 800, V2.kopf, { sperr: "0.04em" });
|
||||
g += uiText(V2_RAND, 682, "Handwerksmeister und Gründer", 23, 600, V2.text2);
|
||||
g += uiText(V2_RAND, 714, "SHK-Betrieb in vierter Generation", 23, 600, V2.text2);
|
||||
g += v2Chamfer(V2_RAND, 574, 236, 46, 10, V2.gelbHell);
|
||||
g += uiText(V2_RAND + 118, 605, "LIVE-WEBINAR", 18, 700, V2.gelbText, { anker: "middle", sperr: "0.14em" });
|
||||
g += uiText(V2_RAND, 676, "NOAH GEERKENS", 30, 800, V2.kopf, { sperr: "0.04em" });
|
||||
g += uiText(V2_RAND, 718, "Handwerksmeister", 23, 600, V2.text2);
|
||||
g += uiText(V2_RAND, 750, "SHK-Betrieb in vierter Generation", 23, 600, V2.text2);
|
||||
/* noah-person.webp ist 1600 x 1049, die Person steht etwa zwischen 20
|
||||
und 75 Prozent der Breite. So gesetzt, dass sie rechts unten steht. */
|
||||
const pb = 980, ph = pb * 1049 / 1600;
|
||||
@@ -5091,38 +5100,109 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
return v2Svg(g);
|
||||
}
|
||||
|
||||
/* 3 · Die Ausgangslage. weclapp: „Herausforderungen“. Die vier Punkte
|
||||
sind Noahs „Bei uns war es so“ aus dem Webinar-Skript. */
|
||||
/* ─── Slide 3 und 4: vorher und heute ───────────────────────────────────
|
||||
Stand 04.11.2026, dritter Umbau. Dejan: Es muss mehr um das gehen, was
|
||||
von selbst laeuft, und um Zeit, aber ohne das Wort Automatisierung. Also
|
||||
umschreiben und zeigen, an einem einzigen Fall: Angebot raus, und dann?
|
||||
Das ist das Beispiel aus dem Webinar, Teil 2 („Wenn das passiert, dann
|
||||
mach das.“) und im Vertrieb der staerkste Schmerz („Angebot raus und
|
||||
dann passiert nichts“, PDF „Dunford und JOLT im Trichter“ vom 03.11.).
|
||||
Vorbilder aus der Werbebibliothek (Nachtrag 04.11. in webinar/
|
||||
Ad-Recherche.md im Hub): weclapp, Karte „vorher“ mit drei kurzen Zeilen
|
||||
(ID 2419932468433925); Zapier, drei Schritte in Alltagssprache als
|
||||
Karten untereinander, mit einer Linie verbunden, am Ende das Ergebnis
|
||||
(ID 393789279875187, laeuft seit Januar 2024). Slide 3 sind die drei
|
||||
Handgriffe des Chefs, Slide 4 dieselben drei als Kette, die von selbst
|
||||
laeuft. Das ist der Ablauf „Angebot nachfassen“ aus dem Webinar, Teil 2,
|
||||
als Schema und nicht als Screen: Dejan, 04.11.2026, „es sollen nur
|
||||
Schemas und Prozesse dargestellt werden, wir verkaufen das Produkt
|
||||
nicht“. Der Nachbau des Editors davor sah zu sehr nach angeschnittenem
|
||||
Screenshot aus. */
|
||||
|
||||
/* Lucide-Formen, wie sie Subframe als Feather-Icons zeichnet
|
||||
(lucide-static 0.460.0, wie LUCIDE in Post 8). */
|
||||
const V2_LUCIDE = {
|
||||
"send": '<path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"/><path d="m21.854 2.147-10.94 10.939"/>',
|
||||
"clock": '<circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/>',
|
||||
"phone": '<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/>',
|
||||
};
|
||||
const v2Lucide = (name, cx, cy, s, farbe, strich) =>
|
||||
'<g transform="translate(' + n1(cx - s / 2) + ',' + n1(cy - s / 2) + ') scale(' + (s / 24).toFixed(4) +
|
||||
')" fill="none" stroke="' + farbe + '" stroke-width="' + (strich || 2) +
|
||||
'" stroke-linecap="round" stroke-linejoin="round">' + V2_LUCIDE[name] + "</g>";
|
||||
|
||||
/* Die Ueberschrift beider Slides: Rubrik, darunter eine Zeile. */
|
||||
function v2KopfZeilen(rubrik, farbe, zeilen) {
|
||||
let g = v2Text(V2_RAND, 200, rubrik, 52, farbe, { sperr: "0.01em" });
|
||||
zeilen.forEach((z, i) => { g += v2Text(V2_RAND, 262 + i * 46, z, 38, V2.text, { gew: 700 }); });
|
||||
return g;
|
||||
}
|
||||
|
||||
/* 3 · Vorher. Die Karte „vorher“ von weclapp: drei Zeilen, je ein Zeichen.
|
||||
Was der Chef selbst machen musste, damit ein Angebot nicht liegen
|
||||
bleibt. Auf Slide 4 macht das der Ablauf. */
|
||||
const V2_HANDGRIFFE = [
|
||||
["send", "Das Angebot geht raus."],
|
||||
["clock", "Drei Tage dran denken."],
|
||||
["phone", "Abends nachtelefonieren."],
|
||||
];
|
||||
function v2Vorher() {
|
||||
v2Ton();
|
||||
const dunkel = variant === "dunkel", dy = (SLIDE_H - 1080) / 2;
|
||||
let g = "";
|
||||
g += v2Logo(1080 - V2_RAND, 86, 42, { rechts: true });
|
||||
g += v2Text(V2_RAND, 262, "DIE AUSGANGSLAGE", 52, V2.kopf, { sperr: "0.01em" });
|
||||
g += v2Liste(372, [
|
||||
["Anfragen landen im Postfach", "und auf Zetteln im Auto"],
|
||||
["Nach dem Angebot fragt keiner nach,", "jeder denkt, der andere ruft an"],
|
||||
["Fotos, Urlaub, Material: alles in", "einer WhatsApp-Gruppe"],
|
||||
["Urlaubsliste in Excel, das Passwort", "fürs Großhändler-Portal am Bildschirm"],
|
||||
], V2.kopf);
|
||||
g += v2KopfZeilen("VORHER", V2.kopf, ["Alles hing am Kopf vom Chef."]);
|
||||
const x = V2_RAND, y = 340 + dy, b = 770, zh = 132, h = 3 * zh + 36;
|
||||
g += v2Chamfer(x, y, b, h, 18, dunkel ? "#16243B" : "#F5F4F4",
|
||||
dunkel ? { stroke: "rgba(255,255,255,.12)" } : null);
|
||||
V2_HANDGRIFFE.forEach(([zeichen, text], i) => {
|
||||
const ym = y + 18 + i * zh + zh / 2;
|
||||
if (i) g += '<path d="M' + (x + 36) + "," + n1(y + 18 + i * zh) + "H" + (x + b - 36) +
|
||||
'" stroke="' + (dunkel ? "rgba(255,255,255,.12)" : "#E5E5E5") + '" stroke-width="1.5"/>';
|
||||
g += v2Chamfer(x + 36, ym - 36, 72, 72, 10, dunkel ? "rgba(255,255,255,.08)" : "#FFFFFF",
|
||||
dunkel ? null : { stroke: "#E5E5E5" });
|
||||
g += v2Lucide(zeichen, x + 72, ym, 34, dunkel ? "#FFFFFF" : "#24242B");
|
||||
g += v2Text(x + 140, ym + 13, text, 36, V2.text, { gew: 700, sperr: "-0.01em" });
|
||||
});
|
||||
g += v2Band(SLIDE_H - V2_BAND_H, 2);
|
||||
g += v2UebergangWabe(-1080);
|
||||
return v2Svg(g);
|
||||
}
|
||||
|
||||
/* 4 · Mit HiveGrid. weclapp: „Ergebnisse“, im Akzent. Gemessene
|
||||
Ergebnisse gibt es nicht, deshalb steht hier, was sich aendert: die
|
||||
Teile des Webinars und das Versprechen, dass das Programm bleibt. */
|
||||
/* 4 · Heute. Dieselben drei Handgriffe wie auf Slide 3, jetzt als Kette
|
||||
wie bei Zapier: Karten untereinander, eine Linie dazwischen, die Zeichen
|
||||
gelb, weil das jetzt erledigt ist. Liest sich als ein Satz. Am Ende das
|
||||
Ergebnis als Etikett, wie das „Faster communication“ bei Zapier. Inhalt
|
||||
wie die Notiz im Webinar-Ablauf (S08): „Kommt ein Projekt auf ‚Angebot
|
||||
versendet‘, ruft das Büro nach drei Tagen beim Kunden an. Der Chef
|
||||
bekommt Bescheid.“ */
|
||||
const V2_KETTE = [
|
||||
["send", "Wenn ein Angebot rausgeht,"],
|
||||
["clock", "nach drei Tagen"],
|
||||
["phone", "steht der Anruf auf der Liste."],
|
||||
];
|
||||
function v2Nachher() {
|
||||
v2Ton();
|
||||
const dunkel = variant === "dunkel", dy = (SLIDE_H - 1080) / 2;
|
||||
let g = "";
|
||||
g += v2Logo(1080 - V2_RAND, 86, 42, { rechts: true });
|
||||
g += v2Text(V2_RAND, 262, "MIT HIVEGRID", 52, V2.gelb, { sperr: "0.01em" });
|
||||
g += v2Liste(372, [
|
||||
["Jede Anfrage landet in der Pipeline,", "bis daraus ein Auftrag wird"],
|
||||
["Das Nachfassen läuft automatisch,", "über die Workflow-Engine"],
|
||||
["Chat, Personal und Passwörter", "an einem Ort statt verstreut"],
|
||||
["Das Branchenprogramm bleibt und ist", "angebunden, zum Beispiel KWP und PDS"],
|
||||
], V2.gelb);
|
||||
g += v2KopfZeilen("HEUTE", V2.gelb, ["Dran denken muss keiner mehr."]);
|
||||
const x = V2_RAND, b = 770, kh = 104, luecke = 40, y0 = 334 + dy;
|
||||
const linie = dunkel ? "rgba(255,255,255,.28)" : "#B5B5B7";
|
||||
V2_KETTE.forEach(([zeichen, text], i) => {
|
||||
const y = y0 + i * (kh + luecke), ym = y + kh / 2;
|
||||
g += v2Chamfer(x, y, b, kh, 16, dunkel ? "#16243B" : "#F5F4F4",
|
||||
dunkel ? { stroke: "rgba(255,255,255,.12)" } : null);
|
||||
g += v2Chamfer(x + 22, ym - 32, 64, 64, 10, V2.gelb);
|
||||
g += v2Lucide(zeichen, x + 54, ym, 30, "#1A1A1A");
|
||||
g += v2Text(x + 112, ym + 13, text, 36, V2.text, { gew: 700, sperr: "-0.01em" });
|
||||
/* Die Linie zur naechsten Karte, unter den Zeichen. */
|
||||
g += '<path d="M' + (x + 54) + "," + n1(y + kh) + "V" + n1(y + kh + luecke) +
|
||||
'" stroke="' + linie + '" stroke-width="2"/>';
|
||||
});
|
||||
const ty = y0 + 3 * (kh + luecke);
|
||||
g += v2Chamfer(x + 22, ty, 404, 56, 12, V2.gelbHell);
|
||||
g += v2Text(x + 22 + 202, ty + 37, "Und der Chef weiß Bescheid.", 26, V2.gelbText, { anker: "middle", gew: 800, sperr: "-0.01em" });
|
||||
g += v2Band(SLIDE_H - V2_BAND_H, 3);
|
||||
return v2Svg(g);
|
||||
}
|
||||
@@ -5138,12 +5218,15 @@ if (location.search.indexOf("nur=anim") >= 0)
|
||||
g += v2BandEnde();
|
||||
g += v2Text(m, 300 + dy, "Live zuschauen,", 56, V2.gelb, { anker: "middle" });
|
||||
g += v2Text(m, 366 + dy, "live fragen:", 56, V2.gelb, { anker: "middle" });
|
||||
g += v2Text(m, 462 + dy, "Automatisierung im Handwerk.", 50, V2.text, { anker: "middle" });
|
||||
/* Bis 04.11.2026 „Automatisierung im Handwerk.“, der Arbeitstitel des
|
||||
Webinars. Der Titel ist noch offen (Hub, daten/webinar.json), und das
|
||||
Wort ist zu technisch (Dejan). */
|
||||
g += v2Text(m, 462 + dy, "Weniger Zeit im Büro.", 50, V2.text, { anker: "middle" });
|
||||
g += v2Text(m, 522 + dy, "Mit dem Programm, das du hast.", 50, V2.text, { anker: "middle" });
|
||||
const kb = 420, kh = 88, ky = 590 + dy;
|
||||
g += v2Chamfer(m - kb / 2, ky, kb, kh, 16, V2.gelb);
|
||||
g += uiText(m, ky + 56, "Jetzt anmelden", 32, 800, V2.aufHell, { anker: "middle" });
|
||||
g += uiText(m, ky + 160, WEBINAR.wochentag + ", " + WEBINAR.datum + ", " + WEBINAR.uhrzeit + " Uhr, online",
|
||||
g += uiText(m, ky + 160, "Webinar am " + WEBINAR.wochentag + ", " + WEBINAR.datum + ", " + WEBINAR.uhrzeit + " Uhr, online",
|
||||
26, 600, V2.text2, { anker: "middle" });
|
||||
g += uiText(m, ky + 198, "Mit Noah Geerkens und David Bertram", 26, 600, V2.text2, { anker: "middle" });
|
||||
g += v2Logo(m, H - 150, 46, { mitte: true });
|
||||
|
||||
Reference in new issue
Block a user