124 Commits

Author SHA1 Message Date
vchikalkin
6df47fdcac fix(order-form): initialize selected date in DateSelect component if not set
- Added useEffect to set the selected date to the current date if it is not already defined.
- Renamed setDate to setSelectedDate for clarity in state management.
2025-08-11 15:11:40 +03:00
vchikalkin
9dfd2724b6 fix(calendar): initialize selected date in ScheduleCalendar component if not set
- Added useEffect to set the selected date to the current date if it is not already defined.
- Imported useEffect alongside useState for managing component lifecycle.
2025-08-11 15:06:59 +03:00
vchikalkin
b8ebdb8c64 fix(orders): update datetime validation logic and test cases for order creation and completion
- Modified order creation tests to set datetime_start to one hour in the past for past orders.
- Updated the OrdersService to use isNowOrAfter for validating order completion against the start time.
- Enhanced datetime utility function to accept a unit parameter for more flexible comparisons.
2025-08-11 14:56:45 +03:00
vchikalkin
269dabe067 feat(orders): implement updateOrder functionality with comprehensive validation tests
- Added updateOrder method in OrdersService with checks for permissions, order state, and datetime validation.
- Implemented tests for various scenarios including successful updates, permission errors, and validation failures.
- Enhanced error handling for overlapping time and invalid state changes.
- Updated GraphQL operations to support sorting in GetOrders query.
2025-08-11 14:38:33 +03:00
vchikalkin
5451fe79ed test(orders): add validation test for missing datetime_end in order creation 2025-08-06 15:19:07 +03:00
vchikalkin
f7c21d5c01 add orders.test.js 2025-08-06 15:06:01 +03:00
vchikalkin
429f5dcab2 OrdersService: add checkBeforeCreate 2025-08-05 14:57:13 +03:00
vchikalkin
81dfdec7a5 refactor(slots): rename validation methods for clarity and consistency in slot service 2025-08-05 13:48:21 +03:00
vchikalkin
d8e88d8934 fix(api): standardize error messages for customer and slot retrieval, and improve validation logic in slots service 2025-08-05 13:31:08 +03:00
vchikalkin
620d2eaff4 test(slots): add comprehensive tests for getAvailableTimeSlots method, including edge cases and error handling 2025-08-05 13:18:42 +03:00
vchikalkin
ae9488b2d0 refactor(slots): rename checkUpdateIsTimeChanging to checkUpdateDatetime for clarity in slot update validation 2025-08-05 10:43:28 +03:00
vchikalkin
3448bff1a2 fix(slots): update error messages and validation logic for slot creation and updates, including handling of datetime fields and master status 2025-08-04 23:06:34 +03:00
vchikalkin
3941377e78 fix(slots): update error messages for missing datetime fields and improve validation logic in slot updates 2025-08-04 22:05:08 +03:00
vchikalkin
6d86c0d2db fix(slots): update error handling for customer and slot retrieval, enhance time validation in slot updates 2025-08-04 22:00:26 +03:00
vchikalkin
5ec324d207 packages/graphql: add slot tests 2025-08-04 17:59:51 +03:00
vchikalkin
d8f357b3f8 fix(jwt): update import path for isTokenExpired function to remove file extension 2025-08-04 11:30:56 +03:00
vchikalkin
ba88305bbf feat(orders, slots, schedule): enhance order and slot button functionality with date validation and conditional rendering 2025-08-02 20:40:09 +03:00
vchikalkin
ee6ccbef84 feat(slots): add error handling for slot deletion when orders are present 2025-08-02 19:28:38 +03:00
vchikalkin
6c4e6113f6 refactor(api): replace CustomerProfile with UserProfile and streamline user retrieval across services 2025-08-02 18:53:23 +03:00
vchikalkin
25fb9269fc refactor(calendar): comment out past date disabling logic for calendar component; refactor day slots list to improve slot display and add conditional rendering for add form 2025-08-02 18:07:00 +03:00
Vlad Chikalkin
ed197143d6
Feature/tma back button (#70)
* feat(layout): integrate TelegramProvider and BackButton into main layout for enhanced navigation

* refactor(layout): remove BackButton from main layout and update navigation imports

* use ui back button for non tma mode
2025-08-02 15:42:06 +03:00
vchikalkin
278da049a5 refactor(service-card): add text truncation to service name for improved layout 2025-08-02 11:11:29 +03:00
vchikalkin
9061c6eda3 feat(slots): add time validation to prevent past slot selection 2025-08-02 11:07:18 +03:00
Vlad Chikalkin
10981e2afb
Issues/66 (#67)
* feat(profile): add 'Услуги' link button to LinksCard for service management

* feat(services): add create and update service functionalities with corresponding API actions and hooks
2025-08-01 19:54:10 +03:00
Vlad Chikalkin
fde9305632
Fix/bugs features pt 3 (#64)
* chore(docker): add healthcheck to service in docker-compose.yml and update deploy workflow to include docker compose down

* refactor(orders): add useOrdersInfiniteQuery for improved pagination and add load more button in orders list components

* refactor(graphql): remove NotifyService and related notification logic from orders and API, clean up unused dependencies

* refactor(api): streamline customer, order, service, and slot actions by wrapping server functions with client action utility to rethrow error messages to client
2025-07-23 13:15:08 +03:00
vchikalkin
ae0e7cc1a7 refactor(orders-list): replace HorizontalCalendar with Calendar component and update date selection logic for improved clarity and functionality 2025-07-19 16:52:52 +03:00
Vlad Chikalkin
ccfc65ca9b
Fix/bugs features pt 2 (#58)
* refactor(profile): comment out change role feature

* refactor(orders): update OrderServices and ServiceSelect components to utilize ServiceCard, and enhance service fields with duration in GraphQL types

* refactor(schedule): implement forbidden order states to disable editing slots with active orders

* fix(deploy): update SSH configuration to use dynamic port from secrets for improved flexibility

* refactor(api/orders): simplify order creation logic by removing unnecessary validations and improving error handling

* refactor(contact-row): replace role display logic with useIsMaster hook for improved clarity

* refactor(profile/orders-list): update header text from "Общие записи" to "Недавние записи" for better clarity
gql: GetOrders add sort slot.date:desc

* refactor(profile/orders-list): enhance OrderCard component by adding avatarSource prop based on user role

* feat(order-form): implement date selection with event highlighting and monthly view for available time slots

* refactor(i18n/config): update timeZone from 'Europe/Amsterdam' to 'Europe/Moscow'

* refactor(order-form/datetime-select): enhance date selection logic to include slot availability check

* refactor(datetime-format): integrate dayjs timezone support with default Moscow timezone for date and time formatting

* fix(contact-row): replace useIsMaster hook with isCustomerMaster utility for role display logic

* refactor(service-card): replace formatTime with getMinutes for duration display

* refactor(order-datetime): update date and time handling to use datetime_start and datetime_end for improved consistency

* refactor(profile): streamline profile and slot pages by integrating session user retrieval and updating booking logic with BookButton component

* fix(navigation): append query parameter to bottom-nav links and enhance back navigation logic in success page
2025-07-18 17:11:43 +03:00
Vlad Chikalkin
1075e47904
Update message.ts 2025-07-04 10:08:05 +03:00
vchikalkin
6a8804abb1 refactor(api/notify): format orderCreated method parameters for improved readability 2025-07-03 22:52:16 +03:00
vchikalkin
53af172e34 feat(api/notify): enhance order creation notifications with dynamic emoji and confirmation text based on creator role 2025-07-03 22:51:03 +03:00
vchikalkin
cc91c5cb30 feat(api/notify): update notification messages with dynamic emojis based on order state 2025-07-03 22:44:28 +03:00
vchikalkin
686fe60b80 feat(api/orders): add validation to prevent masters from recording other masters as clients 2025-07-03 22:31:41 +03:00
vchikalkin
1e4e4aa336 fix(bot): improve text clarity in messages and commands list 2025-07-03 22:03:09 +03:00
vchikalkin
1c295a4b41 refactor(bot): add comments 2025-07-03 21:36:44 +03:00
vchikalkin
d9b054df14 feat(bot): add phone number validation and error handling for contact messages
set active: true after full registration
2025-07-03 21:30:17 +03:00
vchikalkin
ac897a77f8 chore(docker-compose): remove build context and dockerfile references for web and bot services 2025-07-03 20:55:50 +03:00
vchikalkin
9efa022cd6 fix build 2025-07-03 20:54:08 +03:00
vchikalkin
33a20b9f2e refactor(bot): replace CustomersService with RegistrationService for customer management 2025-07-03 19:44:36 +03:00
vchikalkin
d41194f177 fix(bot): streamline customer creation logic by checking for existing customer before creating a new one 2025-07-03 19:02:25 +03:00
vchikalkin
28e88e02aa fix(bot): remove extra newline in commands list for improved formatting 2025-07-03 18:19:44 +03:00
vchikalkin
8feb0d3c05 feat(bot): add profile editing prompt to commands list 2025-07-03 18:03:33 +03:00
vchikalkin
339fff1879 fix(api/orders): refine permission checks for order access based on client and master roles 2025-07-03 17:23:36 +03:00
vchikalkin
c8bf3d9358 deploy: add BOT_URL 2025-07-03 16:51:46 +03:00
Vlad Chikalkin
7bcae12d54
Fix/bugs after first release (#26)
Some checks failed
Build & Deploy Web & Bot / Build and Push to Docker Hub (push) Has been cancelled
Build & Deploy Web & Bot / Deploy to VPS (push) Has been cancelled
* web/packages: upgrade next

* fix(api/orders): update master validation logic to handle optional masters

* fix(api/notify, api/orders): enhance notification messages and update order state handling for masters

* fix react typings

* refactor(order-buttons, action-panel): streamline button handlers and add return functionality

* fix(contacts, orders): replace empty state messages with DataNotFound component for better user feedback

* feat(bot): add share bot command and update environment configuration for BOT_URL

* fix: pnpm-lock.yaml

* feat(bot): implement add contact wizard scene and enhance contact handling logic

* feat(profile): add BookContactButton component to enhance booking functionality

* fix(order-buttons): update cancel and confirm button logic based on order state

* feat(service-select): share services list for all
enhance service card display with duration formatting and improve layout
2025-07-03 16:36:10 +03:00
vchikalkin
1772ea4ff8 docker-compose: comment ports
Some checks failed
Build & Deploy Web & Bot / Build and Push to Docker Hub (push) Has been cancelled
Build & Deploy Web & Bot / Deploy to VPS (push) Has been cancelled
2025-07-02 21:53:33 +03:00
vchikalkin
62af72d45f docker-compose.yml: add networks
Some checks failed
Build & Deploy Web & Bot / Build and Push to Docker Hub (push) Has been cancelled
Build & Deploy Web & Bot / Deploy to VPS (push) Has been cancelled
2025-07-02 21:25:48 +03:00
vchikalkin
ae63e4cb3b workflow: update deploy
Some checks failed
Build & Deploy Web & Bot / Build and Push to Docker Hub (push) Has been cancelled
Build & Deploy Web & Bot / Deploy to VPS (push) Has been cancelled
2025-07-02 21:20:00 +03:00
vchikalkin
b5da687dae apps/web: improve Dockerfile
Some checks failed
Build & Deploy Web & Bot / Build and Push to Docker Hub (push) Has been cancelled
Build & Deploy Web & Bot / Deploy to VPS (push) Has been cancelled
2025-07-02 21:05:59 +03:00
vchikalkin
79c404749c apps/bot: fix Dockerfile
Some checks failed
Build & Deploy Web & Bot / Build and Push to Docker Hub (push) Has been cancelled
Build & Deploy Web & Bot / Deploy to VPS (push) Has been cancelled
2025-07-02 20:50:30 +03:00
vchikalkin
7a3dd4688b fix apps/bot build
Some checks failed
Build & Deploy Web & Bot / Build and Push to Docker Hub (push) Has been cancelled
Build & Deploy Web & Bot / Deploy to VPS (push) Has been cancelled
2025-07-02 19:55:15 +03:00