Startseite · alle Kacheln
Stand 18.10.2026, Vorschau mit Testdaten auf Build 78 plus unserem Zweig (Korrekturen Runde 1 bis 6). 36 Kacheln und Zustände der Startseite, jede mit den Fotos, in denen sie vorkommt. Was in TestFlight wirklich erscheint, hängt am Konto (Freischaltung, Tarif), an Buchungen und an der Uhrzeit.
In TestFlight 78 möglich 18 Fotos
Diese Kacheln kann die echte App heute zeigen, je nach Konto und Lage.


















Nur hinter Schaltern 6 Fotos
Gebaut, aber im Store-Build immer aus (Extras, Community, Startseite anpassen). Zum Ansehen in einer Vorschau mit eingeschalteten Schaltern.






Nur in unserem Paket 5 Fotos
Vorschläge aus unserem Zweig, nicht in Build 78.





Pop-ups über der Startseite 7 Fotos
Keine Kacheln, sondern Überlagerungen.







Alle Kacheln als Liste 36
Reihenfolge auf der Startseite: Reihenfolge der Startseite (78 und HEAD gleich; HEAD home_v2_page.dart:769-1054, 78 :698-983). Von oben nach unten: Gruss, Warnkarte, Einrichtungs-Banner, Live-Kachel, Warte-Kachel Einzelbuchung, Warte-Kachel Dauerbuchung, Offene-Buchung-Karte, \"Dein nächstes Match\" mit Member-Pass-Zeile darunter, Fehlerkarte, Kein-Heimclub-Karte, Blitz-Held, Court buchen, Grand Opening, Blitz-Kachel, Blitz-Ankündigung, Schnellbuchung, Level-Kachel (oder Leerzustand), Dauerbuchung, PRO-Werbung, Mitgliedschafts-Zeile, Freunde finden, Crew, Aktivitäten, Smart Court, Rangliste, Startseite anpassen. Regeln: Naechste Buchung, Fehlerkarte, Kein-Heimclub-Karte und Blitz-Held schliessen sich aus (:733-750); Blitz
| 1 | Kopfzeile mit Gruss Immer. Pille nur bei Stufe pro/rookie/advanced (:1177). Roter Punkt nur bei ungelesenen Mitteilungen vom Server (home_view_model.dart:142-153), nachgefragt alle 20 s solange die Startseite sichtbar ist (:150-164). Varianten: PRO gold; ROOKIE gruen; ADVANCED lila; ohne Pille (kein Abo, unbekannter Tarif); Herz mit / ohne roten Punkt; Foto oder Avatar; langer Name: HEAD verkleinert (FittedBox, :1160-1171), 78 kuerzte mit Auslassung | beides | kein Foto |
| 2 | Warnkarte offener Betrag / Strikes / Sperre GET /me/standing meldet needsAttention: offener Betrag > 0, aktive Strikes > 0 oder gesperrt (core/models/standing.dart:22-23, home_view_model.dart:467-471). Tipp fuehrt zu /debts. Varianten: Offener Betrag; Strikes mit Hinweis; ueberfaellig; gesperrt | Build 78 | kein Foto |
| 3 | Einrichtungs-Banner "Mach's zu deiner App · X von N" Profil geladen und mindestens eine Pflichtangabe fehlt: Vorname, Nachname, Geburtsdatum (nur waehrend der Registrierung), Username, Heimclub, Spielhaeufigkeit, Spielzeit, Level (onboarding_progress_banner.dart:30-49). Varianten: Fortschritt X von 7; Fortschritt X von 8 (Konto noch in der Registrierung) | Build 78 | 01 02 10 19 20 |
| 4 | Live-Match-Kachel Eine bestaetigte eigene Buchung laeuft gerade (Beginn <= jetzt < Ende, Betrachter nimmt teil) und das Match ist weder auf dem Geraet noch am Server als beendet vermerkt (home_view_model.dart:974-1015). Faellt im 20-s-Takt weg, sobald der Server das Ende meldet (home_v2_page.dart:162). Tipp fuehrt auf den Match-Schirm. Varianten: laufende Spielzeit; "Du & Namen · noch N Min"; Court · Ort; verschwindet nach bestaetigtem Ergebnis | Build 78 | 01 02 11 19 27 36 |
| 5 | Warte-Kachel Einzelbuchung "Buchung abschließen" Auf dem Geraet ist ein Halt von Seite 3 vermerkt, der Server nennt ihn noch aktiv (GET /booking-holds/:id) und die Eingaben von Seite 3 sind da (home_view_model.dart:1063-1119). Tipp fuehrt zurueck auf Seite 3 mit Restzeit; Kreuz gibt nach Rueckfrage frei (home_v2_page.dart:540-587). Varianten: Band "Dieser Slot ist für dich reserviert · noch M:SS"; letzte Minute rot (home_halt_kachel.dart:126); Kreuz mit Rueckfrage, danach Hinweis geloescht / schon gebucht / schon weg / keine Verbindung; abgelaufen: verschwindet | Build 78 | 01 02 12 19 32 |
| 6 | Warte-Kachel Dauerbuchung "Dauerbuchung abschließen" Dauerbuchung fuer das Konto verfuegbar und eine offene Reservierung der Pruefen-Seite mit Angebot (GET /booking-series/reservation, home_view_model.dart:870-901). Varianten: Band mit Restzeit; "jeden Wochentag · Zeit · Court · N Termine · von bis"; letzte Minute rot; Kreuz: frei / Zahlung laeuft / Zahlung eingegangen / keine Verbindung (home_v2_page.dart:600-646) | Build 78 | 01 02 12 19 33 |
| 7 | Kompakte Reservierungskarte Keine: die Startseite zeichnet sie nicht. HEAD zeigt weiter die Warte-Kacheln aus 78 (:836, :848). Das Board nennt hold-court/hold-series "kompakte Karte", die Aufnahme captured-v78/hold-court.png zeigt aber die 78-Warte-Kachel. Varianten: normal; letzte Minute (Akzent rot); mit / ohne Abbrechen | unser Paket | 25 |
| 8 | Offene-Buchung-Karte BookingDiscovery.nextActionablePending: Status AWAITING_ACCEPTANCE_PAYMENT, PENDING_PAYMENT, AWAITING_GUARANTEE (nur Organisator) oder SETTLING, Ende in der Zukunft, eigene Einladung nicht abgelehnt (core/models/booking_discovery.dart:77-96, 141-144); nicht in dieser Sitzung verworfen (home_v2_page.dart:664). Tipp: Zahlschritt oder Match-Schirm (:386-388). Varianten: "Buchung noch absichern"; "Buchung noch bezahlen"; "Zahlung wird abgeschlossen"; "Geteilte Zahlung läuft"; "Match wartet auf Bestätigung" (eingeladen); Zeile: Anteil gedeckt / offen / bezahlt / eingeladen; Countdown, ab 10 Min dringlich; Kreuz nur fuer Organisator vor dem Zahlschritt (home_v2_page.dart:652-660) | Build 78 | 01 02 03 04 05 07 |
| 9 | Karte "Dein nächstes Match" / "HEUTE" Naechste bestaetigte Buchung, an der man teilnimmt, Ende in der Zukunft, nicht die gerade laufende, nicht storniert; naechster Dauerbuchungstermin zaehlt mit (home_view_model.dart:951-1046, booking_discovery.dart:6-9). Varianten: "HEUTE" mit "bestätigt"-Pille (Spieltag); "DEIN NÄCHSTES MATCH" mit Wochentag und Datum; Chip "Du + n"; Chip "bezahlt"; Ort · Court · Dauer | Build 78 | kein Foto |
| 10 | Member-Pass-Zeile "Dein Member Pass · Dein Code öffnet ab HH:MM" Naechste Buchung ist heute UND der Server hat Zugangsdaten ausgestellt (GET /bookings/:id/access) mit validFrom (home_view_model.dart:566-569). Tipp fuehrt zum Member Pass. Varianten: "Dein Code öffnet ab HH:MM" (Clubuhr); "Dein Code öffnet jetzt" | Build 78 | 01 02 08 19 |
| 11 | Fehlerkarte "Startseite nicht geladen" Keine Buchung, GET /me fehlgeschlagen ohne frueheren Stand, nicht am Laden (:733-734). Varianten: Titel, Satz, Knopf "Erneut versuchen" | Build 78 | kein Foto |
| 12 | Kein-Heimclub-Karte "Blitzbuchung noch nicht möglich" Kein Heimclub, keine Buchung, kein Ladefehler UND FeatureFlags.homeExtrasEnabled. Seit V46 archiviert; in Release (TestFlight) immer aus (core/config/feature_flags.dart:125-133). Varianten: einzige Fassung | Build 78 | 20 |
| 13 | Blitz-Angebot-Held Extras an, Heldenplatz frei (keine Buchung, kein Fehler, kein NoClub) und mindestens ein Angebot aus GET /blitz/offers (:745-748). Varianten: Countdown in Ziffernkaesten; "abgelaufen"-Pille; weitere Angebote als Chips; (i) Erklaerblatt | beides | 21 22 |
| 14 | Court-buchen-Kachel Immer. Die Zeile nur mit Heimclub und erfolgreicher Verfuegbarkeitsabfrage (home_view_model.dart:1206-1254). Varianten: "N Court(s) frei · Club"; "Heute ausgebucht · Club"; ohne Zeile (kein Heimclub, unbekannt, Fehler); Video oder lila Flaeche als Rueckfall; HEAD: (i)-Hilfe neben dem Titel (ScreenHeadingV2 helpPath, :2489-2493) | beides | 01 02 03 04 05 06 |
| 15 | Grand-Opening-Kachel "BALD GEHT'S LOS · Grand Opening" GET /locations liefert grandOpening mit showOnHome und die Eroeffnung liegt in der Zukunft (home_view_model.dart:1132-1154); im Eroeffnungsmoment nimmt sich die Zeile selbst weg. Varianten: eine oder zwei Zeilen (Trier, Bruchsal); Countdown Tage / Std / Min; enge Anordnung bei grosser Schrift; Tipp: Buchen am Standort und Eroeffnungstag | beides | 01 02 03 04 05 06 |
| 16 | Blitz-Kachel Extras an UND eine naechste Buchung belegt den Heldenplatz (Blitz steht genau einmal auf der Seite). Varianten: Angebot mit Rabatt-Tag und Preis statt; gesperrt; am Club aus; kein Angebot; Ladefehler mit Erneut; laedt | Build 78 | 19 24 |
| 17 | Blitz-Ankündigung Extras an, Heldenplatz frei, kein Angebot (:750). Varianten: "Blitzbuchung gibt es noch nicht"; Ladefehler; laedt; "Gerade kein Blitz-Angebot"; Zeile naechster freier Court; Zeile "heute nichts mehr frei" | Build 78 | 23 |
| 18 | Schnellbuchung-Kachel Extras an, kein NoClub, kein Ladefehler. Varianten: mit letzter gespielter Buchung (Wochentag Uhrzeit · Court · Ort); leer und gedimmt | Build 78 | 19 21 22 23 24 |
| 19 | Level-Kachel Ranking fuer das Konto frei und GET /me/ranking liefert ein Level (home_view_model.dart:788-828). Waehrend der Einstufung ist das Level 0 und die Einstufungsform steht. Varianten: Einstufung laeuft, Ring N von 5, nackter Pfeil; "DEIN LEVEL · 58" mit "Aus deinen Ranked Matches"; nur HEAD: Sammel-Level "x % bis Level y" / "Höchstes Level" (:2759-2806) | beides | 01 02 11 19 27 28 |
| 20 | Level-Leerzustände Kein Level UND Extras an (V46: in Release ausgeblendet, :961-982). Varianten: Skelett waehrend des Ladens; offline mit Tipp zum Neuladen; "Noch kein Level" mit Weg zur Selbsteinschaetzung | Build 78 | kein Foto |
| 21 | Dauerbuchung-Kachel Server sagt eligibility.available == true (home_view_model.dart:309). Pille allein aus dem Grund des Servers (basis). Tipp fuehrt in den Kauf. Varianten: Pille PRO (gold); Pille EARLY BIRD (lime); Pille PARTNER (lime); ohne Pille; Chip "NÄCHSTER · Wochentag Datum · Uhrzeit"; "N Dauerbuchung(en)"; HEAD: (i)-Hilfe, Titel 24, engerer Innenrand | beides | 01 02 03 04 05 06 |
| 22 | PRO-Werbung "Wechsel zu PRO" Keine Partner-Mitgliedschaft und Tarif no_membership, rookie oder advanced. Tipp fuehrt direkt zu /membership/pro. Varianten: Satz ohne Zahlen bis der Tarifkatalog da ist; Satz mit Serverwerten (Rabatt, Vorlauf, Dauerbuchung inklusive); schmale Fassung unter 320 px; HEAD: Titel 24 statt 27 | beides | kein Foto |
| 23 | Mitgliedschafts-Zeile Nicht gleichzeitig PRO-Werbung sichtbar und Tarif no_membership (:1017-1018). Varianten: "Rookie / Advanced / PRO aktiv" mit Rabattsatz nach Uhrzeit; "… aktiv" mit "Mitgliedschaft verwalten" ohne Rabatt; Partner "Rookie · TRIWO Technopark"; "Kein Abo aktiv" (praktisch unerreichbar, weil dann die PRO-Werbung steht) | beides | 01 02 03 04 06 07 |
| 24 | Zeile "Freunde finden" Immer. Varianten: einzige Fassung | beides | kein Foto |
| 25 | Crew-Karte "Deine Crew" FeatureFlags.communityEnabled (nur mit --dart-define=PADELSMART_COMMUNITY=true und nicht Release, feature_flags.dart:40-50). Varianten: leere Crew mit "+ Freund einladen" | Build 78 | kein Foto |
| 26 | Zeile "Aktivitäten" FeatureFlags.communityEnabled. Varianten: einzige Fassung | Build 78 | kein Foto |
| 27 | AI-Zeile "Smart Court · Analyse und KI-Coaching sind in Vorbereitung" Extras an UND coachEnabled; in Release beide aus. Einzige AI-Flaeche der Startseite; ein Video- oder AI-Banner gibt es weder in 78 noch in HEAD. Varianten: einzige Fassung, Tipp in den KI-Reiter | beides | kein Foto |
| 28 | Zeile "Rangliste" Extras an. Varianten: einzige Fassung | beides | kein Foto |
| 29 | Karte "Startseite anpassen" FeatureFlags.startseiteAnpassenEnabled (PADELSMART_STARTSEITE_ANPASSEN, nicht Release, feature_flags.dart:190-199). Die Route /home/anpassen leitet sonst auf /home (core/routing/app_router.dart:594-598). Varianten: einzige Fassung, Unterzeile "kommt mit einem späteren Update" | Build 78 | kein Foto |
| 30 | Pop-ups über der Startseite Keine Kachel, sondern Ueberlagerung: nur auf /home, nach 1,5 s Ruhe, hoechstens eines je App-Start; das Newsletter-Angebot hat Vorrang (announcement_prompt_host.dart:19-41). Varianten: Newsletter-Angebot; Betreiber-Pop-up mit Knopf zum Ziel | Build 78 | kein Foto |
| 31 | Rueckfrage-Blatt "Reservierung löschen?" und Hinweisleisten nach dem Kreuz Tipp aufs Kreuz einer Warte-Kachel (Einzelbuchung, Dauerbuchung) oder der Offene-Buchung-Karte (nur Organisator vor dem Zahlschritt). Danach eine Hinweisleiste unten, die Startseite laedt neu. Varianten: Blatt mit Text fuer Einzelbuchung; Blatt mit Text fuer Dauerbuchung; Hinweis gelöscht (gruen); Hinweis schon gebucht; Hinweis schon weg; Hinweis keine Verbindung (Kachel bleibt); Hinweis Zahlung läuft / Zahlung eingegangen / nicht möglich | Build 78 | kein Foto |
| 32 | Grand-Opening-Flyer-Pop-up Keine in der App: in lib nirgends aufgerufen, nur aus tool/phone_opening_review.dart:11. Kein Kunde sieht es, weder in 78 noch in einem HEAD-Bau; echte Betreiber-Pop-ups kommen nur ueber GET /me/announcements. Varianten: Trier "Fr 16.10.2026 · ab 16 Uhr"; Bruchsal "Fr 23.10.2026 · ab 16 Uhr", Flyerfuss abgeschnitten (visibleImageFraction 0,925); Knopf "Court buchen" fuehrt in den Buchen-Tag am Standort; festes Kreuz oben rechts; ohne Bild Rueckfalltext "GRAND OPENING Ort" | unser Paket | 29 |
| 33 | Hilfe-Dialog Immer mit der jeweiligen Kachel, nur HEAD. Der Tipp aufs (i) oeffnet einen Dialog statt in die Buchung zu springen (PsPressScale separateActions). Varianten: Court buchen: "Wähle Tag, Spieldauer, Uhrzeit und einen verfügbaren Court ..."; Dauerbuchung: "Eine Dauerbuchung umfasst mehrere Termine ..."; Deutsch oder Englisch nach App-Sprache | unser Paket | 34 35 |
| 34 | Reiterleiste unten Immer auf der Startseite. KI-Reiter nur mit FeatureFlags.coachEnabled (in Release aus, feature_flags.dart). Ball grau, wenn /me das Buchungslimit meldet (openBookings >= openBookingCap, ps_bottom_nav_v2.dart:254, 272-275; user_profile.dart:440-441). Varianten: TestFlight 78: 3 Reiter Haus · Ball · Profil; Vorschau: 4 Reiter mit KI (Funkel), weil tool/phone_review.dart:191 debugCoachEnabled setzt; Ball grau bei erreichtem Buchungslimit | Build 78 | kein Foto |
| 35 | Member-Pass-Schnellansicht per Schuetteln Global, nicht nur Startseite: Handy schuetteln auf jedem angemeldeten Schirm; aus waehrend Live-Match und Ergebnis-Eingabe (pass_quick_access_host.dart:11-24). Web/Desktop: Pille "Shake testen" nur mit Dev-Diagnose (:97-121). Varianten: Code im Zeitfenster gueltig; ausserhalb des Fensters mit naechstem Fenster; HEAD: neu gestaltet (Kopf mit Schuettel-Bild, "Member Pass", Kreuz; Karte ohne Stufenbild) | beides | kein Foto |
| 36 | Zustand Aktualisieren Nach unten ziehen oder Haus-Reiter erneut tippen: scrollt nach oben und laedt alles neu. Ausserdem neu geladen bei Rueckkehr auf den Reiter, aus dem Hintergrund und bei Aenderungen anderswo (0,5 s entprellt). Varianten: Ladekringel oben; beim ersten Laden kein eigener Ladezustand: Karten erscheinen einzeln, sobald ihre Antwort da ist | Build 78 | kein Foto |