Skip to content

Admin-availability#45

Merged
mjouins merged 37 commits intomasterfrom
admin-availability
Aug 26, 2025
Merged

Admin-availability#45
mjouins merged 37 commits intomasterfrom
admin-availability

Conversation

@mjouins
Copy link
Copy Markdown
Owner

@mjouins mjouins commented Aug 26, 2025

Summary

  • Refactored folder structure: moved components (e.g., Sidepanel, Modal, Pagination) to a dedicated ui folder, and cleaned up imports/exports for consistency.
  • Added a reusable Modal component and migrated all popups to use it, reducing redundancy.
  • Enhanced Pagination, Profile, Input, and Icon components with additional props and support for custom styles and advanced inputs.
  • Implemented form utilities: field checker and payload cleaner functions for easier validation and sanitizing data.
  • Improved and extended admin and client availability/appointment management pages, including step-based modals for booking, and support for CRUD on availabilities.
  • Bug fixes and improvements throughout: payload validation logic, display bugs, typo fixes, code consistency, and minor style tweaks.
  • Updated and extended unit tests to match new behavior and endpoints.
  • Updated Prettier config (max line width 130).

mjouins added 30 commits July 26, 2025 08:49
- updated imports paths

- updated todo
…payload

- added reusable field checker function, returns true if at least one field in the payload is set
- deleted redundant popups in favor of using Modal

- removed redundant div wrapper for pagination, and passed custom classname as we enhanced it before
- deleted redundant popup components to reduce code repetition, in favour of using Modal

- fixed picture typo

- changed settings page to use margin instead of padding
- deleted redundant popups in favour of using modal
- updated files that gave problems due to this change
- minor code change for consistency
- updated pages to use added for fetching public profiles values from api, by adding loading state and passing it to Profile loading prop, to automatically render loading spinner
…ays for now, (todo: create update delete)

- updated todo
…vailabilities by taking in start date, end date, start slot, end slot, interaval and week days.

- updated unit tests to reflect current changes

- updated todo
…slots and interval setting field

- minor cleanup moved generate slots method into the availability mixin
…lected barber

- enhanced util clean payload function to accept days of the week as numbers separated by comma validating them

- updated todo
… having next selections dependent on previous ones, like select barber first then select it's offered services, etc..
…appointments, (todo improve styling of the modal)

- added barber selection component, for drop down menu
- added services selection component for multi selection checkbox
- added date slot selection component for choosing date and slot
- added BookAppointmentModal to handle the step based modal selections for booking an appointment
- added small ConfirmationStep component to show final selections before proceeding to book the appointment
- added new public endpoint to return availability slots for selected date

- enhanced Input component to support dropdown and checkbox style inputs with builtin options fetching and mapping through passed callback function props

- updated todo
…ed slots from being shown in the api

- updated todo
- enhanced Icon component to accept override class
- sylized checkbox input

- fixed bug reloading at every interaction (added hasLoaded state)

- fixed bug not loading sot when date is selected (added reloadKey)
@mjouins mjouins merged commit 5826c9a into master Aug 26, 2025
1 check passed
@mjouins mjouins deleted the admin-availability branch August 26, 2025 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant