Repository navigation
feat(companion): booking actions ios ui update - #26307
Conversation
- Add LogoutConfirmModal.ios.tsx using native Alert.alert() - Add BookingModals.ios.tsx using native Alert.prompt() for reject modal - Add RescheduleScreen.ios.tsx using @expo/ui/swift-ui DateTimePicker These iOS-specific implementations provide native glass UI experience instead of custom React Native modals.
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
- Change import from DateTimePicker to DatePicker - Use onDateChange instead of onDateSelected - Use displayedComponents as array instead of string - Use selection instead of initialDate
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
- Use @expo/ui/jetpack-compose DateTimePicker for native Android date/time selection - Use variant='picker' with showVariantToggle=false for consistent UI - Use displayedComponents='date' for date picker and 'hourAndMinute' for time picker - Use is24Hour=true for 24-hour time format
…duleScreen" This reverts commit 9567767.
There was a problem hiding this comment.
1 issue found across 4 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="companion/components/booking-modals/BookingModals.ios.tsx">
<violation number="1" location="companion/components/booking-modals/BookingModals.ios.tsx:123">
P2: Race condition: `setTimeout(..., 0)` after `onRejectReasonChange(reason)` does not guarantee the state update has been processed before `onRejectSubmit()` runs. React batches state updates asynchronously. The reject reason may be lost when submitting.
Consider modifying `onRejectSubmit` to accept the reason directly, or storing the reason in a ref that `onRejectSubmit` can read synchronously.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
…s for RescheduleScreen - Add RescheduleScreen.android.tsx using @react-native-community/datetimepicker for native Android date/time pickers - Update RescheduleScreen.tsx to use native HTML date/time inputs on web/extension - Install @react-native-community/datetimepicker package
There was a problem hiding this comment.
1 issue found across 4 files (changes from recent commits).
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="companion/components/screens/RescheduleScreen.tsx">
<violation number="1" location="companion/components/screens/RescheduleScreen.tsx:192">
P1: Parsing "YYYY-MM-DD" with `new Date()` interprets it as UTC midnight, causing the selected date to shift to the previous day in timezones west of UTC. Parse the date components explicitly to create a local date instead.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
1 issue found across 3 files (changes from recent commits).
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="companion/components/screens/RescheduleScreen.android.tsx">
<violation number="1" location="companion/components/screens/RescheduleScreen.android.tsx:140">
P2: The date picker no longer prevents selection of past dates. The removed `@react-native-community/datetimepicker` had `minimumDate={new Date()}` to prevent past date selection at the UI level. Users can now select invalid past dates and only see an error after tapping submit. Consider adding a `minimumDate` prop if supported by `@expo/ui/jetpack-compose` DateTimePicker, or document this as an intentional UX change.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
…eets (#26366) * feat(companion): add native iOS bottom sheet for meeting session details * move file to correct location, remove bg and use glass ui bg * feat(companion): convert booking action pages to iOS bottom sheets - Add iOS-specific bottom sheet implementations for: - edit-location (detents: 0.5, 0.7) - mark-no-show (detents: 0.4, 0.6) - view-recordings (detents: 0.7, 0.9) - add-guests (detents: 0.6, 0.8) - reschedule (detents: 0.8, 0.95) - Move route files from (tabs)/(bookings)/ to root app/ level - Register screens in root _layout.tsx with platform-specific options - Update navigation paths from nested to root level - Remove migrated screens from bookings _layout.tsx * updated booking actions pages to use glass ui bottom sheet * new ui for booking actions ready * add biome file * fix event type detail react compiler issue * update button style * fix black flash ui
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="companion/components/screens/AvailabilityDetailScreen.tsx">
<violation number="1" location="companion/components/screens/AvailabilityDetailScreen.tsx:223">
P2: Removing `dayNameToNumber` from the dependency array violates React's exhaustive-deps rule since it's used inside the callback. Since `dayNameToNumber` is a static constant, the proper fix is to move it to module scope (alongside `DAYS` and `DAY_ABBREVIATIONS`) rather than removing it from dependencies while keeping it inside the component.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Screen.Recording.2026-01-02.at.3.08.37.AM.mov
and
Screen.Recording.2026-01-02.at.2.30.22.AM.mov
and