diff --git a/guides/mobile_surface_matrix.md b/guides/mobile_surface_matrix.md index 338bb9c6..7bde7720 100644 --- a/guides/mobile_surface_matrix.md +++ b/guides/mobile_surface_matrix.md @@ -64,9 +64,9 @@ and orthogonal — composition over a fat component library. | Date / Time / Color pickers | ❌ | — | — | Plugin candidate | | `` | ❌ | — | — | Native search bar (UISearchBar / SearchBar). Plugin candidate | | `` | ❌ | — | — | Plugin candidate | -| `` (sheet presentation) | 🟡 | 🟡 | 🟡 | Programmatic alerts + action sheets exist; full sheet-style modal is plugin territory | +| `` (sheet presentation) | ✅ | ✓ | ✓ | `Mob.UI.sheet/2` — native modal sheet composing ordinary Mob nodes (iOS `.sheet`, Android Material 3 `ModalBottomSheet`). Android needs an app generated by `mob_new` ≥ 0.4.24. Programmatic alerts + action sheets also available via `Mob.Alert` | | Pull-to-refresh | ❌ | — | — | Missing; commonly requested. Plugin candidate | -| Bottom sheets | ❌ | — | — | Plugin candidate | +| Bottom sheets | ✅ | ✓ | ✓ | Same primitive as `` above — `Mob.UI.sheet/2` with `:detents` (`[:medium, :large]` subset). iOS cannot set the system dimming opacity, so `:scrim` is applied exactly on Android and approximated on iOS | | Drawer navigation | ❌ | — | — | Plugin candidate; mob's nav model is stack-based today | ## Touch, gesture, input @@ -188,7 +188,7 @@ and orthogonal — composition over a fat component library. | Local notification scheduling | ✅ | ✓ | ✓ | `MobNotify.schedule/2`, cancel (`mob_notify` plugin) | | Push notification registration | ✅ | ✓ | ✓ | `MobNotify.register_push/1` (`mob_notify` plugin) → token to `handle_info` | | Push delivery via APNs / FCM | ✅ | ✓ | ✓ | Via `mob_push` Hex package | -| Notification tap handling | ✅ | ✓ | ✓ | Foreground + background + cold-start (`take_launch_notification/0`) | +| Notification tap handling | 🟡 | 🟡 | 🟡 | Foreground + background work. **Cold-start does not**: the payload is stored before the NIF loads, so it is dropped and `take_launch_notification/0` returns `nil` ([#81](https://github.com/GenericJam/mob/issues/81), fix in [#77](https://github.com/GenericJam/mob/pull/77)) | | Notification actions (buttons) | ❌ | — | — | Plugin / core candidate | | Critical / time-sensitive flags (iOS) | ❌ | — | n/a | Plugin candidate | | Notification grouping / threading | ❌ | — | — | Plugin candidate |