Commit Graph

34 Commits

Author SHA1 Message Date
iamkiddy
048cb1fcc9 Add appointment cancellation and rescheduling features
- Implemented functionality to cancel appointments, including a confirmation dialog for user actions.
- Added rescheduling capabilities with new state management for reschedule dialogs and inputs.
- Updated appointment detail pages for both admin and user views to reflect these new features, enhancing user experience and appointment management.
- Introduced new API actions for handling appointment cancellations and rescheduling, ensuring seamless integration with the existing appointment workflow.
2025-12-05 18:19:19 +00:00
iamkiddy
2eea3bcc1e Add percentage fields to appointment stats and update dashboard components to display these metrics.
- Introduced new percentage fields in the AppointmentStats and UserAppointmentStats interfaces.
- Updated the admin and user dashboard components to include and display percentage metrics for scheduled, completed, pending review, and rejected appointments.
- Removed commented-out percentage badges and implemented conditional rendering for displaying percentage values, enhancing the clarity of the dashboard statistics.
2025-12-05 14:14:12 +00:00
iamkiddy
f40ced5fb0 Add meeting status indication to appointment detail pages and dashboard stats
- Implemented logic to display a "Meeting has ended" button on both admin and user appointment detail pages when the meeting has concluded.
- Updated the dashboard to include a new statistic for active upcoming meetings, enhancing the overview of current appointments.
- Adjusted appointment stats model to accommodate the new active upcoming meetings metric, ensuring accurate data representation.
2025-12-05 13:03:58 +00:00
iamkiddy
f1cd73fe5d Enhance appointment scheduling by including timezone support in the schema and payload. Update the scheduleAppointment function to automatically use the user's timezone if not specified, improving accuracy in appointment scheduling. 2025-12-05 11:23:54 +00:00
iamkiddy
ff2721e791 Refactor startMeeting and endMeeting functions to refetch appointment details
Update the startMeeting and endMeeting functions in appointments.ts to ensure they return the latest appointment state by refetching details from the API. This change addresses the issue of receiving outdated appointment data and improves the accuracy of meeting management functionality.
2025-12-04 16:38:41 +00:00
iamkiddy
31ea0bf6ce Update API URLs for meeting start and end endpoints to use correct path structure
Refactor the startMeeting and endMeeting functions in api_urls.ts to point to the correct API paths for meeting management. This change ensures consistency in the API structure and aligns with the overall meeting control functionality.
2025-12-04 16:31:49 +00:00
iamkiddy
aecde6ce69 Enhance startMeeting function to accept optional metadata and recording URL parameters
Update the startMeeting function in appointments.ts to include optional parameters for metadata and recording URL. This enhancement allows for more flexible meeting initiation by enabling additional context and resources to be passed during the meeting start process.
2025-12-04 16:14:24 +00:00
iamkiddy
61f7f5cf1a Add end meeting API endpoint to API URLs
Introduce a new API endpoint for ending meetings in the API_URLS file, enhancing the meeting management functionality. This addition complements the existing start meeting endpoint, providing a complete set of meeting control options.
2025-12-04 15:58:21 +00:00
iamkiddy
fcb8fe3356 Refactor appointment detail components to improve meeting join logic
Enhance the appointment detail page for both admin and user interfaces by refining the logic for joining meetings. Update the handling of participant and moderator permissions, ensuring clarity in button displays based on meeting status. Remove the end meeting API endpoint from the API URLs as it is no longer needed.
2025-12-04 15:56:53 +00:00
iamkiddy
74d7a35e60 Add meeting management functionality to appointment detail page
Implement start and end meeting features in the appointment detail component. Introduce new API endpoints for starting and ending meetings, and update the appointment model to include meeting status fields. Enhance UI to provide buttons for starting and ending meetings, improving user interaction and experience.
2025-12-04 15:36:14 +00:00
iamkiddy
9f6bb98edb Enhance appointment scheduling and rejection logic by refining payload structure. Default create_jitsi_meeting to true if not specified and remove undefined fields from the payload. Update scheduleAppointmentSchema to support optional date_str and time_slot, ensuring either scheduled_datetime or both must be provided for validation. 2025-12-03 18:50:45 +00:00
iamkiddy
ce8383da89 Refactor appointment components to replace Jitsi meeting URLs with moderator and participant join URLs. Update logic for joining meetings and copying room IDs based on user roles, enhancing clarity in the UI. Modify appointment model to support new join URL fields and permissions for moderators and participants. 2025-12-03 18:39:30 +00:00
iamkiddy
01dcf9abe5 Refactor appointment handling to streamline selected time slots and improve data payload structure. Update UI components to display selected slots clearly and enhance user experience by ensuring only relevant data is sent to the API. Remove legacy fields from appointment responses for cleaner data management. 2025-12-03 11:03:01 +00:00
iamkiddy
80882c80bc Refactor Booking component to improve rendering of preferred availability and time slots. Update appointment model to support both string and array formats for preferred_dates and preferred_time_slots, enhancing flexibility in data handling. 2025-12-01 19:49:20 +00:00
iamkiddy
d51a795191 Refactor ContactSection and submitContactForm to streamline form submission process. Simplify input handling by using a single object for contact data and enhance error messaging for better user feedback. Update appointment detail rendering in Booking component for improved UI consistency. 2025-12-01 18:26:33 +00:00
iamkiddy
6fb6e97341 Enhance submitContactForm function to improve input sanitization and response handling. Update documentation to clarify that the endpoint does not require authentication. Implement checks for empty responses and specific error handling for authentication issues, ensuring a more robust user experience during form submissions. 2025-12-01 17:53:17 +00:00
iamkiddy
5318522f37 Refactor Booking and AppointmentDetail components to enhance rendering of preferred dates and time slots. Improve UI consistency by updating conditional rendering logic and ensuring proper handling of availability states. Additionally, streamline the ContactSection component to include form submission functionality with error handling and loading states for better user experience. 2025-12-01 17:35:28 +00:00
iamkiddy
cea4747da5 Enhance appointment detail and user dashboard components to conditionally render meeting links and buttons based on availability. Update appointment stats fetching logic to remove email dependency, improving user experience and API interaction. Refactor UI elements for better accessibility and clarity. 2025-11-27 20:35:26 +00:00
iamkiddy
a864d909a8 Refactor appointment handling in appointments.ts to improve error extraction, response parsing, and slot validation. Introduce new helper functions for better readability and maintainability, while ensuring compatibility with updated API response formats. 2025-11-27 19:53:35 +00:00
iamkiddy
6b83b092e3 Refactor Booking and AppointmentDetail components to integrate new appointment scheduling format. Update time slot management to use selected_slots, enhance availability loading logic, and improve error handling. Replace legacy date and time handling with a more robust API-driven approach for better user experience and data consistency. 2025-11-27 19:18:59 +00:00
iamkiddy
b2877dd36c Improve error handling in createAppointment function by using [\s\S] regex for better compatibility in parsing HTML error messages. 2025-11-26 11:44:16 +00:00
iamkiddy
cef17ea895 Add React DatePicker and styles, update package dependencies, and enhance booking validation 2025-11-26 11:42:31 +00:00
iamkiddy
9d3cc84816 Enhance type safety in BookNowPage and useAppointments hook. Update availableDates and availableDaysOfWeek mapping to specify string types. Add getUserAppointmentStats and AvailableDatesResponse types to useAppointments for improved type definitions. Modify Appointment interface to include 'completed' status for better appointment management. 2025-11-25 21:31:20 +00:00
iamkiddy
a1611e1782 Enhance AdminSettingsPage to fetch and update user profile. Implement profile data retrieval on component mount, update form structure to include first and last name, and add validation for required fields. Improve loading indicators and error handling for profile updates. Update API integration for fetching and updating user profile data. 2025-11-25 21:25:53 +00:00
iamkiddy
f6bd813c07 Refactor Booking component to manage time slots instead of time ranges. Update localStorage handling for time slots, enhance UI for selecting time slots, and improve validation for selected slots. Integrate public availability fetching in BookNowPage to display available time slots based on admin settings. 2025-11-25 21:04:22 +00:00
iamkiddy
85afc8c840 Enhance Booking component for admin availability management. Implement time range selection for each day, load saved time ranges from localStorage, and validate time inputs. Update API integration to ensure available_days is an array of numbers and improve error handling for availability updates. Refactor UI for better user experience in managing weekly availability. 2025-11-25 20:38:37 +00:00
iamkiddy
0297e6e3e5 Implement admin availability management in Booking component. Add functionality to manage weekly availability, including day and time selection, and integrate a dialog for updating availability. Enhance API integration for fetching and updating admin availability data. Update UI elements for better user experience. 2025-11-25 20:15:37 +00:00
iamkiddy
e593ae595b Refactor ReadmePage to use Next.js router for navigation and remove sensitive information. Update API_BASE_URL assignment for cleaner implementation in api_urls.ts. Clean up ForgotPasswordDialog component by removing unnecessary whitespace. 2025-11-25 17:26:30 +00:00
iamkiddy
7db02adbd7 Refactor Login and Signup components to utilize Suspense for improved loading states. Update error handling in LoginDialog to reference issues instead of errors for better validation feedback. Enhance appointment error handling by casting response data to unknown before extracting error messages. 2025-11-24 16:38:09 +00:00
iamkiddy
4f6e64bf99 Refactor Booking and Dashboard components to integrate appointment management and enhance data fetching logic. Replace mock data with API calls for appointments and user statistics, improving error handling and user feedback. Update UI elements for better search functionality and display of appointment details. 2025-11-23 22:28:02 +00:00
iamkiddy
37531f2b2b Refactor booking process in BookNowPage to integrate appointment creation via useAppointments hook. Enhance form submission logic to check user authentication before proceeding. Update API endpoint configurations for appointment management, including available dates and user appointments. Improve error handling and user feedback with toast notifications. 2025-11-23 21:43:13 +00:00
iamkiddy
041c36079d Enhance authentication and middleware logic by improving user role checks, adding OTP verification steps, and refining redirection based on user roles. Update login and signup forms to handle multiple user attributes and streamline error handling. Integrate logout functionality across components for better user experience. 2025-11-23 21:13:18 +00:00
iamkiddy
eb8a800eb7 Enhance authentication flow by integrating @tanstack/react-query for improved data fetching, adding form validation in Login and LoginDialog components, and updating user redirection logic post-login. Also, include new dependencies: input-otp and zod for OTP input handling and schema validation. 2025-11-23 13:29:31 +00:00
iamkiddy
4d7201d03e Update dependencies and improve styling in layout and global CSS. Added new packages for UI components and animations, and refactored CSS variables for better theme management. 2025-11-06 12:34:29 +00:00