July 16th, 2025
This PR delivers a wide range of bug fixes, UI/UX improvements, type safety enhancements, and performance optimizations to improve app stability, usability, and developer experience.
Resolved type inference issues in selectedItemForStock, Pet, and PetParent interfaces.
Improved type guards and assertions to prevent Property 'id' does not exist on type 'never' errors.
Explicitly typed converted objects like CRMPet, CRMPetParent for better clarity and maintainability.
Handled fallback values for optional fields such as gender, firstName, and lastName.
PetCare Booking UI:
Adjusted page layout and login flow.
Improved floating menu positioning and visibility.
Grooming Appointment:
Enhanced UI and form fields in "Create Pet" flow.
Inventory Table:
Made responsive with layout adjustments for better usability.
PetParent Profile:
Repositioned action buttons to bottom of the screen for improved mobile experience.
Invoicing & Pet Parent List:
Made responsive; added phone number column for Pet Parents.
Fixed incorrect import path in fix-rls-policies Edge Function.
Removed unused functions and properties like:
membershipType, rewardPoints, convertWeight (POS module).
Refactored calculateRevenue() calls for accuracy and better error handling.
Optimized INITIAL_SESSION event handling to reduce unnecessary triggers.
Fixed infinite loops caused by incorrect dependencies/state updates.
Improved Supabase data fetching in Grooming Appointments to avoid redundant reads.
Removed redundant console.log() statements, especially those logging null.
Fixed missing timezone column in organizations table.
Updated logic from orgData.users β orgData.users[0] for proper user selection.
Handled invoice.pet_parents as an array with appropriate null checks.
Updated Invoice type to allow pet_parents to be null.
Applied type guards on settingsData to prevent runtime crashes.