81e4241f85
refactor: apply biome formatting to apps/web ( #27692 )
...
* refactor: apply biome formatting to apps/web (batch 1)
Formats apps/web non-modules directories:
- apps/web/app
- apps/web/lib
- apps/web/pages
- apps/web/styles
- apps/web/server
- apps/web/test
- Root-level .ts and .mjs files
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor: apply biome formatting to apps/web/modules (batch 2)
Formats smaller apps/web/modules directories:
- onboarding, data-table, users, apps, auth
- integration-attribute-sync, shell, availability
- feature-flags, team, webhooks, getting-started
- feature-opt-in, troubleshooter, schedules, notifications
- signup-view.tsx
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor: apply biome formatting to apps/web/modules (batch 3)
Formats medium apps/web/modules directories:
- bookings
- event-types
- insights
- embed
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor: apply biome formatting to apps/web/modules/ee (batch 4)
Formats apps/web/modules/ee directory.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor: apply biome formatting to apps/web (batch 5)
Formats remaining apps/web directories:
- apps/web/modules/settings
- apps/web/modules/booking-audit
- apps/web/playwright
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor: apply biome formatting to apps/web/components (batch 6)
Formats remaining apps/web/components files.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor: apply biome formatting to new apps/web files from main
Formats newly added/modified files from main merge:
- WorkflowStepContainer.tsx (resolved merge conflicts)
- Newly moved files (blocklist, form-builder, schedules, etc.)
- Other files modified in main
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor: apply biome formatting to new apps/web files from main
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-02-10 23:25:24 +05:30
Benny Joo
a28ab042ad
refactor: move admin and filter components out of packages/features ( #27604 )
...
* migrate CreateLicenseKeyForm
* refactor
* migrate
* migrate filters components
* fix import
2026-02-04 12:50:36 +02:00
Alex van Andel
4228f576b1
Revert "fix: cancel download fetch when progress toast is closed ( #27151 )"
...
This reverts commit fd476bf7f7 .
2026-01-27 17:37:31 -03:00
fd476bf7f7
fix: cancel download fetch when progress toast is closed ( #27152 )
...
* fix: cancel download fetch when progress toast is closed
- Create new progress-toast utility using @coss/ui toastManager
- Add ToastProvider to app providers
- Update download components to use AbortController for cancellation
- When cancel button is clicked, abort signal stops the fetch loop
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* fix: track active toasts with Set instead of accessing toastManager.toasts
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* feat: add AnchoredToastProvider to app providers
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: extract common CSV download logic into useCsvDownload hook
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: improve progress toast with i18n support and Progress component
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: replace useCsvDownload hook with DownloadButton component
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: rename DownloadButton to CsvDownloadButton
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* clean up i18n
* fix: properly throw AbortError when download is cancelled
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* Revert "fix: properly throw AbortError when download is cancelled"
This reverts commit 3c64b848140271e4dcd2e45dba5302eef9ca562c.
* fix abort controller
* fix layout shift
* better handle error
* fix: address Cubic AI review feedback
- Fix typo 'copmlete' -> 'complete' in download_progress i18n string
- Treat null batch as failure during CSV download to prevent partial exports
Co-Authored-By: unknown <>
* remove redundant try - catch
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-27 16:46:37 +00:00
Benny Joo and Devin AI
15268bcfb4
refactor: move timezone-select, settings, and insights components from packages/features to apps/web/modules ( #27227 )
...
* refactor: move timezone-select, settings, and insights components from packages/features to apps/web/modules
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix
* fix
* fix
* wip
* wip
* wip
* wip
* wip
* wip
* wip
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-26 12:05:18 +00:00
Eunjae Lee and Devin AI
2b7c087ac8
feat: limit badges to 2 with hover/click popover in UserListTable ( #26556 )
...
* feat: limit badges to 2 with hover tooltip in UserListTable
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: reuse LimitedBadges component with clickable popover for mobile
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: move LimitedBadges to components/ui with hover+click support
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: fix Biome lint issues in LimitedBadges and UserListTable
- Refactor LimitedBadges to concrete component with BadgeItem type
- Move exports to end of files to comply with useExportsLast rule
- Add explicit types to callback parameters for useExplicitType rule
- Convert nested ternary to if-else for filterType calculation
- Remove unused imports (Row, Table types)
- Update ResponseValueCell and UserListTable to use new LimitedBadges API
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* fix: add proper types for filterType and getFacetedUniqueValues
- Add FilterType import from @calcom/types/data-table
- Add FacetedValue import from @calcom/features/data-table
- Type filterType as FilterType to allow reassignment to different ColumnFilterType values
- Type getFacetedUniqueValues return as Map<FacetedValue, number>
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* add vertical gap
* fix: address code review feedback for LimitedBadges
- Add index to id for unique keys in ResponseValueCell.tsx
- Restore orange variant for group options in UserListTable.tsx
- Fix useMemo dependency array (add t, remove dispatch)
- Fix import ordering with biome
- Convert ternary operators to if-else statements for biome compliance
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: remove id from BadgeItem type, use label as key
- Remove id field from BadgeItem type in LimitedBadges
- Use label as React key instead of id
- Remove unused rowId parameter from ResponseValueCell
- Update all consumers to not pass id field
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* refactor: use index for key instead of label in LimitedBadges
Co-Authored-By: eunjae@cal.com <hey@eunjae.dev >
* Revert "refactor: use index for key instead of label in LimitedBadges"
This reverts commit 1daaac47e596fd6b5f5583847faa10b131783349.
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-09 16:57:06 +00:00
Benny Joo and Devin AI
404d46c991
refactor: Move trpc-dependent components from features to web [2] ( #26420 )
...
* fix
* move event types components to web
* update import paths
* mv apps components
* migrate form builder
* fix
* mv sso
* fix
* mv
* update import paths
* update import paths
* mv
* mv
* mv
* fix
* update Booker
* fix
* fix
* fix
* fix
* mv video
* mv embed components to web
* update import paths
* mv calendar weekly view components
* update import paths
* fix
* fixp
* fix
* fix
* fix
* fix: update FormBuilder imports to use @calcom/features/form-builder
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: update broken import paths after file migrations
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: correct import paths for platform atoms and moved components
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: apply CSS type fixes and add missing atoms exports
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: resolve type errors in test files after component migrations
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: resolve remaining type errors in test files
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix
* migrate
* fix: resolve type errors in test and mock files
- Add missing bookingForm, bookerFormErrorRef, instantConnectCooldownMs to Booker.test.tsx bookings prop
- Add all required BookerEvent properties to event.mock.ts
- Add vi import from vitest to all mock files
- Fix date parameter types in packages/dayjs/__mocks__/index.ts
- Add verificationCode and setVerificationCode to test-utils.tsx mock store
- Remove children.type access in Section.tsx mock to fix type error
- Fix lint issues: remove unused React imports, use import type where needed, add return types
- Add biome-ignore comments for pre-existing lint warnings in test files
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* migrate
* migrate
* migrate
* update import paths
* update import paths
* update import paths
* fix
* migrate data table
* migrate data table
* fix
* fix
* fix
* migrate insights components
* migrate insights components
* fix
* mv
* update import paths
* fix
* fix
* fix
* fix
* fix
* fix: resolve type errors in test mocks
- Booker.test.tsx: Add all required UseFormReturn methods to bookingForm mock
- event.mock.ts: Fix entity, subsetOfHosts, instantMeetingParameters, fieldTranslations, image types
- dayjs/__mocks__/index.ts: Use Object.assign for proper typing of mock properties
- Section.tsx: Change 'class' to 'className' in JSX with biome-ignore comment
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add missing hasDataErrors and dataErrors to bookings.errors mock
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add missing loadingStates properties to bookings mock
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add missing slots properties (setTentativeSelectedTimeslots, tentativeSelectedTimeslots, slotReservationId)
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: update quickAvailabilityChecks to include utcEndIso and use valid status type
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add missing bookerForm properties (formName, beforeVerifyEmail, formErrors)
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add missing UseFormReturn properties to bookerForm.bookingForm mock
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add hasFormErrors and formErrors to bookerForm.formErrors mock
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add hasFormErrors and formErrors to bookerForm.errors mock
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add missing isError property to mockEvent
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: use complete BookerEvent mock in Booker.test.tsx
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: use branded bookingFields type in event mock
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: add missing schedule mock properties (isError, isSuccess, isLoading, dataUpdatedAt)
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* revert
* fix
* fix
* fix
* fix build
* fix
* fix
* fix
* fix: correct AddMembersWithSwitch test wrapper to use initial assignAllTeamMembers value
- Fixed test wrapper to initialize useState with componentProps.assignAllTeamMembers
instead of hardcoded false, allowing tests to properly test different states
- Updated test expectations for ALL_TEAM_MEMBERS_ENABLED_AND_SEGMENT_NOT_APPLICABLE
state to match actual component behavior (toggle should be present and checked)
- Fixed 'should show Segment when toggled on' test to start with assignAllTeamMembers: false
to properly test the flow of enabling it
- Added explicit types to satisfy biome lint requirements
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
* fix: use JSX.Element instead of React.JSX.Element for type compatibility
Co-Authored-By: benny@cal.com <sldisek783@gmail.com >
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-05 12:53:51 -03:00