Mobile UX batch 1: clear buttons, tappable contacts, pipeline swipe + amounts, keyboard-safe sheets (v0.1.0:101)
Grant device feedback, frontend-only (CSS + React); no backend, schema,
migration, or dependency change.
- Clear (×) button on the Grid/Contacts search + reminder/quick-log investor
pickers (shared ClearableInput; the × shows only when there's text).
- Grid investor-detail contact pills are tappable: name deep-links to the
Contacts detail (new Grid→Contacts one-shot action, matched by email then
name), email opens the mail app (mailto:).
- Grid contact-name search already surfaced the investor — verified, no change.
- Mobile Pipeline is a full-height flex column so the whole area above the now
bottom-pinned dots is the swipe target; each stage page scrolls its cards.
- Expected-amount entry: optional amount when adding to the pipeline from the
Grid detail (feeds pipeline/link), and an editable amount on the Pipeline
card detail (PUT /api/opportunities/{id}).
- Bottom sheets lift above the on-screen keyboard (visualViewport) and cap
their height to the visible area, so the reminder picker results stay visible.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
// Mobile UX batch 1 — Grant device feedback. Frontend-only (CSS + React); no backend, schema,
|
||||
// migration, or dependency change.
|
||||
// - [1] Inline ✕ clear button on the Grid/Contacts search + the reminder/quick-log investor
|
||||
// pickers (a shared ClearableInput; the ✕ shows only when there's text).
|
||||
// - [2] Grid investor-detail contact pills are tappable: the name deep-links to the Contacts
|
||||
// detail (a new Grid→Contacts one-shot action, matched by email then name), the email
|
||||
// opens the mail app (mailto:).
|
||||
// - [3] (already worked) Grid search already matches a contact's name/email, surfacing the
|
||||
// investor — verified, no change.
|
||||
// - [4a] Mobile Pipeline is a full-height flex column: the swipe area fills everything above the
|
||||
// now bottom-pinned page dots, so a horizontal swipe anywhere switches stages; each stage
|
||||
// page scrolls its own cards.
|
||||
// - [4b] Expected-amount entry: an optional amount when adding an investor to the pipeline from
|
||||
// the Grid detail (feeds pipeline/link), and an editable amount on the Pipeline card detail
|
||||
// (PUT /api/opportunities/{id} — authenticated, expected_amount is in the field allowlist).
|
||||
// - [5] Bottom sheets lift above the on-screen keyboard (visualViewport) and cap their height to
|
||||
// the visible area, so the reminder investor-picker results are no longer hidden.
|
||||
export const v_0_1_0_101 = VersionInfo.of({
|
||||
version: '0.1.0:101',
|
||||
releaseNotes: {
|
||||
en_US: [
|
||||
'Mobile polish: clear (✕) buttons on search fields, tappable contacts in the Grid detail',
|
||||
'(name → contact, email → mail app), a full-screen swipe area on the Pipeline with the dots',
|
||||
'pinned to the bottom, expected-amount entry when adding/viewing a pipeline deal, and',
|
||||
'investor-picker suggestions that stay visible above the keyboard.',
|
||||
].join(' '),
|
||||
},
|
||||
migrations: { up: async () => {}, down: async () => {} },
|
||||
})
|
||||
Reference in New Issue
Block a user