Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions guides/mobile_surface_matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ and orthogonal — composition over a fat component library.
| Date / Time / Color pickers | ❌ | — | — | Plugin candidate |
| `<SearchBar>` | ❌ | — | — | Native search bar (UISearchBar / SearchBar). Plugin candidate |
| `<DatePicker>` | ❌ | — | — | Plugin candidate |
| `<Modal>` (sheet presentation) | 🟡 | 🟡 | 🟡 | Programmatic alerts + action sheets exist; full sheet-style modal is plugin territory |
| `<Modal>` (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 `<Modal>` 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
Expand Down Expand Up @@ -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 |
Expand Down
Loading