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
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
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
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
9b6df05f4a
apps/web: add next-auth
2024-12-24 18:34:50 +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
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
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
vchikalkin
8169685d6a
add navigation
...
add pages structure
temp disable telegram provider
2024-12-16 18:53:55 +03:00
vchikalkin
2c0b139d35
packages: upgrade next@15.1.0
2024-12-11 16:05:11 +03:00
Vlad Chikalkin
49df4365ca
Feature/telegram integration ( #4 )
...
* add files from official template
* remove all official template trash
2024-12-11 16:00:55 +03:00
vchikalkin
db2727bed6
apps/web: add playwright
2024-12-10 18:15:51 +03:00
vchikalkin
2b14158d29
apps/web: add vitest
2024-12-10 17:41:38 +03:00
vchikalkin
80e54ac294
apps/web: support graphql
2024-12-09 18:33:13 +03:00
vchikalkin
aa3ca43730
packages: upgrade
2024-12-09 15:57:33 +03:00
vchikalkin
00e0bb66ff
packages: upgrade @vchikalkin/eslint-config-awesome@2.0.5
2024-11-28 11:49:47 +03:00
vchikalkin
1e06d6da23
packages: add lint-staged-config
2024-11-28 11:45:47 +03:00
vchikalkin
b159d811b5
pnpm catalog
2024-11-27 23:28:16 +03:00
vchikalkin
e8dabbb2e5
packages: add lint-staged
2024-11-27 23:22:39 +03:00
vchikalkin
ed239ea830
add husky
2024-11-27 21:24:09 +03:00
vchikalkin
f64818d545
add shadcn/ui
2024-11-27 14:29:35 +03:00
vchikalkin
4b831ec619
pnpm: use catalog
2024-11-27 14:03:52 +03:00
vchikalkin
592e40fef1
packages: fix versions
2024-11-27 13:27:52 +03:00
vchikalkin
4f2cd81dea
add new packages
2024-11-27 13:22:49 +03:00
vchikalkin
4b0fea9698
ESLint: add plugin eslint-plugin-tailwindcss
2024-11-26 21:46:54 +03:00
vchikalkin
1cf150c5ba
replace tailwind config from examples/with-tailwind
2024-11-26 17:19:01 +03:00
vchikalkin
8959dddb50
packages: add tailwind
2024-11-26 17:08:22 +03:00
vchikalkin
bb1a857993
ESLint: use config @vchikalkin/eslint-config-awesome
2024-11-26 16:38:46 +03:00
Turbobot
b576e0edb7
feat(create-turbo): install dependencies
2024-11-26 15:34:12 +03:00
Turbobot
d61c15e916
feat(create-turbo): create basic
2024-11-26 15:33:59 +03:00