Zum Hauptinhalt springen

Manual -- Normaler Nutzer

1. Ueberblick

Als normaler Nutzer kannst du Orte und Events entdecken, speichern, kommentieren, an Events teilnehmen, mit anderen Nutzern chatten, Collections anlegen und unter aktiver Anmeldung neue Orte, Events oder Communities zur Prüfung vorschlagen (nie anonym).

2. Erste Schritte

Registrierung und Anmeldung (passwortlos)

Anmeldung und Registrierung liegen auf derselben Seite /de/auth/signin. Es gibt kein Passwort-Feld und keinen separaten Sign-up-Pfad — wer noch kein Konto hat, bekommt bei der ersten Magic-Link-Anmeldung automatisch eines.

  1. Von der öffentlichen Startseite /de: Zwei-Spalten-Layout — links Marke, Kurzbeschreibung und vier Teaser-Kacheln (Orte · Events · Communities · Karte), rechts Karte „Anmelden“ mit einem Button zu /de/auth/signin (Registrierung und Login nutzen dieselbe Seite; next zeigt auf Home); darunter kurze Links zu Datenschutz, Nutzungsbedingungen und Community-Regeln. Kopfzeile: nur Logo/Wortmarke und Sprachumschalter — keine Suche, keine Hauptnavigation, kein zweiter Anmelden-Link in der Leiste. Auf Mobile entfällt zusätzlich die untere Tab-Leiste auf dieser Seite. Die Sektion Vertrauen folgt darunter. Nach der Anmeldung erreichst du über die App z. B. Orte/de/places, Events/de/events, Karte/de/map; ohne Session leitet die Middleware zuerst auf /de/auth/signin — im Parameter next steht das ursprüngliche Ziel. Rechtliche und Trust-Seiten (z. B. Impressum, Datenschutz) bleiben ohne Login aufrufbar.
  2. Auf /de/auth/signin stehen drei Optionen, identisch zur Mobile-App:
    • Mit Google fortfahren — OAuth, schnellster Weg.
    • Mit Apple fortfahren — OAuth, iOS-typisch.
    • Mit E-Mail fortfahren — sendet einen einmaligen Anmelde-Link (Magic Link) per E-Mail.
  3. Die E-Mail-Eingabe akzeptiert nur eine E-Mail-Adresse (kein Benutzername-Pfad — fuer den Mail-Versand des Magic-Links brauchen wir die Adresse). Vor dem Senden wird ein Cloudflare-Turnstile-Captcha unsichtbar geprueft (sichtbarer Hinweis, falls eine Interaktion noetig ist).
  4. Nach dem Klick auf Mit E-Mail fortfahren: Bestaetigung „Magic Link gesendet — oeffne den Link in der E-Mail, um dich anzumelden". Mit Mit anderer E-Mail erneut senden kannst du die Eingabe korrigieren und einen neuen Link anfordern.
  5. Der Magic-Link in der Mail fuehrt zurueck auf /api/auth/supabase/callback?via=email_link. Beim ersten Mal wird das Konto angelegt, die E-Mail ist sofort als verifiziert markiert (Klick auf den Link ist die Bestaetigung), du landest im Onboarding. Bei wiederkehrenden Anmeldungen geht es direkt auf Home bzw. den next-Pfad.
  6. Kein lokales Passwort: Login laeuft ueber OAuth (Google/Apple) oder Magic Link. Die frueheren Passwort-Recovery-Seiten (/de/auth/forgot-password, /de/auth/reset-password) gibt es in der App nicht mehr; verlorener Zugang wird ueber einen neuen Magic Link oder den jeweiligen OAuth-Provider geklaert.
  7. Ist die Kontoerstellung fuer die Umgebung deaktiviert, erscheint ein Hinweis oberhalb des Formulars. Einladungs-Gate: nur aktiv, wenn die Betriebseinstellung AUTH_SIGNUP_INVITE_GATE=force (o. Ä.) zusammen mit Invite-Codes gesetzt ist — standardmäßig (auch int/App) ohne Code-Zwang.

Willkommens-Mail (einmalig pro Konto): Sobald deine E-Mail bestaetigt ist, schicken wir dir genau einmal eine kurze Willkommens-Mail mit Links auf Hilfe, Community-Regeln und Datenschutz. Bei Google-/Apple-Login und beim ersten Magic-Link-Login erfolgt das direkt nach der erfolgreichen Anmeldung — die externen Provider bzw. der Klick auf den Magic-Link haben deine Adresse bereits bestaetigt.

Schlaegt die Anmeldung fehl (z. B. Captcha-Fehler, Mail-Versand temporaer nicht moeglich, Konto gesperrt, Provider noch nicht freigeschaltet), erscheint ein Hinweisbanner oberhalb des Formulars mit einer verstaendlichen Meldung. Rechtliche Links (Impressum, Datenschutz) findest du in der Seiten-Fusszeile.

Onboarding (2 Pflichtschritte, danach 3 optionale Schritte)

In der App ist der Fortschritt als Schritt x von 5 nummeriert (Schritte 1–2 Pflicht, 3–5 optional).

  1. Grundlagen (/de/onboarding): Waehle Sprache, Username und Stadt
  2. Profil & Sichtbarkeit (/de/onboarding/visibility): Nur die globale Entscheidung Öffentlich oder Privat (kurzer Hinweis auf das Minimal- vs. erweiterte Profil); keine Feinschalter für einzelne Bereiche. Beim Speichern setzt das System im Hintergrund die Voreinstellung der sichtbaren Profilbereiche: Öffentlich → alle Bereiche an, Privat → alle aus (die Feinsteuerung erfolgt später unter Konto & Einstellungen). Mit dem Speichern dieses Schritts gilt dein Onboarding als abgeschlossen (onboardingCompletedAt zusammen mit dem Abschluss der Sichtbarkeit). Anschliessend oeffnet sich der optionale Teil; du kannst die App aber auch schon Home, Karte & Co. normal nutzen.

Ort-, Event- und Community-Themen werden nicht im Onboarding abgefragt. Beim ersten manuellen Besuch von Home (nicht direkt nach dem Onboarding-Redirect mit ?welcome=onboarding) erscheint ein einmaliger Einrichtungsbildschirm: kurze Begrüßung, Erklärung und Auswahl der Interessen (mindestens je eine Kategorie pro Bereich). Danach filtert Home nach dieser Auswahl. Änderungen jederzeit unter Konto & Einstellungen → Interessen.

Optional (je ueberspringbar):

  1. Staedte folgen (/de/onboarding/cities): Folge weiteren Staedten, in denen du Orte/Events sehen moechtest; mindestens deiner Heimatstadt wird automatisch gefolgt
  2. Profilbild & Bio (/de/onboarding/profile): Profilbild waehlen (Editor: zoomen, verschieben, drehen, spiegeln) und Kurzbeschreibung schreiben
  3. Community (/de/onboarding/community): Nutzer:innen in deiner Stadt entdecken und folgen; ohne Folgen mit Fertig — zur Karte zur Stadtkarte (Profilstadt)

Schritte 1–2 sind Pflicht, Schritt 3–5 sind optional und ueberspringbar. Wenn du den optionalen Teil beendest oder ueberspringst, kann die App dich auf die Stadt-Karte oder Home leiten (Abschnitt Nach dem Onboarding weiter unten).

Bricht du das Onboarding ab (z. B. Abmelden oder Tab schliessen), wirst du beim naechsten Anmelden wieder zum passenden Onboarding-Schritt geleitet, bis alle Pflicht-Schritte (1–2) abgeschlossen sind.

Schritt 1 (Grundlagen): nur der zentrierte Weiter-Button. Ab Schritt 2: unten links Zurueck nur als Pfeil-nach-links-Icon (ohne sichtbaren Text, Ziel im aria-label); Weiter bleibt mittig unter der Karte. Von Profil & Sichtbarkeit zurueck zu Grundlagen geht ueber /de/onboarding?step=basics (damit die Weiterleitung nicht erneut Schritt 2 erzwingt). Die optionalen Schritte 3–5 bieten zusaetzlich einen Ueberspringen-Link (bzw. bei Schritt 5 Fertig — zur Karte) unter dem Haupt-Button.

Die frueheren Routen /de/onboarding/places, /de/onboarding/events und /de/onboarding/communities leiten nur noch zur Staedte-Vorschau weiter (Bookmarks bleiben gueltig).

3. Wichtigste Bereiche

Mobile-Shell-Navigation (Browser + Native-App)

Auf Smartphones und Capacitor-Native-App (ab Phase 1 der Migration) gibt es eine eigene Navigations-Schicht, damit sich die App auch im Browser nativ anfuehlt:

  • Untere Tab-Leiste (unter dem Bildschirmrand — Mobile-Shell inkl. Capacitor-Native, sofern nicht Gast-Landing / ohne Session): fünf TabsHome (/home), Communities (/communities), Map (Beschriftung absichtlich „Map“ auf DE und TR), Orte, Events.

  • Gast-Landing (/de / /tr ohne Anmeldung): keine untere Tab-Leiste (Hero + Anmelden-CTA).

  • Gast-Detail im Browser (Web, nicht Native-App): Direktlinks zu /de/places/{slug} bzw. /de/events/{slug} (TR analog) sind ohne Anmeldung erreichbar — z. B. geteilte Links oder Google-Suchtreffer. Du siehst Überblick (Name, Kategorie, Beschreibung, Adresse/Termin, externe Website, statische Karten-Vorschau). Beiträge, Kommentare, Teilnehmer, Merklisten, Chat und Social-Aktionen erfordern weiterhin kostenloses Login. Orte-/Events-Listen, Karte, Suche und Communities bleiben ohne Session geschlossen (Weiterleitung zur Anmeldung). In der installierten App (iOS/Android) gilt weiter Auth-first — auch Detail-URLs führen ohne Session zur Anmeldung.

  • Für die Tab-Leiste gilt: Der mittlere Tab Map ist durchgehend eine türkise Pill (rounded-full, #30D5C8) mit weißem Icon und „Map“ — auch wenn du bereits auf der Stadtkarte bist. Tip auf Map navigiert zur Stadtseite deiner Profil-/Onboarding-Stadt (/cities/{slug}; Legacy /map?city=… leitet dorthin um). nur ohne hinterlegte Profilstadt wird optional die nächste Stadt aus dem Standort genutzt (focusLocate=1 für „Mein Standort“). Orte, Events und Communities öffnen die Liste mit ?city= aus der Profil-/Onboarding-Stadt (wie beim ersten Aufruf der Seite ohne Stadt-Parameter); ohne Profilstadt optional Standort, sonst Basisroute. Die Einreich-Pfade (Beitrag / Ort / Event / Community-Vorschlag) sind nicht in der Bottom-Leiste; sie bleiben über den App-Header Zeile 2 — runder Plus-Button öffnet ein Menü mit Beitrag erstellen, Ort vorschlagen, Event vorschlagen, Community vorschlagen (Routen /post/new, /submit/place, /submit/event, /communities/suggest).

  • App-Header oben (zwei Zeilen): Zeile 1 — Hamburger-Icon links, MerhabaMap-Logo und Schriftzug daneben; rechts der Sprachumschalter DE/TR. Zeile 2: links Suche (Lupen-Icon — öffnet ein Suchfeld, das nach rechts in die Zeile wächst; Autocomplete wie im Desktop-Header); rechts Plus-Menü (Icon + — Dropdown wie oben), Mitteilungen (Glocke mit Unread-Badge), Verbindungen (Personen-Icon — Header-Vorschau mit Tabs Entdecken und Meine Verbindungen; volle Seite /connections mit Entdecken / Folge ich / Folgen mir), Nachrichten (Chat-Icon mit Unread-Badge — Inbox-Vorschau; volle Liste /messages). Mitteilungen, Verbindungen, Nachrichten und das Plus-Menü (Beitrag/Vorschläge): In der Mobile-Shell öffnet ein Tipp eine Vorschau über die volle Breite, direkt unter der zweiten Headerzeile (halbtransparentes Overlay darunter). Schließen: Overlay antippen, Escape oder Hochwischen am Griff unten am Panel. Profil (Tip auf den Avatar öffnet direkt dein öffentliches Profil unter /user/{username} — ohne Username die Seite Konto & Einstellungen /profile). In der Header-Vorschau zeigt Entdecken dieselben Nutzer:innen-Vorschläge wie auf der ganzen /connections-Seite (öffentlich, abgeschlossenes Onboarding: z. B. gleiche Profil-/Onboarding-Stadt oder Stadt-Folge, gemeinsame gespeicherte Orte oder Events, dieselben Communities); Tab Meine Verbindungen listet ohne Dubletten Personen den du folgst und die dir folgen. Auf der ganzen Verbindungen-Seite /connections gilt daneben unter Mitgliedersuche usw.: Entdecken wie oben, Folge ich listet Profile, denen du folgst, mit Link Nachricht (klassische Liste /user/{username}/following). Folgen mir listet Follower ebenfalls mit Nachricht (klassisch /user/{username}/followers). Meine Listen, Favoriten · Orte, Favoriten · Events, Deutschland-Karte, Admin und Abmelden erreichst du weiterhin über den Drawer, nicht über das Avatar-Menü (das gibt es in der Mobile-Shell im Header nicht).

  • Drawer (oeffnet ueber das Hamburger-Icon): Angemeldet: Profil-Karte, Konto & Einstellungen, optional Follow-Anfragen (privates Profil) und Business, Admin (nur fuer Admins), Meine Listen, Meine Favoriten · Orte, Meine Favoriten · Events, Deutschland-Karte (oeffnet /map ohne Stadt-Filter), MerhabaMap unterstuetzen (/support), Fehler melden! (Bottom-Sheet), Ueber MerhabaMap (/legal), Abmelden (Outline-Button unten). Darunter ein Über MerhabaMap (/legal) — Hilfe, App-Infos, Status, Changelog, Support und alle rechtlichen Seiten (Impressum, Datenschutz, AGB, Lizenzen, Barrierefreiheit u. a.) an einem Ort. Sprache wechselst du nur noch ueber den Sprachumschalter DE/TR in der Header-Zeile 1, nicht im Drawer. Nicht angemeldet: nach der Anmelden-Zeile Ueber MerhabaMap und Hilfe & Support.

Der aktive Rand-Tab nutzt die Bereichsfarbe: Home und Orte MerhabaMap-Rot (text-brand), Communities MerhabaMap-Blau (text-community), Events MerhabaMap-Schwarz (text-merhaba-black). Der Map-Tab bleibt optisch türkis. ESC oder Tippen ausserhalb des Drawers schliesst ihn. Die untere Tab-Leiste haelt den iOS-Home-Indicator-Bereich sauber (sofern sie sichtbar ist).

Auf Desktop-Browsern (≥ 768 px) bleibt die obere Header-Zeile mit Logo, Suche, Sprachumschalter und Konto-Menü erhalten; die Bottom-Nav erscheint dort nicht. Wenn du angemeldet bist, steht rechts neben Mitteilungen, Verbindungen und Nachrichten ein Plus-Button (+): er öffnet dasselbe Menü wie in der Mobile-Shell — Beitrag erstellen, Ort vorschlagen, Event vorschlagen, Community vorschlagen. Verbindungen (Personen-Icon) öffnet Desktop dieselbe Popover‑Vorschau (Entdecken / Meine Verbindungen); die volle Liste mit Tabs Entdecken / Folge ich / Folgen mir liegt unter /connections wie oben beschrieben.

In der mittleren Hauptnavigation (runde Pill-Leiste) findest du — wenn du angemeldet bist — Home, Communities, Map (Beschriftung in DE und TR gleich), Orte und Events. Der frühere Menüpunkt Aktivitäten ist aus der Hauptnavigation entfernt; personalisierte Inhalte liegen auf Home (Tabs Entdecken / Social). Alte Links /de/feed leiten auf Home um (?tab=discovery bzw. ?tab=social bei früherem mode=local). Die Route Communities (/de/communities, /tr/communities) ist die Übersicht fuer tuerkische Communities in Deutschland — Schwerpunkte: lokale Gruppen und Themen zur Orientierung. Es gibt keine Personen‑ oder Matching‑Vorschläge, keinen öffentlichen Gruppen‑Feed und keinen Community‑Chat. Auf der Live‑Detailseite (nur für angemeldete Nutzer:innen erreichbar) erscheinen neben der aggregierten Mitgliedszahl ein Avatar‑Auszug (Pool begrenzt wie bei Event‑Teilnehmer:innen); die Sichtbarkeit privater Profile folgt derselben Regel wie bei Event‑Teilnahme (öffentlich sichtbare Profile, eigene Profilanzeige immer, private Profile nur für eingeloggte Folgende).

Die Seite folgt dem gleichen Einstieg wie Orte/Events: rote Eyebrow, grosser Titel, Kurzbeschreibung. Mit Session und gültiger Profilstadt öffnet die Liste bei fehlender city-URL automatisch dort (wie Listen auf Orte und Events); scope=nationwide in der URL bleibt unverändert bundesweit gefiltert. Darunter eine Filterkarte: Freitext (Suche, URL-Parameter q; bei mindestens drei Zeichen erscheinen Titelvorschlaege fuer passende Communities im aktuellen Filterkontext — keine Mitgliedersuche oder Personen-Treffer), Stadt (Kombi-Feld mit Städten, die mindestens eine öffentliche Primär-Community haben — nicht identisch mit dem Orte-Filter, der Städte mit Orten listet; erste Schnellwahl „nur deutschlandweit ausgewiesen“, sonst Stadtsuche — bei mindestens drei Buchstaben zusaetzlich Treffervorschauen aus der Stadtnamenliste; keine separate Schnellwahl „alle oeffentlichen ohne Stadtfilter“ im Kombifeld), Thema (theme, inkl. „alle“; das frühere Thema „Stadt & Lokal“ entfällt — vergleichbare Schwerpunkte unter „Leben in Deutschland“), Sortierung (sort, u. a. newest, oldest, title_de, title_tr), optional Reichweite (scope=nationwide, wenn keine Stadt gewaehlt). Eingeloggt mit gefolgten Staedten: unter der Filterkarte eine Staedte-Rail (Klick setzt Stadt-Filter und ?city=<slug>). Sind Filter aktiv (von den Vorauswahl-Defaults abweichend), erscheinen darunter Aktive Filter als zusammenfassende Chip-Leiste mit Alle zuruecksetzen. Danach öffentlich gelistete Communities (gefiltert) mit Listen- oder Kachelansicht (Standard: Liste; Kacheln ueber layout=grid in der URL wie bei Orte/Events); die Karten zeigen bei einer nach Freigabe verbundenen Community ein Coverbild (wenn vorhanden und technisch nutzbar), sonst themengebundene Platzhaltergrafiken in Community-Blau (analog zu Platzhaltern bei Orten/Events); samt Pagination ueber page (Offset; URL spiegelt die Auswahl wider). Beitrittsmodus und Sichtbarkeit sind getrennt: Öffentlich gelistet heisst, die Seite ist auffindbar — Beitritt auf Anfrage (Badge „Beitritt auf Anfrage“ oben rechts auf dem Cover, Meta-Zeile „Beitritt: Team-Freigabe“) bedeutet nur, dass das Team freigibt, nicht dass die Community unsichtbar ist. Direkter Beitritt wird als „Beitritt: direkt“ gekennzeichnet. Bist du bereits Mitglied, erscheint oben links Mitglied bzw. bei ausstehender Freigabe Anfrage ausstehend. Veranstaltungs-/Treffer-Hinweise in der Discovery sind kompakt — bei fehlenden Daten kurzer Empty-State, kein großflächiger Demo-Block unter der Liste wie früher möglich; verknuepfte oeffentliche Events bleiben zusätzlich unter Events erreichbar.

Live-Daten vs. Demo: Wenn das Server-Gate fuer Community-DB-Queries aktiv ist (COMMUNITIES_SERVER_QUERIES_ENABLED; siehe Betriebsdoku), kommen Listen und Treffer aus der Datenbank. Ist das Gate aus, zeigt die Oberflaeche Demo-Fallback (Beispielkarten — keine echten Mitgliedschaften).

Home (/home): Unter Entdecken zeigt die Community-Kurzliste „Communities für dich“ öffentliche Gruppen mit lokalem Schwerpunkt in deinen Städten (gefolgte Städte bzw. Profilstadt) plus bundesweite Communities, in denen du ACTIVE-Mitglied bist — jeweils gefiltert nach deinen Community-Themen (Mitgliedschaft umgeht Themen-Filter), neueste zuerst. In „Neu in deinen Städten“ erscheinen zusätzlich kürzlich veröffentlichte bundesweite Communities (14-Tage-Fenster, Theme/Engagement wie oben). Die Übersicht /de/communities verhält sich für eingeloggte Nutzer:innen bei erstem Aufruf wie Orte/Events (Profilstadt in der URL), sofern nicht scope=nationwide gesetzt ist. In der Stadt-Auswahl gibt es „nur deutschlandweit ausgewiesen“ zusätzlich zur Stadtsuche — nicht die frühere Schnellwahl „alle oeffentlichen ohne Stadtfilter“. Ohne Session wird die Communities-Übersicht nicht geladen; die App leitet dich auf /de/auth/signin (Parameter next mit Ziel incl. etwaiger Suchparameter) weiter — wie bei anderen geschützten Bereichen der Web-App. Nur echte Live-Kacheln mit aktivem Server-Gate und Treffern; ohne passende Daten einen neutralen Hinweis und Link zur Übersicht — keine Demo-Personen, keine Demo-Treffen und keine Beispiel-Community-Events auf der Startseite.

Referenz-URL /de/communities/neu-in-berlin: wie die Live‑Detail‑URL ebenfalls nur nach Anmeldung erreichbar — Orientierungs-Beispieldetail ohne Datenbank‑Datensatz (ein kurzer Textblock, dass es sich um Demonstration der Seitenform handelt; keine Demo-Mitglieder, keinen Demo-Chat, keine Aktivitäts- oder RSVP-Sektion); „Zur Übersicht“ und optional „Community vorschlagen“ sowie SafetyNotice. Nachrichten (/messages) ist dort nicht verknüpft.

Layout Community-Detail: Hero-Banner wie bei Ort-/Event-Detail (Community-Farben): bei einer freigegebenen Community kann dieses Feld ein Coverbild nutzen, andernfalls weiter ein Theme-/Platzhalter-Visual — ohne Karte unter dem Bild. Unter Titel und Mitgliedszahl nennt eine Meta-Zeile den Beitrittsmodus („Beitritt: direkt“ vs. „Beitritt: Team-Freigabe“). Bei Live-Communities liegen in der Pill am unteren Bildrand Teilen, optional Community-Chat (nur für aktive Mitglieder unter technischen Voraussetzungen) und „Community beitreten“ bzw. „Beitritt anfragen“ für nicht aktive Mitgliederohne Shortcut „Alle Communities“ in dieser Pill; nach aktiver Mitgliedschaft erscheint der Beitreten-Schritt hier nicht mehr (Mitgliedschaft beenden bleibt wie bisher in der Sidebar). Darunter zweispaltig Orientierung, „Was diese Seite bietet“ (kurze Blöcke/Chips ohne Social-Meta), dazwischen gebündelt ein ruhiger Block „So kannst du dich beteiligen“ (Mitgliedschaft, Hinweise zu Vorschlag und kuratierten In‑App‑Mitteilungen mit Verweis auf /profile, Teilen und Melden — ohne neue Social‑Funktionen), kuratierte Orte und Events wenn verknüpft — insgesamt ruhiges Erscheinungsbild ohne Forum/Beliebtheit. Die Seite gehört zur geschützten Community-Oberfläche: ohne merhabamap-Anmeldung erfolgt zuerst Redirect zur Anmeldeseite (wie bei /de/communities). Bei der Referenz neu-in-berlin: die Pill enthält (ohne echte Datenbank‑Community) nur Teilen; Hinweistext und CTAs (Zur Übersicht, Community vorschlagen) stehen unter dem Hero — keine thematische Demo-Reihe und kein /messages.

Community vorschlagen erreichst du ueber den Outline-Button oder das Plus-Menue; die Route /de/communities/suggest (bzw. /tr/…) ist review-first: ohne Anmeldung leitet die App auf /de/auth/signin mit next zur Vorschlags-URL weiter; nach der Anmeldung sendest du Titel/Beschreibung DE/TR, Themen, Schwerpunktstadt (Kombifeld wie bei Ort-/Event-Vorschlaegen: tippen, aus Stammdaten waehlen) oder bundesweit sowie die Einwilligung — bitte datensparsam formulieren; die Texte koennen nach Freigabe oeffentlich sichtbar sein. Ein Coverbild ist optional: Du kannst den Vorschlag ohne Bild einreichen. Wenn du (sofern in der Umgebung aktiviert) ein Bild anhaengst, durchlaueft es eine technische und inhaltliche Vorpruefung — es besteht kein Anspruch auf Annahme; bei Ablehnung oder ungueltiger Datei bleibt der Textvorschlag erhalten ohne Bild. Nach Freigabe durch das Team kann dieses Bild — wenn technisch vorhanden und oeffentlich anzeigbar — als ein Community-Cover auf der oeffentlichen Uebersicht und der Detailseite erscheinen (sonst Theme-Platzhalter); keine Garantie fuer bestimmte Motive und keine Ermutigung, sichtbare Personen- oder sensible Aufnahmen hochzuladen. Ohne Freigabe entsteht keine oeffentliche Community-Seite; nach dem Absenden eine ruhige Bestaetigung mit Hinweis auf die Pruefung. Nach Freigabe kann ein oeffentliches, kuratiertes Orientierungsprofil in der Uebersicht erscheinen — kein Gruppenchat, kein oeffentlicher Community-Feed, keine oeffentliche Mitgliederliste als Produktflaeche.

Profil: Deine Communities (nur fuer dich)

Auf /de/profile im Bereich Uebersicht (nach Meine Staedte, vor den Schnelllinks zu Orte/Events/Favoriten/Sammlungen) erscheint die Karte Meine Communitiesnur deine Mitgliedschaften, ohne Namen anderer Mitglieder. Communities V1.9.1 / V1.9.2: pro Zeile legst du fest, ob du In-App-Mitteilungen erhalten willst, wenn die Moderation dieser Community einen neu öffentlich verknüpften kuratierten Ort oder Event ergänzt — Standard an (abschaltbar); der Schalter erscheint nur hier, nicht unter /user/…. Zusätzlich musst du unter Mitteilungen die passenden globalen In-App-Kanäle nicht abgeschaltet haben; es gibt keine E-Mail und kein Push zu diesem Hinweis in V1.9.2. Keine Mitteilungen zu anderen Mitgliedern oder zu allgemeiner Community-Aktivität — nur zu neu kuratierten Verknüpfungen wie beschrieben (Review-Ergebnisse zu eigenen Ort-/Event-Einreichungen, Claims, Link-Vorschlägen und Community-Beitritten laufen über separate Mitteilungs-Kanäle unter Profil → Mitteilungen). Hinweis: Die Cookie-/Analytics-Einwilligung mm_consent (Consent-Banner) steuert diese Einstellung nicht — sie liegt im Konto auf der Mitgliedschaftszeile (siehe consent-management.md, Abgrenzung V1.9.x). In der Profil-Statistikzeile zaehlt der Wert Communities nur aktive Mitgliedschaften. Oeffentlich gelistete Eintraege verlinken auf /de/communities/{slug}. Ist eine Community delisted (nicht oeffentlich), siehst du einen Hinweis statt Link; du bleibst Mitglied, die oeffentliche Detailseite ist dann nicht auffindbar (fuer Gaeste entspricht das einem 404). Auf fremden /de/user/{username}-Seiten gilt die gleiche Community-Liste nicht automatisch: dort nur gemäss Profilsichtbarkeit und „Communities“-Schalter — siehe nächster Absatz (keine delisted-Zeilen, keine Rollen/joinedAt/Mitgliederstatus für Besucher).

Direkt darunter auf /profile im Bereich Einreichungen (#submissions, eigener Nav-Eintrag in Konto & Einstellungen): fünf private Karten — Ort-Vorschläge, Event-Vorschläge, Community-Vorschläge (via /communities/suggest), Verknüpfungsvorschläge (eigene Orts-/Event-Link-Vorschläge aus Communities) und Mitwirkungsanfragen. Alle gelten nur für dein Konto (kein öffentliches Nutzerprofil, keine Zuordnung zu den „Sichtbaren Profilbereichen“). Bei Freigabe/Ablehnung von Ort-/Event-Einreichungen, Claims, Business-Posts, Link-Vorschlägen oder Community-Beitritten kannst du neutrale In-App-Mitteilungen (Postfach + Mobile-Alert, optional Push) erhalten — ohne Moderationsgrund; Kanäle unter Profil → Mitteilungen abschaltbar. E-Mail bleibt parallel, wo bereits implementiert. Es gibt keine öffentliche Vorschlagsliste für andere Nutzer:innen und keine Kommentar‑, Upvote‑ oder Counter‑Zeile. Status‑Labels bei Verknüpfungs- und Community-Vorschlägen u. a.: „Eingegangen“, „Übernommen“ / „Veröffentlicht“, „Nicht übernommen“ (REJECTEDohne öffentliche Moderations-Begründung im Profil, ohne Einspruchs- oder Chat-Dialog). Verlinkungen zu Community‑Detail, Ort‑ oder Event‑Seite nur bei öffentlich gelisteten Zielen; bei delisted oder sonst nicht gelisteten Zielen ein stiller Hinweis statt klickbarem Link. Nutzer:in B sieht Nutzer:in As Einreichungslisten nicht (/profile gilt immer nur dem eigenen Account).

Sichtbare Profilbereiche (Feinschalter, Web): Unter Konto & Einstellungen → Profil & Inhalte legst du fest, welche Bereiche andere auf /de/user/{username} im erweiterten Profil sehen (u. a. gespeicherte Orte, Events, Sammlungen, Follower-/Folgt-Zahlen und -Listen, Communities, „Aktivitäten & Beiträge“). Die Kurzbeschreibung (Bio) erscheint bereits im Kurzprofil (neben Name und Bild); die Schalter gelten für die weiteren Karten. Die UI-Bezeichnung entspricht etwa „sichtbare Profilbereiche“.

  • Öffentliches Profil: gilt für alle Besucher — es werden nur aktivierte Bereiche gezeigt (nicht „alles automatisch sichtbar“, nur weil das Profil PUBLIC ist).
  • Privates Profil: Fremde ohne genehmigtes Folgen sehen nur das Minimalprofil; genehmigte Follower sehen nur aktivierte Bereiche.
  • Während das Profil privat ist: sind die Feinschalter deaktiviert (ausgegraut), aber die gespeicherten Ein/Aus-Werte bleiben — sie werden wieder relevant, sobald du wieder auf Öffentlich stellst oder für Follower Bereiche sichtbar werden.
  • Wechsel Privat → Öffentlich: Wenn beim Umschalten alle Bereiche aus waren und du die Schalter noch nicht in dieser Sitzung angepasst hast, werden sie zunächst alle aktiviert; anschließende individuelle Auswahl wird beim Speichern übernommen.

Unterseiten /followers und /following sind nur erreichbar, wenn der jeweilige Bereich sichtbar sein darf (Owner immer; sonst dieselben Regeln wie oben inkl. Flags) — sonst 404 (keine Deep-Link-Leaks). Deine Seite /de/profile bleibt für dich eigenständig. Als Inhaber:in bleibt dein /de/user/{deinUsername} voll darstellbar (im Rahmen der App). „Aktivitäten & Beiträge“ umfasst sowohl die Aktivitätsliste (falls vorhanden) als auch Zähler und Listen zu eingereichten Orten und Events — es gibt keinen separaten „Contributions“-Schalter. Hinweis (Aktivitätstexte): Betrachtest du ein fremdes öffentliches Profil, sind die Einträge unter „Letzte Aktivität“ aus Sicht des Profilinhabers formuliert (ohne irreführendes „Du“ bzw. türkische „sen“-Anrede für dich als Besucher:in); auf deinem eigenen /user/{username} bleiben passende Formulierungen in der zweiten Person (z. B. nach Stadt-Follow).

Architektur-/Detail-SoT: docs/architecture/profile-visibility-web-current-state.md.

Community-Detail (Live): Beitreten und Verlassen

Auf Detailseiten aus der Datenbank (öffentliche Community nach Slug — nicht die Demo-URL neu-in-berlin) können eingeloggte Nutzer:innen einer Community beitreten oder sie verlassen.

  • Nur eingeloggte Besucher:innen: Community-Detail erreichst du nur nach Anmeldung auf MerhabaMap (ohne Session zuerst Anmeldung mit next); damit gibt es hier keine „Hero-Verschleierung für Gäste“ mehr wie noch bei älterem Stand — die Seite entspricht vollständig der angemeldeten Ansicht aus Sicht Zugriffssteuerung. Beitreten bzw. Verlassen findest du in der rechten Spalte unter der kleinen Überschrift „Mitgliedschaft“ (statt früher unter „Status & Sicherheit“); das „Community beitreten“ in der Hero‑Pill ist mit derselben Community‑Blau-Akzentsprache geführt wie andere Community-Primäraktionen. Am Seitenende im gemeinsamen, aufklappbaren Bereich „Regeln, Mitmachen & Melden“ stehen zuerst die Regeln/Sicherheitshinweise; darunter wählst du per Reitern (pillförmig wie bei Ort-Detail Melden/Beanspruchen) „Mitmachen“ oder „Melden“Mitwirkung und Meldeformular sind nicht gleichzeitig sichtbar.
  • Einordnung („Mitgliedschaft“): Kurzer Text und Beitreten/Verlassen; darunter optional ein Auszug aktiver Mitglieder als Avatare (nur Stichprobe). Details zu Avataren und Zählung kannst du in der aufklappbaren Zeile unter dem Block lesen. Öffentliche Profile sind für alle sichtbar; private Profile sind für dich unsichtbar, ausser du folgst ihnen auf MerhabaMap (wie bei Event‑„Dabei“/„Interessiert“); du selbst siehst deinen Avatar immer.
  • Hinweis unter der Schaltfläche (Privacy/Erwartung): Die öffentliche Detailseite zeigt keine vollständige Mitgliederliste; es gibt aber einen Auszug mit gleicher Privatsphäre wie bei Event‑Teilnahmen. Ob du selbst mit Zugehörigkeit noch auf anderen Profilseiten auftauchst, hängt von Profil-Sichtbarkeit und dem Bereich „Communities“ ab. Der Beitritt startet weiterhin keinen automatischen Feed.
  • Nur Zugehörigkeit: Beitreten/Verlassen ändert nur deine Community-Mitgliedschaftkeinen gruppenweiten Umfrage-/Kalender-Feed in dieser Version (vergleiche den Tab „Beiträge“ unten).
  • Karten‑Bereich (Mobile): Unter dem Hero kann die Karte zunächst eingeklappt sein — mit „Karte anzeigen“ einblenden; ab mittlerer Viewport‑Breite bleibt sie ohne Umschalten sichtbar.
  • Tabs: Angemeldete Nutzer:innen ohne ACTIVE-Mitgliedschaft sehen „Überblick“ und „Orte & Events“ (in dieser Reihenfolge); aktive Mitglieder (ACTIVE) sehen zusätzlich „Beiträge“ — Reihenfolge der Tabs: „Überblick“, „Beiträge“, „Orte & Events“. Standard-Tab: „Überblick“. Mitmachen (Status, Team-Anfragen, Kurzhinweise) und das Meldeformular stecken nicht in den Haupt-Tabs der Seite, sondern am Seitenende im aufklappbaren Block „Regeln, Mitmachen & Melden“: dort oben die Regeln, dann die Reiter Mitmachen / Melden (orientiert am Ort-Detail-Utility). Im Tab „Beiträge“ können aktive Mitglieder kurze Beiträge veröffentlichen (analog zu Beiträgen auf Event‑Detailseiten); Beiträge von MerhabaMap-Administration/Moderation und Community-Team (Owner/Moderator:innen) sind mit einem Kennzeichen versehen. Kommentare pro Beitrag sind möglich (eingeloggt); Nutzer:innen ohne ACTIVE-Mitgliedschaft sehen den Tab „Beiträge“ nicht. Ein Community-Chat (falls in der Hero-Pill angeboten) ist ein anderer Bereich als diese Beiträge.
  • Community-gebundenes Event (Detail-Einstieg): Aktive Mitglieder können im Tab „Orte & Events“ über „Event einreichen“ einen neuen Termin für diese Community starten (URL /submit/event?community=<slug>). Owner oder Moderator sehen ausstehende Vorschläge im Bereich „Ausstehende Community-Events“ und können dort Freigeben (öffentliches Event und Verknüpfung auf dieser Seite in einem Schritt) oder Ablehnen wählen — ohne den früheren zweiten Schritt „öffentliches Event per Slug zur Community melden“. Öffentliche Orte/Events per Slug vorschlagen (Formular weiter unten auf derselben Registerkarte) bleibt unverändert und betrifft bestehende, bereits veröffentlichte Einträge; der verkürzte Ablauf gilt nur für neu eingereichte Events aus diesem Community-Kontext.
  • Mitglied‑Vorschlag Ort/Event (V1.7):
    • Wer darf das? Nur aktive Mitgliedschaft (ACTIVE) auf dieser Community. Ohne Mitgliedschaft gibt es hier keinen erfolgreichen Einreichspfad — es erscheint ein erklärender Hinweis.
    • Wo? Im Tab „Orte & Events“ unter den kuratierten Listen und dem Vorschlagsformular (/de/communities/{slug} bzw. /tr/…; nicht die Demonstrations‑URL ohne Datensatz).
    • Slug verwenden: Trage den Slug eines bereits öffentlichen Ortes oder Events ein — denselben, der in /de/places/{slug} bzw. /de/events/{slug} in der Adresse steht (keine freie Website‑URL zum Parsen).
    • Grund kurz halten: Das Feld „Grund“ ist optional, aber wenn du Text eintraegst (max. ca. 300 Zeichen nach Trim), gilt: kurz und sachlich — der Moderation und dem Team beim Entscheiden; nicht als öffentlicher Beitrag auf der Community-Seite (keine Kommentarspalte unter dem Link).
    • Nicht öffentlich für andere: Wo die App „Vorschlags“‑Sprache nutzt, meint sie „an das Team geschickt“ — andere Besucher:innen oder Mitglieder sehen keine Liste oder Zähler ausstehender Vorschläge.
    • Was passiert später? — Review deines Mitglied‑Vorschlags: Nach Annahme oder Ablehnung kannst du eine neutrale In-App-Mitteilung im Postfach und (Mobile) eine Alert-Karte erhalten — ohne Moderationsgrund im Text. Zusätzlich optional Push; E-Mail nur, wenn das Team sie separat auslöst. Den Status siehst du weiter unter /profile#submissions (Verknüpfungsvorschläge). Das ist getrennt von Communities V1.9.2:
    • Neu eingetragene kuratierte Orte/Events (nach V1.9.2, optional für Mitglieder): Aktive Mitgliedschaften können unter „Meine Communities“ und den Mitteilungen so eingestellt sein, dass systemische In‑App‑Hinweise erscheinen, wenn die Moderation einen neu auf der öffentlichen Seite verknüpften Ort oder Event ergänzt. Diese Hinweise betreffen alle Mitglieder der Community — nicht dieselbe Mitteilung wie das persönliche Review-Ergebnis deines Vorschlags.
    • Übernehmen ohne Versprechen: Das Team kann verknüpfte Einträge im Tab „Orte & Events“ pflegen — ohne Produkt‑Versprechen zu Bearbeitungsdauer oder garantierter Übernahme jedes Mitglied‑Hinweises.
  • Mitwirkungsanfrage ans Team (V2.0.1 — kompakte Team‑Nachricht):
    • Wer darf das? Nur aktive Mitgliedschaft (ACTIVE) in der öffentlich gelisteten Community auf derselben Detailseite. Gäste sowie NONE/LEFT/PENDING/BANNED sehen kein Eingabeformular — stattdessen einen kurzen Hinweis.
    • Wo? Im aufklappbaren Bereich „Regeln, Mitmachen & Melden“ am Seitenende (Mitwirkungshinweise und Team-Anfrage im Reiter „Mitmachen“; Meldeformular im Reiter „Melden“) — nicht ausschließlich im Meldeformular-Abschnitt.
    • Ablauf: Typ wählen, Nachricht eingeben (max. 500 Zeichen; bitte datensparsam formulieren — keine sensiblen oder privaten Kontaktdaten); keine Dateianhänge, keine zusätzlichen Kontaktfelder. Die Anfrage wird intern geprüft; eine persönliche Antwort ist nicht zugesagt. Keine E-Mail oder Push durch dieses Produktstück; andere Nutzer sehen keine Liste deiner Anfragen auf der Community‑Seite.
    • Eigene Übersicht nur auf /profile#submissions (V2.0.2 / V2.2.3): Unter Mitwirkungsanfragen (Einreichungen-Tab; Änderungen dort nicht möglich außer der einmaligen Rückfrage-Antwort unten) siehst du die letzten eigenen Einträge mit Status — ohne öffentliche Sichtbarkeit, nicht auf /user/{username}, nicht auf der Community‑Detailseite. V2.2.3: Wenn das Team dir eine einmalige Rückmeldung speichert, erscheint der Text hier privat unter „Antwort vom Team“kein Chat, keine Namensnennung eines Bearbeiters. V2.3.3: Wenn das Team eine Rückfrage gespeichert hat, siehst du „Rückfrage vom Team“ und kannst einmal (10–500 Zeichen) unter „Deine Antwort“ antworten, sofern die Community öffentlich gelistet ist und du ACTIVE-Mitglied bist — kein Thread, kein weiterer Beitrag nach dem Absenden; keine In-App-/Toast-/E-Mail-/Push-Benachrichtigung für den Absende-Schritt deiner Antwort. V2.3.4b: Speichert das Team die Rückfrage zum ersten Mal, kannst du einen neutralen Hinweis im Mitteilungen-Postfach und als Web-Toast erhalten (Kanal Mitwirkungs-Rückfrage), ohne Klartext der Frage in der Mitteilung — keine E‑Mail, kein Push; Edit der Rückfrage keine zweite Mitteilung. V2.2.4b: Optional In-App-Eintrag im Postfach und Web-Toast bei erster gespeicherter Team-Antwort (neutraler Hinweis; In-App-/Toast-Kanal in den Mitteilungs-Einstellungen abschaltbar) — keine E‑Mail, kein Mobile-Push für dieses Ereignis. Siehe Einleitungstexte auf /profile. Ohne gespeicherte Team‑Antwort gibt es nur deine eigene Nachricht und den Status zur Orientierung (wie bei „Meine Community‑Vorschläge“ ohne Thread).
  • Kuratierte Orte und Events (Empty-State): Wenn noch keine von der Moderation verknüpften öffentlichen Orte oder Events angezeigt werden, erklärt der Hinweistext das neutral; zwei gleichwertige Outline-Buttons führen zur Event-Übersicht und Ort-Übersicht (/events bzw. /places, mit Locale-Prefix), ohne Aktivitätsversprechen für die Community.
  • Rolle Inhaber:in (OWNER): Mit dieser Rolle kannst du die Community nicht per „Verlassen“ aufgeben (Schutz der Verwaltungszuordnung).
  • Gesperrt oder ausstehend: Bist du für diese Community BANNED oder ist eine Mitgliedschaft noch PENDING, kannst du nicht beitreten (Join wird abgewiesen). Owner/Moderator:innen sehen ausstehende Beitrittsanfragen in der Sidebar-Queue und können annehmen oder ablehnen; bei neuer Anfrage kann eine In-App-Mitteilung erscheinen (Kanal unter Profil → Mitteilungen abschaltbar, keine E-Mail).
  • Community melden: Am Seitenende öffnest du „Regeln, Mitmachen & Melden“ — dort findest du u. a. das Meldeformular (Community-spezifische Gründe; optionaler Text). Ohne Anmeldung fuehrt der Pfad zur Anmeldung und danach zurueck. Meldungen sind nicht oeffentlich sichtbar und fuehren nicht automatisch dazu, dass die Seite unsichtbar wird — das Team prueft den Fall.
  • Regeln & Sicherheit (Safety-Notice): Ebenfalls im Bereich „Regeln, Mitmachen & Melden“ am Seitenende — ein kurzer, sachlicher Hinweis zum Rahmen; keine Namensliste der Mitglieder, nur aggregierte Zahl im Hero bzw. im Hinweis — kein Rechts- oder DSGVO-Marketingversprechen, kein Fear-Messaging.

Mobile-App Auth-Verhalten (Capacitor-Native, Phase 5c–5p)

Die installierte iPhone-/Android-App verhaelt sich beim Sign-In/Sign-Out auf zwei Punkten anders als der Mobile-Browser auf int.merhabamap.com:

  • Auth-First-Start. Beim ersten App-Start oder nach Logout landest du direkt auf /de/auth/signin (oder /tr/auth/signin), nicht auf der oeffentlichen Landing-Page. Die App ist als „eingeloggt nutzen" konzipiert; oeffentliche Discovery (Karte, Orte, Events) ist im Capacitor-Wrap nicht der Default-Einstieg.
  • Nativer „Mit Google fortfahren" / „Mit Apple fortfahren" (Phase 5n). In der Capacitor-iOS-App oeffnet der Tap auf Google/Apple das System- Sign-In-Sheet (Apple-System-Sheet mit Face ID/Touch ID, Google-Account- Picker via GoogleSignIn-SDK) innerhalb der App. Kein Wechsel zu Safari, kein Cookie-Sprung zwischen Browsern, keine „Login fehlgeschlagen, obwohl alles geklappt hat"-Falle aus den frueheren Versionen. Der Mobile- Browser auf int.merhabamap.com nutzt weiterhin den klassischen Web- OAuth-Redirect ueber Supabase.
  • Mit E-Mail fortfahren / Magic-Link. Funktioniert in beiden Wegen identisch: Adresse eingeben, Mail abwarten, Link tappen. In der App oeffnet der Magic-Link-Tap die App direkt (Universal-Link via AASA), statt einen externen Browser zu starten — du bist nach dem Tap im selben WebView-Kontext angemeldet.
  • Logout aus dem Drawer (Phase 5o) bringt dich in der App direkt zurueck zum Sign-In-Screen (/auth/signin?loggedOut=1), nicht zur oeffentlichen Locale-Home-Page wie im Desktop-Browser. Toast „Abgemeldet" erscheint einmalig.
  • Einladungs-Code (geschlossener Rollout, optional). Auf int.merhabamap.com und für MerhabaMap in der App (TestFlight/Play geschlossene Tests) ist keine Einladungscode-Eingabe vorgesehen — du gelangst direkt zur Anmeldung. Operativ: Invite-Gate lässt sich nur noch mit AUTH_SIGNUP_INVITE_GATE=force (o. Ä.) zusammen mit AUTH_SIGNUP_INVITE_CODES aktivieren. Defense in depth: Auf nativen Capacitor-Builds bleibt ein Client-Bypass im Gate-Component aktiv, falls der Server je versehentlich inviteRequired=true ausliefert.

Die Auth-Page selbst ist auf der App card-less auf dem grauen bg-muted-Hintergrund (Phase 5l/5p, mit nahtlosen Safe-Area-Streifen oben/unten — keine sichtbare „weiße Bar" ueber der iOS-Status-Bar oder unter dem Home-Indicator). Layout: schmale Kopfzeile nur mit Sprachumschalter rechts; darunter zentriert Logo und Wortmarke (englischer Originaltext); darunter das Anmeldeformular. Auf schmalen Mobile-Browser-Viewports gleicher Shell wie in der App — Desktop mit voller Breite zeigt das gewohnte Card-Design unter dem Site-Header.

Routen-Tabelle

SeiteRouteBeschreibung
Start (Marketing)/deÖffentliche Einstiegsseite: Hero + Anmelde-Karte (ein CTA /de/auth/signin), Teaser Orte/Events/Communities/Karte; Header nur Logo + Sprache; Mobile ohne untere Tab-Leiste; darunter Vertrauen. Produkt-Routen erfordern Session (Middleware → /de/auth/signin?next=…).
Home/de/homeBegruessung und Beitrag-erstellen-Einstieg; darunter Tabs Entdecken (Standard — Orte/Events/Communities nach Interessen aus Einstellungen) und Social (?tab=social — lokaler Deine-Städte-Block über Feed V2 aus dem Folge-Netzwerk). Nur mit Session. Alte Links ?view=cities oeffnen weiter Social.
Feed (Redirect)/de/feedServer-Redirect auf /de/home (?tab=discovery; früher ?mode=local?tab=social). Nur für alte Lesezeichen/Deep Links — keine eigene Feed-Seite mehr.
Communities/de/communitiesOeffentliche Community-Orientierung: Profile nach Stadt, Thema und Reichweite filtern; eingeloggt erste Ansicht wie Orte/Events mit Profilstadt in der URL (ohne city und ohne scope=nationwide). V1 ohne vollstaendige Mitgliederlisten auf der Uebersicht, kein Gruppenchat auf der oeffentlichen Oberflaeche; Mitglieder-Posts auf der Detailseite im Tab „Beiträge“. Nur mit Session.
Places/de/placesAlle oeffentlichen Orte durchsuchen (nur mit Session).
Events/de/eventsAlle oeffentlichen Events durchsuchen (nur mit Session).
Karte/de/mapOrte auf der Karte entdecken (nur mit Session).
Staedte/de/citiesUebersicht der deutschen Staedte mit Ort- und Event-Zahlen; Klick auf eine Kachel fuehrt auf /de/cities/{slug} (nur mit Session).
Suche/de/searchOrte und Events suchen (nur mit Session).
Nachrichten/de/messages (Web) / Inbox-Icon (Mobile)DM-Inbox und Gruppen-/Event-Chats; Mobile zeigt beide Listen mit Tab-Switcher (Direkt/Gruppen, je eigener Unread-Badge) und unterstützt Senden inkl. Bild-Anhang in beiden Chat-Typen
Benachrichtigungen/de/notificationsFollows, Kommentare, hilfreich-Markierungen, Listeneinladungen, Gruppen
Konto & Einstellungen/de/profileProfil, Mitteilungen, Privatsphaere, Sicherheit, Anfragen, Kontodaten (Bereiche in der Seitenleiste bzw. Mobil-Auswahl)

4. Typische Ablaeufe

Home / personalisierte Discovery nutzen

  1. Melde dich an, falls noch nicht geschehen (Deep Link /de/home leitet sonst zur Anmeldung mit next).
  2. Oeffne /de/home (Desktop: Menuepunkt Home; Mobile: erster Bottom-Tab). Beim ersten manuellen Besuch (nicht unmittelbar nach Onboarding mit Willkommens-Toast) richtest du zuerst Interessen ein (Orte, Events, Community-Themen — je mindestens eine Auswahl, sinnvolle Vorschläge sind vorausgewählt; pro Bereich Alles auswählen möglich). Mit Home einrichten wird die Auswahl gespeichert; der Feed erscheint danach.
  3. Oben: persoenliche Begruessung und ein gemeinsamer Einstieg zum Beitrag erstellen; darunter wechselst du zwischen Entdecken und Social (?tab=social).
  4. Entdecken: modular zusammengesetzte Uebersicht (gefiltert nach Interessen): Redaktion, Business-Posts, Heute-los, Nutzer-Beitraege, Communities-Stichprobe, Events, Orte, Neuigkeiten (keine Sammlungen). Social: zuerst Deine-Städte-Aktivitaeten (eigene Termine, Social-Signale, Sammlungen, Neuigkeiten — ohne Events/Orte), darunter Feed V2 aus dem Netzwerk. Frueher ?view=cities oeffnet Social.
  5. Alte Links /de/feed (z. B. Lesezeichen) leiten automatisch auf /de/home mit passendem Tab um.
  6. Klicke auf einen Eintrag, um zur Detailseite zu gelangen.

Ort entdecken und speichern

  1. Melde dich an (Listen-, Karten- und Detailrouten erfordern eine aktive Session).
  2. Oeffne /de/places oder nutze die Karte unter /de/map. Auf der Listenuebersicht gibt es keinen Outline-„Ort vorschlagen“-Button mehr im Kopf — Plus-Menü bzw. Route /submit/place bleiben. Die Filter wirken sofort ohne eigenen „Filtern“-Klick (Suche, Stadt, Kategorien, Sortierung); die Freitextsuche entprellt kurz wie auf /de/communities. Organische Reihenfolge: externe Bewertungen (z. B. Google) beeinflussen die Sortierung nicht — sie werden nur auf der Karte angezeigt. Bei ansonsten vergleichbaren Signalen koennen Orte von aktiven Business-PRO- bzw. Enterprise-Inhaber:innen leicht hoeher sortiert werden (kein bezahltes „Top-Ranking“; Hervorgehoben-Sektionen sind separat und redaktionell). Pro- bzw. Enterprise-Badges (Brand-Rot auf der Karte, getrennt vom violetten „Hervorgehoben“) zeigen kommerziellen Places mit aktivem Abo — reine Sichtbarkeit, kein Featured-Ersatz. Die Zeile Aktive Filter: erscheint, sobald mindestens ein solcher Chip noetig ist: X entfernt genau einen Eintrag, Alle loeschen setzt auf die Basis-URL zurueck (Kachelansicht: layout=grid bleibt erhalten).
  3. Klicke auf einen Ort
  4. Du landest auf /de/places/{slug}
  5. Auf der Detailseite kannst du (u. a. ueber die Tabs und die Seitenleiste):
    • Ohne Konto: Unter dem Titelbild erscheint eine verschleierte Karten-Vorschau (statisches Bild des Umfelds) und ein Anmelden-Hinweis; die interaktive Karte und Aktionen wie Speichern stehen nach der Anmeldung zur Verfuegung.
    • Speichern: Klicke auf das Herz-Symbol
    • Route: Klicke auf "Route" fuer Navigation
    • Teilen: Klicke auf "Teilen" — auf dem Handy oeffnet sich das System-Teilen-Sheet (z. B. Instagram-Story, WhatsApp, andere Apps), auf dem Desktop wird der Link sofort kopiert. Ueber den kleinen Pfeil-Knopf rechts daneben oeffnet sich ein Kanal-Menue mit Direkt-Buttons fuer WhatsApp, Telegram, X (Twitter), Facebook, E-Mail und Link kopieren sowie "Insta-Story-Bild herunterladen" (1080×1920-PNG mit Cover, Name, Stadt, Kategorie und QR-Code zum Hochladen als Instagram-Story)
    • Bildergalerie: Im Tab Bilder bzw. Vorschau im Ueberblick; Klick oeffnet eine Lightbox
    • Kommende Events: Im Tab Events, falls Events an diesem Ort stattfinden
    • Passende Communities: Im Ueberblick, wenn die Moderation den Ort mit oeffentlichen Communities verknuepft hat — Kurzliste mit Link zur Community-Detailseite, keine Mitgliederliste; ohne Verknuepfung erscheint die Sektion nicht
    • Community-Beitraege / Inhaber-Neuigkeiten: Im Tab Beitraege, sobald es freigegebene oeffentliche Beitraege gibt; ohne Beitraege erscheint der Tab nicht — auf dem Ueberblick gibt es dann einen Hinweis mit Link Beitrag erstellen
    • Aehnliche Orte: Im Tab Aehnliches
    • Kommentieren: Tab Gespraeche — Kommentarbereich, "Absenden"
    • Kommentar als hilfreich markieren: Daumen-hoch unter einem Kommentar (erneut klicken zum Entfernen)
    • Meine Listen (Collections): Im Ueberblick zweispaltig neben Gemeinschaft — gewuenschte Liste aktivieren (eigene oder geteilte Listen, in denen du Bearbeiter bist). Beim Aktivieren wird der Ort automatisch in deinen Meine Favoriten · Orte-Bereich uebernommen. Place-Listen-Toggles nutzen das Brand-Rot.
    • Von mir: Kurzuebersicht deiner Beitraege und Kommentare zu diesem Ort (Zahlen und ggf. letzte Eintraege)

Event finden und teilnehmen

  1. Oeffne /de/events oder finde ein Event im Feed
    • Auf der Listenuebersicht gibt es keinen Outline-„Event vorschlagen“-Button mehr im Kopf — Plus-Menü bzw. /submit/event bleiben.
    • Filter (Kopfzeile): Stadt als durchsuchbare Combobox wie auf /de/places — alle in der Datenbank gefuehrten deutschen Staedte erscheinen in der Liste (auch ohne Events; dann liefert die Suche ggf. keine Treffer). Erste Option Alle Staedte (?city=all), danach Platz fuer eine einzelne Stadt (?city=<slug>). Kategorie, Zeitraum und Sortierung — optional kombinierbar; Anpassungen wirken sofort und der Freitext wird kurz entprellt wie auf /de/places. Bei gesetzten Filtern zeigt Aktive Filter: Chips mit X zum einzelnen Entfernen sowie Alle loeschen (Kachelansicht: layout=grid bleibt erhalten).
    • Achsen-Filter (Chip-Reihe darunter):
      • Preislogik (Mehrfachauswahl: Kostenfrei, Kostenpflichtig, Spendenbasiert) — Events ohne gepflegte Preisinfo werden ausgeblendet, sobald du diesen Filter aktiv setzt
    • Der frueher verfuegbare Zielgruppen-Filter (Familien, Studierende, Berufstätige, Kinder, Senior:innen) wurde entfernt
    • Filter landen sauber in der URL (z. B. ?pricing=FREE) und sind teilbar/bookmarkbar
    • Hervorgehobene Events (Phase 4): Ueber der Liste kann eine kleine Sektion „Hervorgehobene Events" mit maximal 1–2 Karten erscheinen. Diese sind durch ein violettes „Hervorgehoben"-Badge gekennzeichnet (auch auf der Detailseite sichtbar) und werden vom MerhabaMap-Team redaktionell ausgewaehlt — keine bezahlte Werbung, keine bevorzugte Sortierung im organischen Feed. Religioese Events sowie nicht-kommerzielle Veranstaltungen werden bewusst niemals hervorgehoben. Sobald du selbst Filter (Suche, Preislogik, Datum, Sortierung) setzt, wird die Sektion ausgeblendet, damit deine Auswahl nicht ueberlagert wird.
  2. Klicke auf das Event
  3. Du landest auf /de/events/{slug}
  4. Waehle "Interessiert" oder "Dabei" im Teilnahme-Bereich
  5. Optional: speichern, teilen oder kommentieren; unter den Aktionsbuttons: Freund:in einladen — Nutzername eingeben und Nachricht oeffnen (DM mit dieser Person), optional QR-Code zum Teilen der Event-Seite. Der Teilen-Button hat zusaetzlich einen Pfeil-Knopf rechts: dort findest du Direkt-Buttons fuer WhatsApp, Telegram, X, Facebook und E-Mail; bei Events und Orten gibt es zusaetzlich "Insta-Story-Bild herunterladen" — ein 1080×1920-PNG mit Cover, Titel, Datum/Kategorie und QR-Code, das du dann als Instagram-Story hochladen kannst
  6. Als Teilnehmer (Interessiert/Dabei): Klicke "Event-Chat beitreten", um dem Event-Gruppenchat beizutreten — Web leitet zu /de/messages/groups/{threadId}, Mobile zur nativen Route /groups/{threadId}
  7. Auf der Detailseite werden zusaetzlich angezeigt:
    • Bildergalerie: Weitere Bilder als scrollbare Thumbnails (falls vorhanden)
    • Venue-Link: Der Veranstaltungsort ist als klickbarer Link zur Ort-Detailseite dargestellt (falls verknuepft)
    • Passende Communities: Im Ueberblick, wenn die Moderation das Event mit oeffentlichen Communities verknuepft hat — Kurzliste mit Link, keine Mitgliederliste; ohne Verknuepfung erscheint die Sektion nicht
    • Community-Beitraege: Nutzer-Beitraege zu diesem Event
    • Meine Listen (Collections): Im Ueberblick zweispaltig neben Gemeinschaft — Event zu einer eigenen oder geteilten Liste hinzufuegen. Event-Listen-Toggles sind bewusst monochrom (schwarz/grau), damit der Event-Akzent nicht gestoert wird.
    • Teilnehmer-Avatare: Teilnehmer-/Interessenten-Liste zeigt Avatar und Name — bei privaten Profilen wie bei Instagram: sichtbar, wenn du dem User folgst, ansonsten anonym (Initialen/Icon). Dein eigener Avatar ist fuer dich selbst immer sichtbar.
    • Aehnliche Events: Am Seitenende werden verwandte Events (gleiche Kategorie, gleiche Stadt, kommende) vorgeschlagen

Suche nutzen

  1. Oeffne /de/search
  2. Gib einen Suchbegriff ein
  3. Optional: filtere nach Stadt
  4. Klicke auf ein Ergebnis, um zur Detailseite zu gelangen

Karte nutzen

  1. Oeffne /de/map. Nur auf der Deutschland-Karte (ohne ?city=…) fuellt die interaktive Karte den Bereich zwischen Kopf- und Fusszeile; das Feld „Stadt eingeben“ liegt als Overlay rechts oben auf der Karte. Unter der Deutschland-Karte gibt es keinen weiteren Hinweis-/Listenstreifen bis zum Seitenende (bzw. Footer). Mit ?city=… (Stadt-Karte): kein separater Hero — im Kartenkarteil oberhalb der Karte stehen Stadtname und „Stadt folgen“ (bzw. Anmeldehinweis/Entfolgen) nebeneinander, darunter der Link Zurück zur Deutschlandübersicht, dann Kurztext und Filter; die quadratische Karte hat dasselbe „Stadt eingeben“-Overlay rechts oben auf der Karte wie die Deutschlandansicht; die Trefferliste bleibt unter der Karte. Darunter (wie bei Orte/Events) folgen Ausgewählte Orte, Kommende Events und ein Raster öffentlicher Communities mit Primärstadt in dieser Stadt; der Link Alle Communities dieser Stadt oeffnet die Community-Discovery mit gesetztem Stadtfilter.
  2. Navigiere auf der Karte und zoome in deine Stadt
  3. Klicke auf einen Pin, um den Ort zu sehen
  4. Klicke auf den Ort-Namen, um zur Detailseite zu gelangen

Nachrichten senden (DM)

Web:

  1. Oeffne /de/messages
  2. Waehle einen bestehenden Chat oder starte einen neuen
  3. Du landest auf /de/messages/{username}. Auf Desktop-Web (Ansicht md und breiter): rechts neben Anzeigename und @Nutzername liegen Diesen Nutzer blockieren und Konversation melden (untereinander, rechtsbuendig); Klick oeffnet die bestehenden Zusammenklapp-Bereiche. Im schmalen Web-Viewport (< md, gleiches Raster wie Mobile-Shell): unterhalb der App-Kopfzeile zeigt eine klebrige Zeile links den Anzeigenamen und darunter @Nutzername, rechts Zuletzt aktiv (oder Online) sowie ein rundes „⋯"-Menue mit Nutzer blockieren, Konversation melden und Chat loeschen — „Chat loeschen“ blendet die Unterhaltung nur fuer dich aus der Nachrichtenliste aus; eine neue Nachricht kann sie wieder sichtbar machen.
  4. Schreibe eine Nachricht und sende sie. Standort teilen: Pin-Icon → Pin auf Karte setzen oder Aktuellen Standort; Standort senden oder Live-Standort; optional Adresse anzeigen; optional Treffpunkt in der Nähe. Bubble → /de/map/shared inkl. Route anzeigen und Genauigkeitskreis. Eigener Live-Standort: Live-Freigabe beenden. Fremde Standort-Nachricht: Long-Press → Standort melden. Live: Web nur Vordergrund; Native App auch im Hintergrund. Desktop-Web: Der Link Zur Nachrichtenliste unter dem Partnerkopf bleibt erhalten; Mobile-Shell (< md bzw. nativer Client) blendet ihn aus — Rueckweg ueber Wisch am linken Bildschirmrand (zur Inbox), das Nachrichten-Icon im App-Header oder die System-/Browser-Zurueck-Geste. Über das Foto-Symbol im Composer kannst du bis zu 5 Bilder pro Nachricht anhängen (JPG, PNG oder WEBP, je max. 5 MB). Ausgewählte Bilder erscheinen als Vorschau-Reihe oberhalb des Counters n/5 Bilder; jedes Bild lässt sich einzeln über das ✕-Badge wieder entfernen. Erreichst du das Limit, blendet ein Toast den Hinweis „Maximal 5 Bilder pro Nachricht" ein. Eine Caption ist optional. Bild in der Nachricht: Tippe auf ein gesendetes oder empfangenes Bild — es oeffnet sich Vollbild (bei mehreren Bildern in einer Nachricht per Pfeil wechseln). Oben rechts Speichern oeffnet das System-Teilen-Sheet (auf dem iPhone z. B. „Bild sichern"). Automatischer Link-Schutz: Enthält der Text typische Spam-Verdachtsmuster (z. B. bestimmte Kurzlinks, zu viele Links auf einmal oder harte Spam-Signalphrasen), lehnt der Server das Senden ab — ein Hinweis erscheint beim Composer; dasselbe gilt für Gruppen- und Community-Chats. Gelesen-Hinweis: Bei eigenen Nachrichten stehen Uhrzeit und zwei Häkchen unten rechts in der Blase — grau = gesendet, blau = gelesen (Partner hat den Chat geoeffnet). Long-Press / Rechtsklick auf eine Nachricht: Emoji-Reaktion oben, darunter Antworten, Kopieren und (nur eigene Nachrichten) Löschen. Antworten zeigt eine Vorschau-Leiste ueber dem Composer; Absenden haengt die Antwort an die Originalnachricht.
  5. Startet eine neue Unterhaltung nicht (z. B. wegen Blockierung oder weil die Gegenpartei Direktnachrichten in /de/profile unter Privatsphaere eingeschraenkt hat), erscheint ein Hinweis statt des Chats.

Mobile-App:

  1. Tippe in der Startansicht oben rechts auf das Briefumschlag-Symbol — du landest in der Inbox
  2. Du siehst alle Direkt-Konversationen mit Vorschau, Zeit und Ungelesen-Badge; ziehen zum Aktualisieren
  3. Tippe auf eine Zeile, um den Chat zu oeffnen — beim Oeffnen wird der Chat automatisch als gelesen markiert. Direkt unter der festen App-Kopfzeile zeigt die Ansicht eine klebrige Zeile: links Anzeigename und darunter @Nutzername, rechts Zuletzt aktiv (oder Online) und ein rundes „⋯"-Menue. Darin findest du Nutzer blockieren, Konversation melden und Chat loeschen (Konversation nur fuer dich aus der Inbox ausblenden — kann durch neue Nachrichten wieder erscheinen). Zur Inbox: Wisch am linken Bildschirmrand, Nachrichten-Icon im App-Header oder System-Zurueck — kein separater Textlink wie auf Desktop-Web.
  4. Schreibe deine Nachricht und tippe Senden; die Nachricht erscheint sofort in der Liste
  5. Bilder (Welle S.B + Multi-Image-Welle): Tippe links im Composer auf 📷, erlaube den Mediathek-Zugriff und wähle bis zu 5 Bilder gleichzeitig (JPG, PNG oder WEBP, je max. 5 MB). Jedes Bild erscheint als eigene Vorschau-Karte oberhalb des Composers, der Counter n/5 Bilder zeigt den aktuellen Stand; mit ✕ kannst du einzelne Bilder entfernen. Bei Limit-Überschreitung blendet ein Toast den Hinweis ein. Eine Caption ist optional. Gesendete/empfangene Bilder: Tippe auf ein Bild in der Nachricht fuer Vollbild; Speichern oben rechts oeffnet das iOS-Teilen-Sheet (z. B. in Fotos sichern).
  6. Eine neue Konversation startest du ueber das Profil der Person: Tippe auf /users/{username} und dann auf Nachricht — der Button erscheint nicht, wenn dich die Person blockiert hat oder umgekehrt. Wer Direktnachrichten in Konto & Einstellungen → Privatsphaere auf Follower oder Niemand begrenzt hat, sieht den Versuch mit einem Hinweis abgelehnt.
  7. Realtime im Vordergrund (Welle S.C.1): Solange Inbox oder Chat geoeffnet sind, erscheinen neue Nachrichten und Lesemarker live — ohne pull-to-refresh. Beim Wechsel zurueck in die App holt der Mobile-Client verpasste Nachrichten automatisch nach.
  8. Push-Benachrichtigungen im Hintergrund (Welle S.C.2): Sobald du nach dem ersten Sign-in „Mitteilungen erlauben" bestaetigt hast, bekommst du jede neue Direkt-Nachricht als OS-Push (iOS und Android). Tippst du auf die Benachrichtigung, oeffnet sich der entsprechende Chat-Thread direkt. Push-Benachrichtigungen folgen denselben Einstellungen wie deine In-App-Benachrichtigungen — Was du in Konto & Einstellungen → Benachrichtigungen ausschaltest, kommt auch nicht als Push. Bei Logout wird dein Push-Token serverseitig wieder entfernt.
  9. DM stummschalten (Welle T.C): In der Inbox die DM-Zeile nach links wischen und 🔕 Stumm tippen — diese DM sendet dann keine OS-Push mehr. Inbox-Badge und Web-Toast bleiben sichtbar, du verpasst also nichts beim aktiven Hinschauen. 🔔 Stumm aufheben ueber denselben Swipe-Pfad (oder den Header-Toggle im Chat-Detail) reaktiviert die Push.

Gruppen-Chat

Web:

  1. Oeffne /de/messages
  2. Erstelle eine neue Gruppe ueber den Gruppen-Bereich
  3. Du landest auf /de/messages/groups/{threadId}
  4. Mobil (Web-Shell): Fixe Infoleiste unter dem App-Header mit Gruppenname, Mitglieder- und Online-Anzahl; Tippen auf die Leiste klappt die Mitgliederliste auf (online = grüner Punkt). Tipp auf ein Mitglied fuegt @username in den Composer ein; Profil oeffnet das Nutzerprofil. Tipp ausserhalb schliesst die Liste. Rechts mit Gruppe verlassen und Gruppen-Mitglied blockieren. Composer unten ueber der Bottom-Navigation — wie im Direktchat
  5. Desktop: Titel, Link zur Inbox sowie Verlassen, Blockieren und Melden oben; Mitgliederliste rechts (breiter Viewport)
  6. Lade Teilnehmer ein und chatte. Long-Press / Rechtsklick auf eine Nachricht oeffnet Emoji-Reaktionen und ein Menue (Antworten, Kopieren, Löschen fuer eigene Nachrichten). Antworten zeigt eine Vorschau ueber dem Composer. Bei eigenen Nachrichten: zwei graue Häkchen = gesendet, zwei blaue Häkchen = von allen anderen Mitgliedern gelesen.
  7. Abstimmung und Standort teilen: Im Composer findest du Abstimmung (Frage + Optionen) sowie das Pin-Icon fuer Standort (Pin auf Karte, Snapshot oder Live 15 Min / 1 Std / 8 Std; optional Treffpunkt in der Naehe als Ort/Event) — in freien Gruppen, Community- und Event-Chats. Abstimmungen: Mitglieder sehen Stimmenzahlen und koennen pro Option einsehen, wer abgestimmt hat; Ersteller kann mit Abstimmung beenden schliessen. Standort: Tipp auf die Karten-Bubble oeffnet die geteilte Karte; Live endet per Timer oder Live-Freigabe beenden; fremde Standort-Nachrichten kannst du per Long-Press melden.

Mobile-App (Welle T.A + T.B — Web-Parität):

  1. Oeffne den Tab Nachrichten (Inbox-Icon)
  2. Tippe auf den Reiter Gruppen — die Liste zeigt alle Gruppen-Chats und Event-Chats, in denen du Mitglied bist (neueste Aktivitaet oben). Pro Reiter erscheint ein eigenes Unread-Badge
  3. Eintrag tippen oeffnet den Gruppen-Chat unter /groups/{threadId} mit voller Message-History (max. 200 Eintraege)
  4. Schreibe deine Nachricht im Composer am unteren Rand und tippe Senden. Wie auf Web sind 4000 Zeichen das Limit
  5. Bilder anhaengen: Tippe das 📷-Symbol neben dem Eingabefeld, waehle bis zu 5 Bilder (max. 5 MB pro Bild, JPG/PNG/WEBP) — die Anhang-Leiste zeigt Vorschau-Karten und einen n/5 Bilder-Counter. Einzelne Bilder lassen sich mit ✕ entfernen, eine optionale Beschreibung kannst du dazuschreiben; ein leerer Text wird automatisch zum [Bild]-Platzhalter. Bild in der Nachricht: Tippe fuer Vollbild; Speichern oeffnet das System-Teilen-Sheet (iPhone: z. B. in Fotos sichern).
  6. Long-Press auf eine Nachricht: Emoji-Leiste und Menue (Antworten, Kopieren, Löschen). Antworten zeigt eine Vorschau-Leiste oberhalb des Composers; ✕ entfernt das Antwort-Ziel wieder
  7. Beim Oeffnen markiert die App den Thread automatisch als gelesen; das Inbox-Badge aktualisiert sich beim naechsten Pull-to-Refresh
  8. Neue Gruppe erstellen (T.B): Im Reiter Gruppen oben rechts auf + Neue Gruppe tippen. Im Bottom-Sheet einen optionalen Titel eingeben und die Mitglieder als kommagetrennte Username-Liste (z. B. ali, mehmet, zeynep — fuehrendes @ ist erlaubt). Maximal 100 Mitglieder inkl. dir. Nach Gruppe erstellen landest du sofort im neuen Thread
  9. Gruppe verlassen (T.B): Im Gruppen-Chat oben rechts den Header-Button Verlassen tippen, im Sicherheits-Dialog bestaetigen. Du kannst danach nicht mehr lesen oder schreiben, bis dich jemand erneut einlaedt
  10. Event-Chat beitreten (T.B): Auf einem Event als Interessiert oder Gehe hin markieren. In der Action-Row erscheint dann der Button Event-Chat beitreten — Tippen erstellt oder oeffnet den Event-Chat-Thread direkt
  11. Realtime im Vordergrund (Welle S.C.1): Solange Gruppen-Inbox oder ein Gruppen-Chat geoeffnet sind, erscheinen neue Nachrichten und Lesemarker live — ohne pull-to-refresh. Beim Wechsel zurueck in die App holt der Mobile-Client verpasste Nachrichten automatisch nach
  12. Push-Benachrichtigungen im Hintergrund (Welle S.C.2 / T.C): Du bekommst im Hintergrund/geschlossenen Zustand eine OS-Push fuer jede neue Gruppen- oder Event-Chat-Nachricht (Welle T.C) — Mention und Antwort werden weiterhin als spezifischere Push priorisiert (du bekommst niemals zwei Pushes fuer dieselbe Nachricht). Tippen oeffnet den Gruppen-/Event-Chat. Was in Konto & Einstellungen → Benachrichtigungen unter Gruppen — neue Nachrichten ausgeschaltet ist, kommt auch nicht als Push. Wenn du nur einen einzelnen Thread leise stellen willst, nutze Stummschalten (siehe naechster Punkt) statt den Channel global zu deaktivieren
  13. Thread stummschalten (Welle T.C): In der Inbox-Liste den jeweiligen Thread (DM, Gruppe oder Event-Chat) nach links wischen — rechts erscheint 🔕 Stumm bzw. 🔔 Stumm aufheben. Tippen schaltet den Thread sofort um (optimistic UI). Stumm geschaltete Threads sind in der Liste durch ein 🔕-Glyph neben dem Titel und gedaempfte Badge-/Preview-Farben markiert. Im Detail-Screen oben rechts findest du denselben Toggle als Header-Button. Wichtig: Stumm betrifft nur die OS-Push-Benachrichtigung — der Inbox-Badge zaehlt weiterhin hoch, der Web-Toast erscheint trotzdem, und neue Nachrichten erscheinen in Realtime. So bleibt die Konversation auffindbar, ohne dass dich das Handy anpiept

Emojis in Nachrichten, Kommentaren und Beitraegen

In allen Schreib-Oberflaechen findest du neben dem Eingabefeld einen kleinen Smiley-Button — ueber ihn fuegst du Emojis direkt am Cursor ein.

Wo der Button verfuegbar ist:

  • DM-Chat-Composer (/de/messages/<username>)
  • Gruppen- und Event-Chat-Composer (/de/messages/groups/<threadId>)
  • Kommentarformular auf Orts-, Event- und Beitragsdetails
  • Schritt Text im Beitrags-Editor (/de/home/post/new)

So benutzt du ihn:

  1. Tippe in das Eingabefeld an die Stelle, an der das Emoji erscheinen soll
  2. Klicke (Desktop) bzw. tippe (Mobile/iOS-App) auf den Smiley-Button
  3. Auf dem Desktop oeffnet sich ein kleines Popover; auf Mobile/iOS-App schiebt sich ein Bottom-Sheet von unten hoch
  4. Suche per Suchfeld (Deutsch in der DE-Oberflaeche, Englisch in der TR-Oberflaeche solange die Picker-Bibliothek noch keine Tuerkisch-Locale liefert) oder scrolle durch die Kategorien (Smileys, Menschen, Tiere, Essen, Aktivitaeten, Reisen, Objekte, Symbole, Flaggen)
  5. Tippen/klicken auf ein Emoji fuegt es an deiner Cursor-Position ein, der Picker schliesst sich, der Cursor bleibt direkt hinter dem Emoji

Hinweise:

  • Emojis werden in der Schriftart deines Geraets gerendert (Apple-Emojis auf iPhone/Mac, Noto auf Android, Segoe auf Windows). Es gibt kein zusaetzliches Asset-Pack
  • Mobile/iOS-App: das Bottom-Sheet rutscht oberhalb der Software-Tastatur ein, du kannst direkt weitertippen ohne sie schliessen zu muessen
  • Die Zeichenlimits in den Composern bleiben unveraendert — Emojis zaehlen wie normale Zeichen (UTF-16-Code-Units)

Sticker in Nachrichten, Kommentaren und Beitraegen

Direkt neben dem Smiley-Button findest du einen zweiten Button mit dem Sticker-Symbol. Er oeffnet den Picker mit einer Türkei-Edition von 44 handverlesenen Stickern — groesser und bunter als Emojis, komplett tuerkisch-thematisch. Die Sticker sind in vier Sektionen gruppiert: Symbole & Kultur (Halbmond, Nazar, Tugra, Kalligrafie, Derwisch, Saz, Kemençe, Tulpe …), Wahrzeichen (Galata-Turm, Hagia Sophia, Bosporus, Kappadokien, Pamukkale …), Essen & Trinken (Çay, Türk Kahvesi, Simit, Baklava, Kebab, Döner, Rakı-Anstoß …) und Fußball-Vereine (vier generische Trikots in den klassischen Süper-Lig-Vereinsfarben — bewusst ohne offizielle Logos, Wappen oder Schriftzüge, um Markenrechte zu wahren).

Wo der Button verfuegbar ist:

  • DM-Chat-Composer (/de/messages/<username>)
  • Gruppen- und Event-Chat-Composer (/de/messages/groups/<threadId>)
  • Kommentarformular auf Orts-, Event- und Beitragsdetails
  • Schritt Text im Beitrags-Editor (/de/home/post/new)

So benutzt du ihn — Chat (DM + Gruppen-/Event-Chat):

  1. Tippe auf den Sticker-Button neben dem Smiley
  2. Auf dem Desktop oeffnet sich ein Popover, auf Mobile/iOS-App ein Bottom-Sheet
  3. Suche per Suchfeld (versteht Deutsch und Tuerkisch, inkl. Transliterationen wie „cay" für „çay") — kein Tab-Switching: alle 44 Sticker sind direkt sichtbar, gruppiert in vier Sektionen mit kleinen Headern. Sobald du etwas tippst, blendet der Picker die Header aus und zeigt alle Treffer in einem flachen Raster
  4. Tippen/klicken auf einen Sticker legt ihn als kleine Vorschau-Karte unter dem Eingabefeld ab — analog zur Bild-Vorschau. Maximal 5 Sticker pro Nachricht; danach erscheint ein Hinweis-Toast
  5. Mit dem X-Button an einer Vorschau-Karte entfernst du einzelne Sticker wieder
  6. Tippe „Senden" — der Text und die ausgewaehlten Sticker werden gemeinsam als eine Nachricht abgeschickt

So benutzt du ihn — Kommentare und Beitraege:

  1. Tippe in das Eingabefeld an die Stelle, an der der Sticker erscheinen soll
  2. Tippe auf den Sticker-Button und waehle einen Sticker
  3. Der Sticker wird direkt an deiner Cursor-Position in den Text eingefuegt (als kurzer ASCII-Code im Eingabefeld). Beim Veroeffentlichen wird er als Bild gerendert
  4. Du kannst den Code wie normalen Text bearbeiten oder loeschen

Hinweise:

  • Schickst du eine Nachricht, die ausschliesslich aus einem oder mehreren Stickern besteht (ohne weiteren Text), werden die Sticker groesser dargestellt — aehnlich wie in Telegram oder WhatsApp
  • Mischst du Sticker mit Text, werden sie kleiner und inline gerendert
  • Im Chat ist 5 Sticker pro Nachricht das Hard-Limit (Picker zeigt Toast). In Kommentaren und Beitraegen ist 5 ein Soft-Limit — ab 6 erscheint ein Hinweis-Toast, abschicken bleibt moeglich
  • Die 44 Sticker sind intern KI-generiert und speziell fuer MerhabaMap kuratiert — kein externes Asset-Upstream, kein Credit-Footer noetig
  • Die Vereins-Trikots in der Sektion Fußball-Vereine sind absichtlich nur in den klassischen Süper-Lig-Vereinsfarben gehalten und tragen keine offiziellen Logos, Wappen oder Schriftzüge — das ist eine bewusste markenrechtliche Entscheidung, keine Designschwäche
  • Phrasen-Sticker mit Text wie „Maşallah" oder „Kolay gelsin" bleiben weiterhin out-of-scope — der aktuelle Pack fokussiert auf visuelle Symbole (Wahrzeichen, Speisen, Getränke, Kultur-Motive, Schutzsymbole)

Collection erstellen und teilen

  1. Oeffne /de/collections (ueber das Account-Menu)
  2. Erstelle eine neue Collection
  3. Gehe zu einem Ort (/de/places/{slug}) oder Event (/de/events/{slug})
  4. Im Tab Ueberblick findest du das Panel Meine Listen (zweispaltig neben Gemeinschaft) — aktiviere die gewuenschte Liste. Der Ort bzw. das Event wird automatisch deinen Gespeicherten Eintraegen hinzugefuegt.
  5. Collections koennen oeffentlich oder privat sein und sowohl Orte als auch Events enthalten
  6. Auf der Collection-Detailseite (/de/collections/{id}) kannst du Mitwirkende einladen: Klicke "Einladen", gib einen Nutzernamen ein und waehle die Rolle (Bearbeiter/Betrachter)
  7. Bearbeiter koennen Orte hinzufuegen und entfernen; Betrachter koennen die Liste nur ansehen
  8. Geteilte Collections erscheinen auch in /de/collections unter "Deine Listen" mit einem "Geteilte Liste"-Badge

Konto & Einstellungen (Profil-Seite)

  1. Oeffne /de/profile (Account-Menu > "Konto & Einstellungen") — auf der Mobile-App ueber die linke Seitenleiste -> "Konto & Einstellungen"
  2. Web: Waehle links einen Bereich (auf dem Smartphone: Dropdown oben): Uebersicht, Profil & Inhalte, Interessen, Mitteilungen, Privatsphaere, Sicherheit & Login, Anfragen & Beitraege, Einreichungen, Konto & Daten (9 Bereiche) 2a. Mobile-App: Tabs oben: Konto (live), Privatsphaere (live — DM-Regel, Online-Status, Block-/Stummlisten), Benachrichtigungen (live — alle In-App-Kanaele), Sicherheit (live — Status read-only, Mutationen ueber Web-Browser per Magic-Link-Hand-off), Konto-Verwaltung (live — Datenexport JSON via System-Teilen-Sheet, Konto-Loeschung im Browser) 2b. Tab Uebersicht (Web-Desktop): Enthaelt u. a. die Meine Communities-Sektion (private Mitgliedschaften, keine fremde Mitgliederliste; delisted ohne Link) und den Communities-Zaehler in der Statistikzeile — Details zu Mitgliedschaften im Abschnitt Profil: Deine Communities. Einreichungen (Ort-, Event-, Community-, Verknüpfungsvorschläge, Mitwirkungsanfragen) liegen im eigenen Bereich #submissions.
  3. Unter Profil & Inhalte / Mobile-Tab Konto: Name, Username (Aenderung nur nach expliziter Bestaetigung), Profilbild (Bild waehlen oeffnet den Editor: zoomen, verschieben, drehen, spiegeln; runder Ausschnitt = finales Bild), Bio, Stadt, Sprache, globale Sichtbarkeit (oeffentlich/privat), darunter sichtbare ProfilbereicheAenderungen werden automatisch gespeichert (kein separater Speichern-Button; Username ist die Ausnahme). Schalter fuer z. B. gespeicherte Orte, Events, Sammlungen, Follower/Folgt, Communities, Aktivitaeten & Beitraege — gespeichert auch bei privatem Profil; oeffentlich gilt die Auswahl fuer alle Besucher, privat fuer genehmigte Follower (Fremde sehen dort nur Minimalprofil ohne diese Bereiche); siehe Sichtbare Profilbereiche im Abschnitt Profil: Deine Communities. Die Bio laesst sich wie Posts nur mit bestimmten Links speichern (Spam-/Kurz-URL-Schutz); wenn etwas abgelehnt wird, erklaert die Meldung das in verstaendlicher Sprache.
  4. Unter Interessen: Orts-Kategorien, Event-Kategorien und Community-Themen wählen — mindestens je eine Auswahl pro Bereich; Aenderungen werden automatisch gespeichert. Wirkt auf Home (Entdecken & Social) und Communities-Vorschau auf Home. Neue Nutzer:innen legen die erste Auswahl beim ersten manuellen Home-Besuch fest; danach hier jederzeit anpassbar. Ausnahme: Orte/Events/Communities, mit denen du persönlich verbunden bist (gespeichert, interessiert/dabei, Community-Mitglied), erscheinen auch dann, wenn ihre Kategorie/Thema nicht in den Interessen steht.
  5. Unter Uebersicht: Kurzinfo, Link zum oeffentlichen Profil /de/user/{username}, Statistik (inkl. Communities bei aktivem Server-Gate), Schnelllinks (Orte, Events, gespeicherte Orte, Sammlungen), Meine Communities, gefolgte Staedte, Business-Profil (wenn vorhanden), verkn uepfte Anmeldemethoden (E-Mail, Google, Apple). Mobile-App (native Shell): Karte App & Diagnose mit Version, Build, Plattform, Umgebung (INT/Prod), Web-Origin, Sprache, Nutzer-Ref.; Buttons Diagnose kopieren, Hilfe, Problem melden; Abschnitt Rechtliches & Status (Status, Lizenzen, Datenschutz in der App, Datenschutz); Karte Geraete & Sitzungen mit Ueberall abmelden. Drawer: Ueber MerhabaMap (/legal) buendelt Hilfe, Changelog, Barrierefreiheit, Lizenzen. INT-Banner, Was ist neu, optional App bewerten, Soft-Update-Banner, Force-Update/Wartung bei Server-Policy, AGB-Re-Accept bei Terms-Bump. 5a. Unter Einreichungen (/de/profile#submissions): fuenf Karten (auch leer) — Ort-Vorschlaege, Event-Vorschlaege, Community-Vorschlaege, Verknuepfungsvorschlaege, Mitwirkungsanfragen; jeweils Status und Links nur bei oeffentlicher Sichtbarkeit; bei Review optional neutrale Mitteilung (Postfach/Alert/Push, Kanäle abschaltbar)
  6. Auf dem oeffentlichen Profil /de/user/{username} (Web-Desktop): linker Bereich — oben das Kurzprofil (Avatar, Name, Nutzername, optional Oeffentlich/Privat-Hinweis nur bei dir selbst). Eigene Ansicht: darunter Mitglied seit, optional Heimatort, dann Profil bearbeiten (Ziel Profil & Inhalte) und Profil-Link kopieren. Fremdes Profil: direkt unter dem Kurzprofil die Social-Aktionen (z. B. Folgen/Stummschalten/Blockieren, Nachricht; ohne Session Anmelden-Hinweis), danach Mitglied seit, optional Heimatort; unten in einer Zeile Profil-Link kopieren und daneben (rechts) Profil melden (aufklappbares Formular, eingeloggt mit Social-V2-Anbindung). Rechts die grosse Karte: oben die Statistikzeile (Zahlen zu Follower/Folgt, Favoriten, Communities — soweit sichtbar); Klicks auf Follower/Folgt oeffnen den Tab Follower & Folgt in derselben Karte (statt sofort einer separaten Unterseite), dort Follower- und Folgt-Listen mit Verweis auf die eigenen Seiten fuer weiterblaetternde Listen. Darunter die RegisterkartenUeber, (optional) Follower & Folgt, Favoriten, Communities, Aktivitaeten; die Statistikzeile bleibt beim Tabwechsel sichtbar. Unter Ueber folgen gefolgte Staedte, Bio, oeffentliche Sammlungen (Standort und globaler Einstieg sind in der linken Karte); Favoriten Orte und Events wie zuvor; Communities nur oeffentlich gelistete Gruppen (keine delisted); Aktivitaeten buendelt Beitraege zur Karte und die Aktivitaetsliste. Deine kommenden Events (gespeicherte sowie Interessiert/Dabei) erscheinen mit kleinem Status-Badge unter Favoriten; andere Nutzer sehen dort weiterhin nur oeffentlich gespeicherte Events. Links in der Bio oeffnen nach Bestaetigung in einem kurzen Hinweisdialog (externe Website).
  7. Mitteilungen: Kanaele fuer In-App-Mitteilungen (Postfach /de/notifications) ein- oder ausschalten — Aenderungen werden automatisch gespeichert (u. a. hilfreich-Markierungen, Listeneinladungen)
  8. Privatsphaere: Direktnachrichten-Einstellung (wer darf neue DM starten), Online-Status (Schalter an = andere sehen in Chats, ob du online bist oder tippst; aus = keine Anzeige) — automatisch gespeichert; blockierte/stummgeschaltete Konten entblocken bzw. Stummschaltung aufheben. Datenexport unter Konto & Daten; Datenschutzerklaerung und Cookie-Infos im Menue (Drawer) bzw. auf Web in der Fusszeile
  9. Sicherheit & Login: Passkeys (in der App: Liste und Entfernen; neuen Passkey ueber Im Browser oeffnen — oeffnet den Browser mit dem Profil-Tab Sicherheit; dort dann Passkey hinzufuegen); Profil-Block Konto-Sicherheit fuer E-Mail aendern (mit Bestaetigungs-Mails) plus OAuth noch einmal anmelden, wenn dein Konto rein ueber Google/Apple laeuft. Die vollstaendige 2FA-Verwaltung ist im Abschnitt Sicherheits-Center weiter unten
  10. Konto & Daten: Datenexport und Konto loeschen

Sicherheits-Center (Passkeys, Authenticator-App, Recovery-Codes)

  1. Oeffne /de/account/security (aus Profil > Sicherheit & Login > "Sicherheits-Center oeffnen")
  2. Oben steht ein Statusblock mit deinen aktuellen Faktoren: Passkeys, Authenticator-App (TOTP), Recovery-Codes
  3. Passkeys werden weiterhin im /de/profile-Reiter Sicherheit & Login verwaltet — der Button auf /de/account/security verlinkt direkt dorthin. Ein Passkey ist geraetegebunden und entsperrt sich ueber Face ID, Fingerabdruck oder Geraete-PIN
  4. Authenticator-App hinzufuegen: Klick "Authenticator-App hinzufuegen" → ein QR-Code erscheint. Scanne ihn mit einer App (1Password, Google Authenticator, Authy, Raivo …) oder kopiere den Schluessel manuell. Gib anschliessend den 6-stelligen Code ein und bestaetige. Toast "Authenticator-App verbunden." zeigt den Erfolg
  5. Authenticator-App entfernen: Klick "Authenticator-App entfernen" → Bestaetigungs-Dialog → Step-up-Abfrage (siehe naechster Abschnitt), weil TOTP-Entfernen sicherheitsrelevant ist
  6. Recovery-Codes: Erzeuge einen frischen Satz mit "Neue Recovery-Codes erzeugen". Jeder Code funktioniert genau einmal als Step-up-Ersatz (zusammen mit Magic Link / OAuth als primaerer Login) — sicher aufbewahren (Password-Manager, Drucker, Safe). Die Anzahl verbleibender Codes siehst du im Status oben
  7. Fuer Admins/Moderatoren ist mindestens ein zweiter Faktor + Recovery-Codes Pflicht, bevor die Admin-Konsole freigeschaltet wird (siehe /de/account/admin-mfa-required)

Login bestaetigen (Step-up-MFA auf /account/security/confirm)

Diese Seite erscheint automatisch, wenn eine sensible Aktion erfordert, dass du deinen Login juengst noch einmal bestaetigt hast (innerhalb der letzten Stunde). Reduziertes Layout: schmaler Kopf (Logo + Sprache), kein voller Discovery-Nav und kein Site-Footer — damit du mitten im Task bleibst. Die Ueberschrift haengt vom Kontext ab (z. B. „Abo-Center oeffnen“ bei Stripe, „Account loeschen“ bei Konto-Loeschung).

Typische Ausloeser:

  • Stripe-Abrechnung verwalten (?purpose=stripe_portal) — Portal-Zugang, Zahlungsmittel, Kuendigung
  • Account loeschen (?purpose=account_delete)
  • Authenticator-App entfernen (?purpose=totp_disable)
  • Admin-Aktion (?purpose=admin_action)

Der Ablauf:

  1. Mit Passkey: grosser Button „Jetzt bestaetigen“ (Face ID / Touch ID / Fingerabdruck). Alternativ „Andere Methode“ → kurze Tabs Passkey · App · Code
  2. Ohne Passkey: direkt App- oder Recovery-Code-Eingabe
  3. Bei Erfolg Weiterleitung auf die urspruenglich angeforderte Seite (?next=…) — Step-up-Cookie ca. 60 Minuten frisch
  4. Abbrechen (z. B. „Zurueck zur Abrechnung“) kehrt zum next-Ziel zurueck, ohne die Aktion auszufuehren

Abrechnung & PRO-Upgrade (/account/billing)

Diese Seite ist fuer alle Nutzer sichtbar, aber nur relevant, wenn du MerhabaMap geschaeftlich nutzt (Ort beanspruchen → Business-Posts veroeffentlichen). Der volle Upgrade-Flow steht im Business-User-Manual. Kurzfassung:

  1. Oeffne /de/account/billing (aus Profil > Uebersicht > Business-Profil, oder nach einem erfolgreichen Claim automatisch vorgeschlagen)
  2. Ohne Claim / Owner-Rolle siehst du nur einen Hinweis, dass Abrechnung an einen verifizierten Business-Owner-Status geknuepft ist. Ein "Mehr erfahren"-Link fuehrt nach /de/business/upgrade
  3. Als Business-Owner: Drei Tarif-Karten (FREE, PRO, ENTERPRISE) mit Status-Zeile, Bruttopreisen und Checkout pro Spalte (PRO/ENTERPRISE), sofern du die Voraussetzungen erfuellst — siehe Business-User-Manual fuer Details
  4. Checkout startet die Stripe-Checkout-Session — du wirst zu checkout.stripe.com geleitet, bezahlst per Kreditkarte und landest anschliessend zurueck auf der Abrechnungs-Seite. Tier-Wechsel ist sofort aktiv, sobald Stripe den Webhook bestaetigt hat (wenige Sekunden)
  5. "Abrechnung verwalten" oeffnet das Stripe Customer Portal — dort kannst du Zahlungsmittel aktualisieren, Rechnungen herunterladen oder die Subscription kuendigen. Das Portal ist Step-up-MFA-gated: war dein Strong-Auth mehr als eine Stunde nicht frisch (z. B. Passkey/TOTP/Recovery-Code beim Login), wirst du zunaechst auf /de/account/security/confirm?next=/de/account/billing&purpose=stripe_portal geleitet
  6. Nach Kuendigung bleibt dein Tier noch bis Periodenende aktiv, danach faellt er automatisch auf FREE zurueck (Webhook-getrieben)

Spenden an einen Ort

Stand 2026-04-29: Spenden an Orte (Vereine/Moscheen) sind aktuell global deaktiviert. Sie kommen zurueck, sobald der IBAN/GiroCode- Pfad final getestet ist.

Plattform-Regel: MerhabaMap beruehrt das Geld nicht — kein Stripe-Layer, keine Plattformgebuehr, keine Sammelstelle. Du ueberweist direkt von deiner Bank an die Bank des Vereins / der Moschee. Die Spendenquittung gibst dir der Ort selbst (gemeinnuetzige Koerperschaften muessen das ohnehin).

So spendest du an einen Ort, sobald die Funktion aktiv ist:

  1. Du oeffnest die Place-Detail-Seite (z. B. eine Moschee oder ein Verein) und siehst eine Karte „Direkt an die Bankverbindung des Ortes" mit Empfaenger, IBAN, BIC, Verwendungszweck und einem QR-Code (GiroCode).
  2. Du hast zwei Optionen:
    • Mit deiner Handy-Banking-App scannen (Sparkasse, Volksbank, Comdirect, ING, Deutsche Bank, N26 etc.): Oeffne deine App, waehle „Ueberweisung → QR-Code scannen", richte das Handy auf den QR-Code auf dem Bildschirm. Die App fuellt IBAN, Empfaenger und Verwendungszweck automatisch — du gibst nur den Betrag ein und bestaetigst mit Face-ID / Push-TAN / App-PIN.
    • IBAN selbst kopieren: Tippe auf den Copy-Button neben der IBAN, oeffne deine Banking-App / dein Online-Banking, lege eine normale Ueberweisung an und fuege IBAN + Empfaenger ein. Funktioniert auch ohne QR-Scanner.
  3. Geld geht direkt von deiner Bank an die Bank des Vereins. Fertig.

Wichtig: Es ist kein TAN-Scanner-Geraet und keine Zusatzhardware noetig — der QR ist nur ein Daten-Container fuer IBAN+Empfaenger+Zweck, gescannt durch deine normale Handy-Kamera in deiner Banking-App. Du musst dich auch nicht bei MerhabaMap einloggen, um zu spenden.

Es gibt keine Spenden-Historie in deinem MerhabaMap-Konto, weil MerhabaMap deine Spende nicht sieht — nur deine Bank kennt sie.

Welche Orte ueberhaupt Spenden empfangen koennen: nur nicht-kommerzielle Places (Moscheen, Vereine) mit einem vom Senior-Admin freigegebenen Owner-Claim und gepflegter IBAN. Kommerzielle Orte (Restaurants, Laeden) bekommen die Funktion nicht — die monetisieren ueber das PRO-Abo.

Vollstaendige Beschreibung: docs/architecture/place-donations.md.

Hinweis: Fuer Place-Spenden fuehrt MerhabaMap keine Historie in deinem Konto — nur deine Bank sieht die Ueberweisung.

Freiwillige Unterstuetzung der Plattform (MerhabaMap selbst) ist getrennt davon unter /de/support ("MerhabaMap unterstuetzen") ueber Stripe Checkout moeglich — auch ohne MerhabaMap-Konto. Der Zahlungsnachweis erhaeltst du ueber Stripe bzw. deine Kartenauszuege, keine Abgrenzungsbescheinigung durch MerhabaMap. Wer den Beleg ueber eine Place-Spende braucht, nutzt das Online-Banking; eine Spendenquittung stellt der Verein/die Moschee selbst aus.

Konto loeschen (/account/delete)

  1. Oeffne /de/account/delete (aus Profil > Konto & Daten > "Konto loeschen" oder direkt)
  2. Die Seite erklaert die Folgen: Unwiderruflich. Profil-Stammdaten (Name, E-Mail, Username, Bio, Profilbild, Stripe-Customer-Pointer) werden anonymisiert. Push-Tokens (Web + Mobile), gespeicherte Orte und Events, eigene Sammlungen, Sammlungs-Mitgliedschaften, Event-Teilnahmen, Stadt-Abos, Kommentar-Reaktionen, Follow-/Block-/Mute-Verbindungen sowie Sie betreffende In-App-Benachrichtigungen werden tatsaechlich gelöscht. Beitraege, Kommentare und Chat-Nachrichten (DM + Gruppen) bleiben mit anonymisierter Autor-/Sender-Referenz erhalten, damit andere Nutzer und Gespraechsteilnehmer keine Lücken in Threads/Listen/Konversationen bekommen. Ausführliche Aufschluesselung in der Konto-Löschen-Anleitung (/de/konto-loeschen)
  3. Step-up-Bestaetigung: Fuer die Loeschung ist eine frische Login-Bestaetigung Pflicht. Du wirst ggf. automatisch nach /de/account/security/confirm?next=/de/account/delete&purpose=account_delete umgeleitet
  4. Zurueck auf /de/account/delete: Tippe zum expliziten Bestaetigen den in der UI angezeigten Satz ab (Anti-Reflex-Schutz) und klicke "Konto endgueltig loeschen"
  5. Du wirst ausgeloggt, eine Bestaetigungs-E-Mail geht an deine Account-Adresse. Claim-Nachweis-Dateien (falls vorhanden) werden sofort geloescht, der Rest innerhalb der dokumentierten Retention-Fristen

Beitrag erstellen (Lokal-Posting)

Web:

  1. Oeffne /de/post/new (z. B. ueber Beitrag erstellen im Plus-Menue im Header), oder klicke auf der Ort- oder Event-Detailseite auf "Teile etwas Relevantes zu diesem Ort" / "Teile etwas Relevantes zu diesem Event"
    • Mobile-Shell: Am linken Bildschirmrand von links nach rechts wischen, um zur vorherigen Seite zurueckzukehren (z. B. von /de/post/new zurueck zu Home). Gleiches gilt fuer Ort/Event/Community vorschlagen (/submit/place, /submit/event, /communities/suggest), fuer Event-, Ort- und Community-Detailseiten (zur jeweiligen Liste, Scroll-Position bleibt erhalten) sowie fuer offene Chats (DM, Gruppe, Event-/Community-Chat) — dort kehrst du per Wisch zur Nachrichtenzentrale (/de/messages) zurueck, ebenfalls an der Scroll-Position der Inbox.
  2. Schritt 1 — Kategorie waehlen (genau drei Typen):
    • Empfehlung — empfiehl einen Ort oder ein Event, das dich begeistert hat
    • Erlebnis teilen — berichte von einem Erlebnis an einem Ort oder Event
    • Frage stellen — stelle eine Frage zu einem Ort oder Event
  3. Schritt 2 — Kontext ueber Pill-Toggle waehlen: Ort oder Event, danach im Suchfeld das passende Element auswaehlen. Jeder Beitrag muss entweder einem Ort oder einem Event zugeordnet sein (nicht beides).
  4. Schritt 3 — Text schreiben (mindestens 10 Zeichen, max. 500 Zeichen)
  5. Optional: Fuege bis zu 5 Bilder hinzu (JPEG, PNG oder WebP, max. 5 MB pro Bild)
  6. Klicke "Beitrag veroeffentlichen"
  7. Du wirst zur Ort- bzw. Event-Detailseite weitergeleitet, Tab Beitraege ist aktiv — dein neuer Beitrag erscheint dort (zusaetzlich im Feed deiner Stadt)

Mobile:

  1. Tippe auf der Home-Karte „Was moechtest du teilen?" oder auf einer Ort-/Event-Detailseite auf Beitrag schreiben. Beim Einstieg ueber die Detailseite ist der Bezug bereits vorbelegt; ueber die Home-Karte oeffnet sich nach der Typ-Auswahl ein Suchfeld zur Auswahl von Ort oder Event.
  2. Waehle den Beitragstyp (Empfehlung / Erfahrung / Frage)
  3. Bezug: Bei Vorbelegung ueber „Aendern" anpassbar; sonst Pill-Toggle Ort / Event, dann mindestens 2 Buchstaben tippen, um Vorschlaege zu erhalten
  4. Text schreiben (10 bis 500 Zeichen, Zaehler unten rechts)
  5. Bilder (optional, Welle P.B + Multi-Image-Welle): Tippe auf die +-Karte unter dem Text-Editor, erlaube den Mediathek-Zugriff und waehle bis zu 5 Bilder (JPG, PNG oder WEBP, max. 5 MB pro Bild). Ausgewaehlte Bilder erscheinen als Thumbnails mit ✕-Badge zum Entfernen.
  6. „Posten" oben rechts. Bei Erfolg landest du auf der Detailseite des verlinkten Orts/Events im Tab Beitraege und siehst deinen Beitrag dort sofort. Mit angehaengten Bildern wird der Request automatisch als multipart/form-data versendet; ohne Bilder bleibt es beim schlanken JSON-Pfad.

Eigenen Beitrag loeschen

Web: Drei-Punkte-Menue am Beitrag → „Loeschen". Author-Only, soft-delete, irreversibel.

Mobile: Auf der Ort- oder Event-Detailseite am eigenen Beitrag (oben rechts der Karte) auf Loeschen tippen → Bestaetigen. Beitrag wird sofort entfernt; das Web-Verhalten ist identisch (soft-delete, Bilder werden bereinigt, Audit-Log-Eintrag).

Beitrag melden

Web:

  1. Oeffne den Feed unter /de/home
  2. Klicke am Beitrag auf "Melden"
  3. Bestaetigen — die Meldung wird fuer das Moderationsteam hinterlegt
  4. Jeder Beitrag kann nur einmal pro Nutzer gemeldet werden

Mobile: Auf der Ort- oder Event-Detailseite an einem fremden Beitrag (oben rechts der Karte) auf Melden tippen → Bestaetigungs-Sheet → Melden. Das Verhalten ist identisch zur Web-Variante (gleicher Standardgrund, dieselbe Dedup-Pruefung). Eigene Beitraege haben statt Melden den Loeschen-Button.

Kommentar unter einem Beitrag melden

Web: Detailbereich des Kommentars aufklappen → Reason-Dropdown waehlen → optionale Details schreiben → Senden.

Mobile: Im aufgeklappten Kommentare-Block am fremden Kommentar auf Melden tippen → Bottom-Sheet mit Grund-Liste (Falsche Information, Duplikat, Geschlossen oder nicht verfuegbar, Unangemessener Inhalt, Spam oder Missbrauch, Sonstiges) und optionalem Details-Feld (max. 1000 Zeichen). Sechs-Stunden-Sperre pro Ziel und Tageslimit (5 Meldungen pro 24 h) gelten identisch zur Web-Funktion.

Inhalt melden

  1. Oeffne die Detailseite eines Orts oder Events
  2. Web: Scrolle zum Melde-Bereich. Mobile-App: Tippe in der Action-Row auf Melden
  3. Waehle einen Grund aus dem Dropdown (z.B. ungenaue Information, Spam, unangemessen)
  4. Optional: Beschreibe das Problem im Textfeld
  5. Klicke "Absenden"

Ort vorschlagen

  1. Du brauchst ein MerhabaMap-Konto und eine aktive Anmeldung — ohne Login kann kein Ort-Vorschlag abgesendet werden (die Seite zeigt Gast:innen eine Anmelden-Karte; die Einreichungs-Server-Action bricht ohne Session mit auth_required ab).
  2. Oeffne /de/submit/place (erreichbar ueber die Home-Seite; in der Mobile-App ueber die Seitenleiste Ort vorschlagen, als Web-Bridge im In-App-Browser)
  3. Fuelle die Felder aus: Name, Stadt, Kategorie, Adresse, Quell-URL, Beschreibung. Bei Adresse: waehle zuerst die Stadt im Feld darueber; danach erscheinen waehrend der Eingabe Adress-Vorschlaege (debounced, mind. ein paar Zeichen). Ohne Stadt ist die Adresszeile nur freier Text ohne Vorschlaege.
  4. Optional: Du kannst ein Bild mitschicken (JPG/PNG/WebP, max. 5 MB). Klicke „Datei waehlen", waehle die Datei, eine Vorschau erscheint. Das Bild wird vor dem Speichern automatisch durch eine KI-Bildmoderation gepueft (NSFW/Gewalt/Hass werden abgelehnt). Wenn das Bild abgelehnt wird, wird der Ort selbst trotzdem eingereicht — nur ohne Bild.
  5. Klicke "Absenden"
  6. Aus der Adresse (und ggf. dem Namen) ermittelt MerhabaMap im Hintergrund automatisch Geo-Koordinaten fuer Karte und Standort — auch wenn du keinen Vorschlag aus der Liste gewaehlt hast. Ohne verwertbare Adresse bleiben Koordinaten leer.
  7. Der Vorschlag wird vom Team geprueft. Auf der Bestaetigungsseite siehst Du einen Hinweis, ob das Bild durchging, abgelehnt wurde oder nicht akzeptiert war (Format/Groesse).

Event vorschlagen

  1. Wie bei Orten: nur mit Konto und Anmeldung; Gast-Submit ist nicht moeglich (auth_required auf der Server-Action).
  2. Oeffne /de/submit/event (erreichbar ueber die Home-Seite; in der Mobile-App ueber die Seitenleiste Event vorschlagen, als Web-Bridge im In-App-Browser)
  3. Pflichtfelder: Titel, Stadt, Kategorie, Datum, Beschreibung; sowie Veranstaltungsort oder Adresse. Quellenlink ist optional, erleichtert der Pruefung aber die Einordnung wenn vorhanden. Adresse: wie bei „Ort vorschlagen“ — erst Stadt waehlen, dann optional Adress-Vorschlaege waehrend der Eingabe; ohne Stadt keine Vorschlagsliste unter der Adresszeile.
  4. Optionale Felder unter Mehr zum Event (helfen uns bei der Einsortierung, beeinflussen aber nichts erzwungen):
    • Organisator-Typ (eines): Community-Organisation, Unternehmen, Institution, Privatperson
    • Preislogik (eines): Kostenfrei, Kostenpflichtig, Spendenbasiert — das ist kein Bezahlsystem, sondern nur ein Hinweis fuer andere Nutzer
    • Das Feld Zielgruppen (Familien, Studierende, …) wurde aus dem Formular entfernt
  5. Pro Kategorie zeigt das Formular einen kurzen Hinweis (z. B. „Religioes — bitte sensibel und korrekt zuordnen")
  6. Optional: Du kannst ein Bild beilegen (Plakat/Pressefoto, max. 5 MB, JPG/PNG/WebP). Wird vor dem Speichern automatisch durch die KI-Bildmoderation gepueft.
  7. Klicke "Absenden"
  8. Aus Veranstaltungsort/Adresse (und ggf. dem Titel) werden im Hintergrund automatisch Geo-Koordinaten gesetzt, sobald die Adresse ausreichend ist.
  9. Der Vorschlag wird vom Team geprueft. Du brauchst dich nicht um interne Felder wie „Governance-Status" zu kuemmern — die setzen wir intern.

5. Haeufige Aktionen

AktionWoWie
Sicherheits-Center/de/account/security2FA-Faktoren + Recovery-Codes verwalten
Login bestaetigen/de/account/security/confirmAutomatisch bei sensiblen Aktionen (Abrechnung, Account-Loeschung, TOTP entfernen)
Abrechnung/de/account/billingBusiness-Tier anzeigen, Stripe-Checkout, Customer-Portal
Konto loeschen/de/account/deleteMit Step-up-Bestaetigung, unwiderruflich
Ort speichernPlace-DetailHerz-Symbol klicken
Event speichernEvent-DetailHerz-Symbol klicken
TeilnehmenEvent-Detail"Interessiert" oder "Dabei" waehlen
KommentierenPlace-/Event-DetailKommentarbereich, Text eingeben, absenden
Kommentar unter einem Beitrag schreibenPlace-/Event-DetailBeitrag aufklappen via "Kommentare (N)", Text eingeben, "Senden"
Eigenen Beitrags-Kommentar loeschenPlace-/Event-Detail"Loeschen" am eigenen Kommentar unter dem Beitrag
Kommentar als hilfreich markierenPlace-/Event-Detail (Web + Mobile)Web: Daumen-hoch unter dem Kommentar. Mobile: "👍 Hilfreich"-Pille mit Zähler unter jedem Kommentar im Beitrags-Thread (PostComments) — Place-/Event-Direktkommentare folgen, sobald die mobile EntityComment-Oberfläche ausgeliefert ist
Eigenen Kommentar loeschenPlace-/Event-DetailLoeschen-Button am eigenen Kommentar
Kommentar meldenPlace-/Event-DetailMelden-Button am fremden Kommentar, Grund waehlen
Ort/Event meldenPlace-/Event-Detail (Web + Mobile)Web: Melde-Bereich auf der Detailseite. Mobile: Melden in der Action-Row, Grund waehlen, optional Details ergaenzen
Beitrag schreibenPlace-/Event-Detail (Web + Mobile)Web: "Teile etwas Relevantes …"-Banner. Mobile: Button "Beitrag schreiben" in der Aktionsleiste oeffnet Bottom-Sheet mit Empfehlung/Erfahrung/Frage; oeffnet Composer mit vorgewaehltem Bezug
Eigenen Beitrag loeschenPlace-/Event-Detail (Web + Mobile)Web: Drei-Punkte-Menue am Beitrag → "Loeschen". Mobile: kleiner "Loeschen"-Button oben rechts auf der eigenen Beitragskarte mit Bestaetigung; soft-delete + Audit-Log
Beitrag melden/de/home (Web), Place-/Event-Detail (Mobile)Web: Flag-Icon → "Beitrag wirklich melden?" → "Melden". Mobile: "Melden"-Link oben rechts an fremden Beitragskarten → Bottom-Sheet → "Melden"
Kommentar meldenPlace-/Event-Detail (Web + Mobile)Web: Inline-Form mit Grund-Dropdown + Details. Mobile: "Melden" am fremden Kommentar oeffnet Bottom-Sheet mit Grund-Liste + optionalem Details-Feld
TeilenPlace-/Event-Detail"Teilen"-Button (1-Klick System-Teilen / Copy) plus Pfeil-Knopf fuer Kanalmenue (WhatsApp, Telegram, X, Facebook, E-Mail, Link kopieren)
Route berechnenPlace-/Event-Detail"Route"-Button
Event-Chat beitretenEvent-Detail"Event-Chat beitreten" (nur Teilnehmer)
Mitwirkende einladenCollection-Detail (Web + Mobile, Owner)Web: "Einladen". Mobile: "+ Einladen" rechts neben der Mitglieder-Überschrift; Bottom-Sheet mit Nutzername + Rolle (Bearbeiter/Betrachter)
Mitwirkende entfernenCollection-Detail (Web + Mobile, Owner)Web: Inline. Mobile: kleines × neben dem Mitgliedseintrag mit Bestätigung
Liste verlassenCollection-Detail (Web + Mobile, Mitglied)Web: "Verlassen". Mobile: "Liste verlassen"-Button am Ende mit Bestätigung
Liste anlegen/de/collections (Web) bzw. linke Seitenleiste -> "Meine Listen" (Mobile)Web: Button "Neue Liste". Mobile: "+ Neu"-Button rechts oben oder im leeren Zustand. Titel + optionale Beschreibung + Sichtbarkeit privat/oeffentlich
Liste bearbeiten / loeschenListen-Detail (Web + Mobile, Owner)Web: Inline-Aktionen. Mobile: "Bearbeiten" rechts oben fuer Titel/Beschreibung/Sichtbarkeit; "Liste loeschen"-Button am Ende mit Bestaetigung
Ort/Event aus Liste entfernenListen-Detail (Web + Mobile, Owner + Bearbeiter)Web: Inline. Mobile: kleines x oben rechts auf der Eintragskarte mit Bestaetigung
In Liste speichernPlace-/Event-Detail (Web + Mobile)Web: Toggle im Tab "Ueberblick" -> Panel "Meine Listen". Mobile: Button "In Liste …" neben dem Herz-Symbol oeffnet Bottom-Sheet mit Auswahl + Inline-"+ Neu"-Anlage
FolgenOeffentliches Profil (Web + Mobile)Follow-Button (Supabase v2). Auf Mobile auch ueber /users/<username> und ueber Tipp auf Avatare in Listen. Bei privatem Profil wird die Anfrage als "ausstehend" markiert
EntfolgenOeffentliches Profil (Web + Mobile)Unfollow-Button (Supabase v2)
Follow-Anfrage zuruecknehmenOeffentliches Profil mit "Anfrage gesendet" (Web + Mobile)Selber Button erneut tippen — entfernt den ausstehenden follow_request
Follow-Anfrage annehmen / ablehnenWeb: /de/follow-requests. Mobile: linke Seitenleiste -> "Follower-Anfragen""Annehmen" / "Ablehnen" pro Eintrag, Liste ist auf 50 juengste pendings begrenzt
Follower-/Folgt-Liste oeffnenOeffentliches Profil bzw. erweiterter Zugriff (Web + Mobile)Web: Statistik in der Profilkarte: Tipp auf Follower / Folgt oeffnet den Tab Follower & Folgt mit Vorschau; vollstaendige paginierte Listen weiterhin unter /de/user/.../followers bzw. /following. Bei oeffentlichem Profil nur mit aktivem Schalter; ohne Freigabe 404 auf den Unterseiten. Privat: Unterseiten nur fuer genehmigte Follower bei aktivem Schalter; Minimalprofil ohne verlinkte Zaehler. Mobile: paginierte Liste mit Pull-to-Refresh (Unterseiten)
BlockierenOeffentliches Profil (Web + Mobile)Web: Drei-Punkte-Menue, "Blockieren". Mobile: Button "Blockieren" auf der Profilkarte. Bestehende Follow-Beziehungen werden in beiden Richtungen entfernt
StummschaltenOeffentliches Profil (Web + Mobile)Web: Drei-Punkte-Menue, "Stummschalten". Mobile: Button "Stumm" auf der Profilkarte
User meldenOeffentliches Profil (Web)Drei-Punkte-Menue, "Melden", Grund waehlen — Mobile-Eskalation kommt mit dem Reports-Refactor

6. Benachrichtigungen

Benachrichtigungen erscheinen unter /de/notifications und als Badge an der Glocke im Header. Unter /de/profile im Bereich Mitteilungen kannst du festlegen, welche Arten von In-App-Mitteilungen angelegt werden (ausgeschaltete Arten erscheinen nicht im Postfach). In der Mobile-App liegt die Inbox hinter dem Glocken-Symbol in der zweiten Headerzeile (zwischen Plus-Menü, Verbindungen und Nachrichten): dort siehst du dieselben Mitteilungen wie im Web, kannst sie einzeln per Tipp oder per „Alle als gelesen markieren" als gelesen markieren und neue Eintraege erscheinen live (Pull-to-refresh als Fallback). Die Glocke selbst zeigt den ungelesenen Stand als rotes Zaehler-Badge. Auf der Vollseite /de/notifications (Mobile-Shell): Titel Mitteilungen mit Einstellungen-Icon rechts daneben; Filter-Tabs in zwei Zeilen (Alle · Posteingang · Gelesen, darunter Erwähnungen · Orte & Events · Netzwerk · Gruppen).

BenachrichtigungWann
Neuer FollowerWenn ein anderer Nutzer dir folgt
Follow-AnfrageWenn jemand dir bei privatem Profil folgen moechte
Kommentar auf deinen OrtWenn jemand einen deiner Orte kommentiert
Kommentar auf dein EventWenn jemand eines deiner Events kommentiert
Kommentar auf deinen BeitragWenn jemand auf einen deiner Beitraege antwortet (auch ohne @-Erwaehnung)
Reaktion auf deinen KommentarWenn jemand deinen Kommentar als hilfreich markiert
Erwaehnung in KommentarWenn du in einem Kommentar (@username) erwaehnt wirst
Listen-EinladungWenn du zu einer Collection eingeladen wirst
Gruppen-EinladungWenn du zu einem Gruppen-Chat hinzugefuegt wirst
Gruppen-ErwaehnungWenn du in einem Gruppen-Chat erwaehnt wirst
Gruppen-AntwortWenn jemand in einem Gruppen-Chat auf deine Nachricht antwortet
Gruppen — neue NachrichtenGenerische Push fuer jede neue Gruppen-/Event-Chat-Nachricht (Welle T.C). Mention/Reply unterdruecken diese, damit nicht doppelt gepingt wird. Per-Thread stummschaltbar via Inbox-Swipe

7. Rueckmeldungen (Toasts)

Nach Aktionen wie Speichern, Folgen, Teilen, Melden, Kommentar posten oder Profil speichern erscheint oben rechts ein kleiner Hinweis (Toast), der sich nach wenigen Sekunden selbst schliesst.

  • Umkehrbare Aktionen (Ort/Event speichern oder entfernen, Kommentar loeschen, Sharing-Copy) zeigen einen Rueckgaengig-Button im Toast.
  • Doppelklicks auf denselben Button stapeln nicht — der Toast wird aktualisiert statt dupliziert.
  • Abmelden: Im Desktop-Browser landest du auf der oeffentlichen Startseite (/?loggedOut=1). In der Mobile-Shell / nativen App (Phase 5o) direkt auf /auth/signin?loggedOut=1. Ein kurzer Hinweis „Du bist abgemeldet." bestaetigt den Vorgang einmalig.
  • Nach dem Onboarding: Schliesst du das Onboarding ohne eigene Stadt-Folge ab, erscheint auf /de/home ein Willkommens-Toast (einmalig ueber ?welcome=onboarding). Mit gefolgter Stadt siehst du stattdessen eine prominente In-Page-Karte auf der Stadtkarte — dann gibt es bewusst keinen zusaetzlichen Toast.
  • Neue Nachrichten / Benachrichtigungen: erscheinen ebenfalls als Toast (respektieren deine Einstellungen unter Konto & Einstellungen → Mitteilungen). Toasts erscheinen fuer alle Chat-Typen (DM, Gruppe, Event-Chat). Solange du bereits in /de/messages bist, wird der Chat-Toast unterdrueckt. Per-Thread-Mute (Mobile) deaktiviert nur die OS-Push, nicht den Web-Toast oder den Inbox-Badge — beide bleiben sichtbar.
  • Fehlende Rueckmeldung? Einige Stellen sind bekannt und sollen nachgezogen werden — eine aktuelle Gap-Liste haelt docs/architecture/toast-notifications.md §6.1 fest.

8. Hinweise

  • Sichtbarkeit: Vorgeschlagene Orte und Events erscheinen erst nach Pruefung durch das Team.
  • Moderation: Kommentare koennen vom Moderationsteam entfernt werden, wenn sie gegen die Community-Regeln verstossen.
  • Meldungen: Es gibt ein Tages- und Cooldown-Limit fuer Meldungen.
  • Profil-Sichtbarkeit: Du kannst dein Profil auf privat stellen. Dann sehen andere Nutzer nur deinen Namen und muessen eine Follow-Anfrage senden.
  • Passkeys: Unter /de/profile im Bereich Sicherheit & Login kannst du Passkeys hinzufuegen oder entfernen.
  • Account loeschen: Unter /de/profile im Bereich Konto & Daten (oder weiterhin /de/account/delete) — unwiderruflich; Profil-Stammdaten werden anonymisiert, benutzer-private Listen/Push-Tokens/Sozialgraph werden gelöscht. Beitraege, Kommentare und Chats bleiben mit anonymisierter Referenz. Vollständige Liste: /de/konto-loeschen.
  • Ort einreichen auf dem Smartphone: Ueber das Plus-Menü im App-Header (Zeile 2, Eintrag Ort vorschlagen) bzw. die Route /submit/place — wie auf Desktop/Web; die Eingabe laeuft als Web-Bridge im In-App-Browser. Dieselbe Sitzung wie in der App ist aktiv; der Server schreibt deinen Vorschlag wie auf Web in die Moderations-Queue (PENDING).
  • Ort beanspruchen auf dem Smartphone: Auf der Mobile-Place-Detail-Seite gibt es eine Karte „Bist du Inhaber:in dieses Ortes?" mit einem „Auf Web oeffnen"-Button. Der Button oeffnet den Web-Place mit dem eingebetteten Claim-Form (Nachweis-Upload wie Gewerbeschein) im In-App-Browser.
  • Hilfe, Kontakt, Impressum, Datenschutz, Community-Regeln, Transparenz, MerhabaMap unterstützen (/de/support): auf Web und in eingebetteten Hilfs-/Rechtsseiten erreichbar. Mobile-Shell (schmales Fenster / App): kein Site-Footer — Zugang ueber Profil → App & Diagnose, Drawer (Ueber MerhabaMap /legal, MerhabaMap unterstuetzen /support), Hilfe & Support (/help, im Drawer fuer Gaeste) oder direkte Routen. Desktop: zusaetzlich Fusszeilen-Navigation des Site-Footers.