vchikalkin
0bfebce1e3
fix: pnpm-lock.yaml
2025-07-03 14:48:53 +03:00
vchikalkin
687142f9af
feat(bot): add share bot command and update environment configuration for BOT_URL
2025-07-03 13:49:35 +03:00
vchikalkin
b9371c34ad
fix(contacts, orders): replace empty state messages with DataNotFound component for better user feedback
2025-07-03 13:27:07 +03:00
vchikalkin
f6354d41f6
refactor(order-buttons, action-panel): streamline button handlers and add return functionality
2025-07-03 12:52:33 +03:00
vchikalkin
d587ea23b6
fix react typings
2025-07-03 12:20:41 +03:00
vchikalkin
4983e7b36b
fix(api/notify, api/orders): enhance notification messages and update order state handling for masters
2025-07-03 12:11:48 +03:00
vchikalkin
7f86fc164d
fix(api/orders): update master validation logic to handle optional masters
2025-07-03 12:00:50 +03:00
vchikalkin
b7a217787d
web/packages: upgrade next
2025-07-03 12:00:10 +03:00
vchikalkin
1772ea4ff8
docker-compose: comment ports
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
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
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
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
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
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
vchikalkin
ecc7b44d6d
fix build web with docker compose
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 17:46:33 +03:00
vchikalkin
ad4abdcb28
Update GitHub Actions workflow to use actions/checkout@v3 for consistency across deployment jobs
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-06-27 23:18:14 +03:00
vchikalkin
4a13044d3e
Refactor GitHub Actions workflow for Docker deployment
...
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
- Replace Docker Buildx setup with direct Docker installation.
- Update Docker Hub login method to use command line.
- Separate build and push steps for web and bot images for clarity and maintainability.
2025-06-27 23:16:26 +03:00
vchikalkin
aa8521fec7
add docker-compose and CI/CD workflow for web and bot services
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-06-27 23:12:06 +03:00
vchikalkin
4369110076
order-card: add order_number to ui
2025-06-27 14:51:00 +03:00
vchikalkin
204e3b7581
order-buttons: add onComplete button
2025-06-27 14:19:58 +03:00
Vlad Chikalkin
c5799a7f00
Feature/orders ( #25 )
...
* add contacts scroller
* add service select
* add calendar & time picker
* context/order: add masterId
* Revert "context/order: add masterId"
This reverts commit d5d07d7b2f5b6673a621a30b00ad087c60675a3f.
* components/order-form: add back button
* disable submit button if no customer selected
* disable submit button if no service selected
* service component: comment span
* save selected date to context
* fix calendar padding
* hooks/slot: rename index -> master
* slot list: render immediately
* fix step components rendering
* add check icon for masters
* Revert "add check icon for masters"
This reverts commit cc81a9a504918ebbffcca8d035c7c4984f109957.
* prepare for split contacts grid into masters/clients grid
* create MastersGrid & master-select step
* optimize useCustomerContacts
* add ClientsGrid & 'client-select' step
* add self to masters list & border avatar
* context/order: split into files
* hooks/profile: allow pass empty args to useProfileQuery/useProfileMutation
* context/order: skip client-select in client steps
* packages: upgrade next@15.3.0
* .vscode: add launch.json
* back-button: fix steps using
* contacts: skip client step for client
* fix react types
* ServiceSelect: fix padding
* Revert "contacts: skip client step for client"
This reverts commit db9af07dab9df9428561a1952f5a2c91c5b9d88d.
* fix steps for client & master
* split datetime-select into files
* improve useSlots hook
* migrate from order context to zustand store
* pass order store via context
* fix submit button not working
* skip master select for master & client select for client
* select time feature & get final order values
* apps/web: rename actions/service -> actions/services
* create order works!
* split next-button into two buttons
* add result pages (success, error)
* packages/graphql: add eslint
* merge branch 'refactor-api' (#23 )
* refactor customer api
* refactor slots api
* hooks/customers: use invalidateQueries
* refactor services api
* optimize hooks queryKey
* refactor orders api
* typo refactor hooks
* fix telegramId type (number)
* fix bot with new api
* rename customers masters & clients query
* fix useClientsQuery & useMastersQuery query
* new line after 'use client' & 'use server' directives
* move getAvailableTimeSlots to server
* getAvailableTimeSlots: add filter by orders
* take into service duration when computing times
* fix GetSlotsOrders order
* take into existing orders when computing times
* fix build
* app/orders: fill page with content
* stores/order: split into slices
* components/orders: remove nested components dirs
* move order store -> orders\order-store
* replace ScheduleTimeContext with ScheduleStore
* fix slots queries
* context: rename contexts properly
* finally organized stores & context
* move order-card & time-range to @/components/shared
* Refactor/components folder structure (#24 )
* refactor components/navigation
* refactor components/orders
* refactor components/profile
* refactor components/schedule
* remove components/common/spinner
* add launch.json
* add horizontal calendar
* remove context/date.tsx
* optimize orders list fetching
* add numberOfDaysBefore param
* fix orders list in slot page
* graphql/api: remove throw new Error
* horizontal-calendar: switch months by arrow buttons
* SlotCard: use SlotComponentProps type
* stores/schedule: export useScheduleStore
* SlotPage: add page header title
* contacts: mark inactive contacts
* prefetchQuery customer profile pages
* fix create slot
* packages: radash -> radashi
* fix queries, using formatDate & formatTime on client
* graphql: remove rename operations files
* fix create order query
* fix show actual slot status after slot update
* order page
* slot page: replace buttons with floating panel
* fix blur & colors
* fix floating panel overflows content
* hide ClientsOrdersList for non masters
* hooks/services: rename input -> variables
* move OrderCard types close to component
* exact types for Slot components & page
* app/profile: show shared orders
* order-services: fix types
* order page: add buttons
* order-card: add colors
* add order status alert
* fix badges & alerts
* take into account cancelled and completed orders in the slot list
* action panel: hide if no handlers
* highlight days with slots in schedule calendar
* highlight days in horizontal calendar
* remove getSlotsOrders fn
* show masters avatar in orders list
* fix auth redirects
* fix orders list for client
* create useIsMaster hook to prevent duplication
* order: revert cancel button for master
* FloatingActionPanel: block buttons while pending request
* hooks: invalidate orders & slots after mutate & delete
* order: revert approve button for master
* api/orders: protect update order
* order-card: show date
* order-card: add showDate variables in props
* order: add repeat button
* disable dashboard button
* apps/bot: beautify messages
* order: notify to telegram messages
* orderUpdate: add status info
2025-06-27 13:44:17 +03:00
vchikalkin
b418790ae4
packages: upgrade 'eslint-config-awesome'@2.2.2, 'eslint'@9.17.0
2025-02-27 13:24:00 +03:00
vchikalkin
042b3f4308
apps/web: upgrade package 'next'@15.2.0
2025-02-27 12:33:44 +03:00
vchikalkin
498f580dd9
organize components exports
2025-02-26 17:57:27 +03:00
vchikalkin
cc30d0163c
fix login via telegram
2025-02-20 19:18:56 +03:00
Vlad Chikalkin
06be87f0ec
Feature/records ( #22 )
...
* components/profile: rename components files
* components/profile: organize files & folders
* split DataCard to 2 components
* [2] components/profile: organize files & folders
* data-card: fix phone field disabled
* fix card header color
* add schedule button for master
* fix navigation & profile background
* add basic schedule page
* fix bottom navbar overflows content
* header: remove bottom margin
* replace vanilla calendar with shadcn/ui one
* add slot functional
* fix forbidden error
* add slot operations
* show slots
* filter by selected day
* add hook useSlots
fix update slots list after add slot
fix initial fetch slots
* use slots hooks
* split edit-slot-form into files
* rename /time-slots -> /components
* refactor components & folders structure
* add feature: delete slot
* hooks/slot: update query keys
* add hooks/profile
* add hook useProfileMutation
* use useProfileMutation hook for update role
* rename useProfile -> useProfileQuery
* fix useProfileQuery queryKey
* add hook useContactsQuery
* remove unused ternary operator
* header: add backdrop blur
* create slot cards
* fix elements y center
* fix getSlots filters
* ui/ux improvements
* fix date time types & names
* move profile components from sub folder
* add basic slot page
* fix add slot form padding x
* add slot buttons
* extend slot card information
* fix import type
* use Container in pages
* change orange -> yellow for dark
* use Loading spinner in slots list
* refactor \components\schedule dir structure
* add orders list
* change query & mutation keys
* change url /profile/schedule/slot/ -> /slots/
* order: show services
* remove prefetchQuery
* bring the results of queries and hooks into a single form
* react query: globally show error toast
* add font inter
* fix header: center text
* orders: add sorting
* order card: add avatar
* rename records -> orders
* reduced text size
* fix slot buttons
* fix datetime card ui
* fix header: center text (finally)
* layout/container: last:mb-4
* fix type
* slot-datetime: use ReadonlyTimeRange
* rename files & components
* remove unnecessary context using
* feature: edit slot time
* fix: selected day reset after go back to /schedule
* rename AddTimeRange -> EditableTimeRangeForm & refactor
* fix some elements on page before data loaded
* fix text size
* slot-card: remove gap
* slot-date: remove margin
* fix slots & orders layout
* toast: show error text in ui
2025-02-20 18:11:28 +03:00
vchikalkin
c8a602db05
apps/web: bottom navbar only for first-level pages
2025-01-29 11:53:48 +03:00
vchikalkin
87d327fe9f
apps/bot: команда /becomemaster
2025-01-27 17:55:35 +03:00
vchikalkin
c18e2b75a3
apps/web: change default locale to 'ru'
2025-01-27 17:47:52 +03:00
Vlad Chikalkin
427cc6b5d8
Feature/back button ( #17 )
...
* prepare for header back button: fix pages layout
add header with back button
* set header title
* optimize layout
* remove navigation context
* make profile photo bigger
* remove page-header from main pages
* fix profile layout
* profile: use ui/Card
* fix app background
* contacts: use ui/Card component
2025-01-27 17:28:28 +03:00
vchikalkin
efa6d2138b
upgrade packages
2025-01-20 18:16:19 +03:00
Vlad Chikalkin
10b36978fe
Feature/10 contacts ( #16 )
...
* apps/bot: add feature add contact
* apps/bot: check role 'master' before add contact
* apps/bot: rename createCustomer -> createUser
* remove ';'
* app/bot: add contact define name & phone
* apps/bot: check user already exists w/o telegramId (invited)
* Чтобы добавить контакт, сначала поделитесь своим номером телефона.
* apps/bot: create or update functions
* apps/bot: remove api.ts -> move getCustomer to packages/graphql/api
* packages/graphql: add api/customer tests
* tests for createOrUpdateClient
* fix(apps/web): user is undefined
* fix(apps/web): actions getCustomer
* feat(apps/web): update user photo on app launch
* rename page 'masters' -> 'contacts'
* feat(apps/web): add basic /contacts page
* fix app layout
* refactor customer queries
* add action getProfile
* get customer contacts
* use zustand for contacts
* add loading spinner
* rename filteredContacts -> contacts
* replace zustand with @tanstack/react-query
* profile: use react-query
* refactor updateRole function
* move updateRole closer to profile-card
* beautify actions
* add page 'profile/[telegramId]'
* profile: add button "message to telegram"
* profile: add call feature
* app/bot: normalize phone before register
* do not open keyboard on page load
* contacts: loading spinner
* telegram login: customer.active=true
* update name on telegram first login
2025-01-20 18:11:33 +03:00
vchikalkin
f4377f160f
packages: cleanup catalog
2025-01-10 12:27:44 +03:00
Vlad Chikalkin
b936a79c2b
feature/profile-page ( #8 )
...
* add basic profile page
* apps/web: detect telegram/browser
support browser (dev only)
* apps/web: add dark mode
* apps/web: support dark theme in tma
* apps/web: add loading spinner
remove dev info from page
* apps\web\app\(auth)\page.tsx: remove useState
* app/web: handle update profile name
* move debounce functional to hook
* add role checkbox
2025-01-10 11:51:14 +03:00
vchikalkin
b50e2dcf9b
apps/web: change html title
2024-12-24 18:36:21 +03:00
vchikalkin
9b6df05f4a
apps/web: add next-auth
2024-12-24 18:34:50 +03:00
vchikalkin
ec4fef85d3
packages/ui: fix imports
2024-12-23 23:27:31 +03:00
vchikalkin
5b996fbf68
refactor packages/graphql structure
2024-12-23 19:55:58 +03:00
vchikalkin
5d8b2ffc6b
move all graphql functional to packages/graphql
2024-12-23 19:07:25 +03:00
vchikalkin
6ec85bd234
pnpx codemod pnpm/catalog
2024-12-23 18:34:01 +03:00
vchikalkin
23e29f90cd
apps/bot: add vitest
2024-12-23 18:30:55 +03:00
vchikalkin
44d5c77037
apps/web: prepare for auth
2024-12-23 17:36:29 +03:00
vchikalkin
4ecac41396
apps/bot: check user already exists
2024-12-23 15:14:18 +03:00
vchikalkin
5b14a1a75a
apps/bot: add function getClientWithToken
2024-12-23 14:34:57 +03:00
vchikalkin
1d4584bd6f
apps/bot: add create-customer functional
2024-12-22 17:24:32 +03:00
vchikalkin
ab65579ccc
pnpx codemod pnpm/catalog
2024-12-17 15:18:42 +03:00
vchikalkin
3f4f47ed8e
apps: add bot
2024-12-17 15:13:45 +03:00
vchikalkin
3e1cfdd7fe
packages/ui: disable lint-staged
2024-12-17 13:00:46 +03:00
vchikalkin
12baf41612
repo: move graphql files to packages/graphql
2024-12-17 12:59:53 +03:00
vchikalkin
c05c77c578
add header
2024-12-16 21:34:02 +03:00