cal.com icon indicating copy to clipboard operation
cal.com copied to clipboard

feat: Adapt Dialog to use Drawers on mobile

Open gramo37 opened this issue 1 year ago • 15 comments

What does this PR do?

Fixes the below issue. [CAL-2978] Adapt Dialog to use Drawers on modals #13338

fixes #13338

Please refer the below video and let me know if the solution is as expected:

Screen recordings of Production build -> https://www.loom.com/share/50f6857055ec4bb0848f7d5d287fc52c?sid=2015e908-3942-4a0c-b469-9f64358d0bbd

https://www.loom.com/share/51e98373a2424d90b09cdf528af8eea3?t=51&sid=295c5ed6-5d99-408f-9c60-e7c6b0ac54ed

Type of change

  • New feature (non-breaking change which adds functionality)

How should this be tested?

  • Open any dialog.
  • Adjust the screen width to observe the changes.

gramo37 avatar Feb 10 '24 18:02 gramo37

Someone is attempting to deploy a commit to the cal Team on Vercel.

A member of the Team first needs to authorize it.

vercel[bot] avatar Feb 10 '24 18:02 vercel[bot]

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 3 committers have signed the CLA.

:white_check_mark: keithwillcode
:white_check_mark: gramo37
:x: prasanna


prasanna seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

CLAassistant avatar Feb 10 '24 18:02 CLAassistant

Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link.

github-actions[bot] avatar Feb 10 '24 18:02 github-actions[bot]

📦 Next.js Bundle Analysis for @calcom/web

This analysis was generated by the Next.js Bundle Analysis action. 🤖

Eighty-three Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load % of Budget (350 KB)
/[user]/[type] 272.48 KB 460.81 KB 131.66% (🟡 +1.85%)
/[user]/[type]/embed 272.48 KB 460.82 KB 131.66% (🟡 +1.85%)
/apps 287.63 KB 475.97 KB 135.99% (🟡 +1.89%)
/apps/[slug] 305.66 KB 494 KB 141.14% (🟡 +1.89%)
/apps/[slug]/[...pages] 563.92 KB 752.25 KB 214.93% (🟡 +1.88%)
/apps/categories 265.53 KB 453.86 KB 129.67% (🟡 +1.89%)
/apps/categories/[category] 269.77 KB 458.1 KB 130.89% (🟡 +1.88%)
/apps/installed/[category] 289.57 KB 477.91 KB 136.54% (🟡 +1.90%)
/auth/setup 157.59 KB 345.92 KB 98.83% (🟡 +1.88%)
/availability 443.09 KB 631.43 KB 180.41% (🟡 +1.88%)
/availability/[schedule] 369.57 KB 557.9 KB 159.40% (🟡 +1.89%)
/bookings/[status] 333.73 KB 522.06 KB 149.16% (🟡 +1.89%)
/d/[link]/[slug] 272.31 KB 460.64 KB 131.61% (🟡 +1.85%)
/enterprise 265.91 KB 454.24 KB 129.78% (🟡 +1.89%)
/event-types 564.81 KB 753.14 KB 215.18% (🟡 +1.86%)
/event-types/[type] 440.86 KB 629.19 KB 179.77% (🟡 +1.89%)
/getting-started/[[...step]] 411.03 KB 599.36 KB 171.25% (🟡 +1.88%)
/insights 484.41 KB 672.74 KB 192.21% (🟡 +1.89%)
/more 265.11 KB 453.45 KB 129.56% (🟡 +1.88%)
/org/[orgSlug]/[user]/[type] 272.67 KB 461 KB 131.72% (🟡 +1.85%)
/org/[orgSlug]/[user]/[type]/embed 272.69 KB 461.03 KB 131.72% (🟡 +1.85%)
/org/[orgSlug]/instant-meeting/team/[slug]/[type] 272.32 KB 460.66 KB 131.62% (🟡 +1.85%)
/org/[orgSlug]/team/[slug]/[type] 272.5 KB 460.83 KB 131.67% (🟡 +1.85%)
/settings/admin 271.89 KB 460.23 KB 131.49% (🟡 +1.89%)
/settings/admin/apps 285.64 KB 473.97 KB 135.42% (🟡 +1.89%)
/settings/admin/apps/[category] 285.63 KB 473.96 KB 135.42% (🟡 +1.88%)
/settings/admin/flags 275.82 KB 464.15 KB 132.61% (🟡 +1.89%)
/settings/admin/impersonation 272.19 KB 460.52 KB 131.58% (🟡 +1.88%)
/settings/admin/oAuth 283.86 KB 472.19 KB 134.91% (🟡 +1.89%)
/settings/admin/oAuth/oAuthView 98.43 KB 286.77 KB 81.93% (🟡 +1.88%)
/settings/admin/orgMigrations/_OrgMigrationLayout 266.11 KB 454.44 KB 129.84% (🟡 +1.89%)
/settings/admin/orgMigrations/moveTeamToOrg 281.47 KB 469.81 KB 134.23% (🟡 +1.89%)
/settings/admin/orgMigrations/moveUserToOrg 300.15 KB 488.48 KB 139.57% (🟡 +1.88%)
/settings/admin/orgMigrations/removeTeamFromOrg 281.24 KB 469.58 KB 134.16% (🟡 +1.89%)
/settings/admin/orgMigrations/removeUserFromOrg 281.26 KB 469.59 KB 134.17% (🟡 +1.89%)
/settings/admin/organizations 273.92 KB 462.25 KB 132.07% (🟡 +1.89%)
/settings/admin/organizations/[id]/edit 272.43 KB 460.76 KB 131.65% (🟡 +1.88%)
/settings/admin/users 274.59 KB 462.92 KB 132.26% (🟡 +1.89%)
/settings/admin/users/[id]/edit 374.11 KB 562.44 KB 160.70% (🟡 +1.88%)
/settings/admin/users/add 373.84 KB 562.17 KB 160.62% (🟡 +1.89%)
/settings/billing 272.23 KB 460.57 KB 131.59% (🟡 +1.89%)
/settings/developer/api-keys 276.43 KB 464.76 KB 132.79% (🟡 +1.89%)
/settings/developer/webhooks 276.35 KB 464.69 KB 132.77% (🟡 +1.88%)
/settings/developer/webhooks/[id] 277.38 KB 465.71 KB 133.06% (🟡 +1.89%)
/settings/developer/webhooks/new 277.43 KB 465.76 KB 133.08% (🟡 +1.88%)
/settings/my-account/appearance 295.85 KB 484.18 KB 138.34% (🟡 +1.88%)
/settings/my-account/calendars 283.45 KB 471.79 KB 134.80% (🟡 +1.88%)
/settings/my-account/conferencing 284.2 KB 472.54 KB 135.01% (🟡 +1.89%)
/settings/my-account/general 360.2 KB 548.53 KB 156.72% (🟡 +1.89%)
/settings/my-account/out-of-office 276.22 KB 464.55 KB 132.73% (🟡 +1.89%)
/settings/my-account/profile 409.08 KB 597.42 KB 170.69% (🟡 +1.89%)
/settings/organizations/[id]/about 158.44 KB 346.77 KB 99.08% (🟡 +1.87%)
/settings/organizations/[id]/add-teams 158.49 KB 346.82 KB 99.09% (🟡 +1.88%)
/settings/organizations/[id]/onboard-members 178.82 KB 367.15 KB 104.90% (🟡 +1.89%)
/settings/organizations/[id]/set-password 158.42 KB 346.75 KB 99.07% (🟡 +1.88%)
/settings/organizations/appearance 295.36 KB 483.69 KB 138.20% (🟡 +1.88%)
/settings/organizations/billing 272.27 KB 460.6 KB 131.60% (🟡 +1.89%)
/settings/organizations/general 352.74 KB 541.07 KB 154.59% (🟡 +1.89%)
/settings/organizations/members 445.46 KB 633.8 KB 181.09% (🟡 +1.88%)
/settings/organizations/new 158.44 KB 346.78 KB 99.08% (🟡 +1.88%)
/settings/organizations/profile 406.1 KB 594.43 KB 169.84% (🟡 +1.88%)
/settings/organizations/teams/other 272.93 KB 461.27 KB 131.79% (🟡 +1.89%)
/settings/organizations/teams/other/[id]/appearance 284.44 KB 472.78 KB 135.08% (🟡 +1.88%)
/settings/organizations/teams/other/[id]/members 279.39 KB 467.73 KB 133.64% (🟡 +1.88%)
/settings/organizations/teams/other/[id]/profile 477.67 KB 666 KB 190.29% (🟡 +1.88%)
/settings/security/impersonation 277.34 KB 465.67 KB 133.05% (🟡 +1.88%)
/settings/security/password 286.41 KB 474.74 KB 135.64% (🟡 +1.89%)
/settings/security/sso 282.38 KB 470.71 KB 134.49% (🟡 +1.89%)
/settings/security/two-factor-auth 280.91 KB 469.24 KB 134.07% (🟡 +1.88%)
/settings/teams 271.63 KB 459.97 KB 131.42% (🟡 +1.89%)
/settings/teams/[id]/appearance 284.43 KB 472.76 KB 135.08% (🟡 +1.88%)
/settings/teams/[id]/billing 272.27 KB 460.6 KB 131.60% (🟡 +1.89%)
/settings/teams/[id]/members 391.22 KB 579.55 KB 165.59% (🟡 +1.88%)
/settings/teams/[id]/onboard-members 178.01 KB 366.34 KB 104.67% (🟡 +1.89%)
/settings/teams/[id]/profile 478.49 KB 666.82 KB 190.52% (🟡 +1.89%)
/settings/teams/[id]/sso 282.9 KB 471.23 KB 134.64% (🟡 +1.88%)
/settings/teams/new 205.66 KB 393.99 KB 112.57% (🟡 +1.89%)
/team/[slug]/[type] 272.47 KB 460.8 KB 131.66% (🟡 +1.85%)
/team/[slug]/[type]/embed 272.5 KB 460.83 KB 131.67% (🟡 +1.85%)
/teams 265.33 KB 453.66 KB 129.62% (🟡 +1.88%)
/upgrade 265.55 KB 453.89 KB 129.68% (🟡 +1.89%)
/workflows 296.8 KB 485.13 KB 138.61% (🟡 +1.88%)
/workflows/[workflow] 417.49 KB 605.82 KB 173.09% (🟡 +1.89%)
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

The "Budget %" column shows what percentage of your performance budget the First Load total takes up. For example, if your budget was 100kb, and a given page's first load size was 10kb, it would be 10% of your budget. You can also see how much this has increased or decreased compared to the base branch of your PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this. If you see "+/-

github-actions[bot] avatar Feb 10 '24 18:02 github-actions[bot]

@ciaranha - can you checkout preview for this PR - code looks good on my end.

sean-brydon avatar Feb 12 '24 14:02 sean-brydon

@ciaranha - can you checkout preview for this PR - code looks good on my end.

These look great. Only slight nit is id probably reduce the padding inside the bottom sheet on mobile by at least 8px.

ciaranha avatar Feb 13 '24 09:02 ciaranha

Hi @keithwillcode,

The test cases were failing because of below 2 reasons:

  1. There was no window.matchMedia in the testing environment (TypeError: window.matchMedia is not a function)
  2. DialogOverlay must be utilized within Dialog.

I have made changes for that, and now the tests for the Dialog component are passing smoothly.

passed_testcase

I have also added the change mentioned by @ciaranha. Reduced the padding for Footer in the mobile view.

gramo37 avatar Feb 17 '24 09:02 gramo37

According to this example (https://codesandbox.io/p/sandbox/drawer-with-scale-forked-73f8jw?file=%2Fapp%2Fmy-drawer.tsx%3A1%2C1), for a scrollable drawer we need to add the children another div. Now the scrolling works fine in mobile. And I have removed the bottom rounded corners. Thanks for noticing @CarinaWolli.

gramo37 avatar Feb 21 '24 16:02 gramo37

First 2 issues (Unwanted padding, Dropdown cut-off) have been fixed and I have pushed the changes for them.

image

However, for the third one, I will have to make changes in EditLocationDialog.tsx. As the heading is centered in the Dialog as well.

image

For the last issue, when I passed "setEnableModalOpen" instead of "() => setEnableModalOpen(!enableModalOpen)" to onOpenChange prop the problem was solved (for both Desktop and mobile view). But I am thinking if it is a correct solution or not.

image

image

Please let me know if I should push the last 2 changes.

I found a similar case in conferencing.tsx (DisconnectIntegrationModal), which could be fixed using a similar approach. I think there might me some issue in the vaul library which is opening and closing the Drawer again and again in some Modals. To solve this, will have to check all Dialogs and solve the errors in a similar manner or add a prop to Dialog named "useDialogForMobile". So, when it is set to true the Dialog will be used instead of drawer for such cases.

gramo37 avatar Feb 24 '24 07:02 gramo37

Please let me know if I should push the last 2 changes.

Sounds good to me, let's push them

I found a similar case in conferencing.tsx (DisconnectIntegrationModal), which could be fixed using a similar approach. I think there might me some issue in the vaul library which is opening and closing the Drawer again and again in some Modals. To solve this, will have to check all Dialogs and solve the errors in a similar manner or add a prop to Dialog named "useDialogForMobile". So, when it is set to true the Dialog will be used instead of drawer for such cases.

We will need to go and test all modals to avoid breaking anything. I would definitely go for fixing the issues and using Drawers everywhere, if the issues are more complex we could temporary disable the Drawer for specific modals but I would like to avoid that if possible

CarinaWolli avatar Feb 26 '24 16:02 CarinaWolli

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@adobe/[email protected] None 0 180 kB adobe-admin
npm/@alloc/[email protected] None 0 14.1 kB aleclarson
npm/@ampproject/[email protected] None 0 76 kB jridgewell
npm/@babel/[email protected] None +3 106 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 64.6 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 6.56 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 21.6 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 7.03 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 54.4 kB nicolo-ribaudo
npm/@babel/[email protected] None +5 293 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 11.7 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 14.1 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 10.7 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 31.6 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 49.1 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 11.7 kB nicolo-ribaudo
npm/@babel/[email protected] None +2 82.5 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 1.88 MB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.2 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.1 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.4 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.2 kB jlhwung
npm/@babel/[email protected] None +1 14.3 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 15.9 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.4 kB jlhwung
npm/@babel/[email protected] None +1 14.3 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.4 kB jlhwung
npm/@babel/[email protected] None +1 14.2 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.3 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.2 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 14.4 kB nicolo-ribaudo
npm/@babel/[email protected] None +1 18.6 kB nicolo-ribaudo
npm/@bcoe/[email protected] None 0 277 kB bcoe
npm/@esbuild/[email protected] None 0 11.5 MB evanw
npm/@esbuild/[email protected] None 0 9.83 MB evanw
npm/@esbuild/[email protected] None 0 11.5 MB evanw
npm/@esbuild/[email protected] None 0 9.76 MB evanw
npm/@esbuild/[email protected] None 0 10.2 MB evanw
npm/@esbuild/[email protected] None 0 8.85 MB evanw
npm/@esbuild/[email protected] None 0 9.61 MB evanw
npm/@esbuild/[email protected] None 0 9.18 MB evanw
npm/@esbuild/[email protected] None 0 8.85 MB evanw
npm/@esbuild/[email protected] None 0 9.14 MB evanw
npm/@esbuild/[email protected] None 0 9.37 MB evanw
npm/@esbuild/[email protected] None 0 10.4 MB evanw
npm/@esbuild/[email protected] None 0 9.18 MB evanw
npm/@esbuild/[email protected] None 0 9.11 MB evanw
npm/@esbuild/[email protected] None 0 10 MB evanw
npm/@esbuild/[email protected] None 0 9.6 MB evanw
npm/@esbuild/[email protected] None 0 9.59 MB evanw
npm/@esbuild/[email protected] None 0 9.62 MB evanw
npm/@esbuild/[email protected] None 0 9.59 MB evanw
npm/@esbuild/[email protected] None 0 8.98 MB evanw
npm/@esbuild/[email protected] None 0 9.45 MB evanw
npm/@esbuild/[email protected] None 0 9.81 MB evanw
npm/@humanwhocodes/[email protected] unsafe 0 21.2 kB nzakas
npm/@humanwhocodes/[email protected] None 0 53.3 kB nzakas
npm/@istanbuljs/[email protected] None 0 17.2 kB coreyfarrell
npm/@jest/[email protected] None +1 32.1 kB simenb
npm/@jest/[email protected] None +1 448 kB simenb
npm/@jest/[email protected] None +7 570 kB simenb
npm/@jridgewell/[email protected] None 0 53.2 kB jridgewell
npm/@jridgewell/[email protected] None 0 17.9 kB jridgewell
npm/@jridgewell/[email protected] None 0 45.9 kB jridgewell
npm/@nodelib/[email protected] filesystem +3 48.9 kB mrmlnc
npm/@nodelib/[email protected] filesystem 0 11.8 kB mrmlnc
npm/@nodelib/[email protected] Transitive: filesystem +6 127 kB mrmlnc
npm/@pkgjs/[email protected] None 0 74.2 kB oss-bot
npm/@reach/[email protected] environment 0 29.6 kB chancestrickland
npm/@sinclair/[email protected] None 0 442 kB sinclair
npm/@swc/[email protected] None +1 312 kB kdy1
npm/@testing-library/[email protected] Transitive: environment, filesystem, unsafe +47 3.82 MB testing-library-bot
npm/@testing-library/[email protected] None 0 435 kB testing-library-bot
npm/@types/[email protected] None 0 12 kB types
npm/@types/[email protected] None +4 2.02 MB types
npm/@types/[email protected] None 0 11.4 kB types
npm/@types/[email protected] None +1 1.89 MB types
npm/@types/[email protected] None 0 84.1 kB types
npm/@types/[email protected] None 0 3.9 kB types
npm/@types/[email protected] None 0 5.45 kB types
npm/@types/[email protected] None +1 13.4 kB types
npm/@types/[email protected] None +2 20 kB types
npm/@types/[email protected] Transitive: environment, filesystem, unsafe +35 1.58 MB types
npm/@types/[email protected] None 0 31.7 kB types
npm/@types/[email protected] None 0 3 kB types
npm/@types/[email protected] None 0 6.16 kB types
npm/@types/[email protected] None +4 1.72 MB types
npm/@types/[email protected] None +3 1.69 MB types
npm/@types/[email protected] None 0 8.25 kB types
npm/@types/[email protected] None 0 6.43 kB types
npm/@types/[email protected] Transitive: environment, filesystem, unsafe +36 1.61 MB types
npm/@types/[email protected] None 0 8.65 kB types
npm/@types/[email protected] None +1 68.8 kB types
npm/@ungap/[email protected] None 0 26.2 kB webreflection
npm/[email protected] None 0 24.4 kB rreverser
npm/[email protected] None 0 5.67 kB qix
npm/[email protected] None 0 22.2 kB kevinbeaty
npm/[email protected] None +2 109 kB phated
npm/[email protected] None 0 13.7 kB leerobinson
npm/[email protected] environment, filesystem 0 172 kB vitaly
npm/[email protected] None +1 206 kB jessebeach
npm/[email protected] None +3 84.7 kB ljharb
npm/[email protected] None 0 3.17 kB sindresorhus
npm/[email protected] None +4 94.4 kB ljharb
npm/[email protected] None 0 5.36 kB sindresorhus
npm/[email protected] None +3 98.1 kB doowb
npm/[email protected] environment, filesystem Transitive: shell +6 2.38 MB ai
npm/[email protected] None +1 34.3 kB wez
npm/[email protected] None 0 5.05 kB linusu
npm/[email protected] None +1 141 kB mscdex
npm/[email protected] None +1 53.5 kB ljharb
npm/[email protected] None 0 6.33 kB sindresorhus
npm/[email protected] None 0 4.05 kB stevenvachon
npm/[email protected] None 0 7.45 kB sindresorhus
npm/[email protected] None 0 1.97 MB caniuse-lite
npm/[email protected] environment, filesystem +13 519 kB paulmillr
npm/[email protected] environment 0 26.1 kB sibiraj-s
npm/[email protected] None 0 611 B sebmarkbage
npm/[email protected] None 0 9.36 kB dfcreative
npm/[email protected] None 0 15.9 kB phated
npm/[email protected] environment, filesystem, shell +3 46.7 kB satazor
npm/[email protected] None 0 6.49 kB mathias
npm/[email protected] None 0 17.5 kB mathias
npm/[email protected] None 0 1.25 MB faddee
npm/[email protected] None 0 11.8 kB lazurski
npm/[email protected] None +29 644 kB ljharb
npm/[email protected] None 0 8.11 kB thlorenz
npm/[email protected] None 0 31.2 kB tehshrike
npm/[email protected] None 0 14.2 kB lukeed
npm/[email protected] None 0 17.3 kB dcporter
npm/[email protected] None 0 46 kB simenb
npm/[email protected] Transitive: filesystem +1 10.8 kB sindresorhus
npm/[email protected] None 0 5.8 kB developit
npm/[email protected] None +1 157 kB eslint
npm/[email protected] None 0 257 kB eps1lon
npm/[email protected] None 0 13.6 kB komagata
npm/[email protected] None 0 278 kB kilianvalkhof
npm/[email protected] None 0 97.9 kB google-wombot
npm/[email protected] None +1 13.1 kB qix
npm/[email protected] None +10 208 kB ljharb
npm/[email protected] None +2 53.6 kB ljharb
npm/[email protected] None +5 150 kB ljharb
npm/[email protected] filesystem 0 11.6 kB lukeed
npm/[email protected] None 0 2.69 kB jbnicolai
npm/[email protected] Transitive: environment, filesystem +8 297 kB ljharb
npm/[email protected] Transitive: environment, filesystem, unsafe +24 777 kB jounqin
npm/[email protected] environment 0 118 kB gnoff
npm/[email protected] None +2 197 kB eslintbot
npm/[email protected] None 0 32.3 kB eslintbot
npm/[email protected] None 0 314 kB ariya
npm/[email protected] None +1 1.04 MB michaelficarra
npm/[email protected] None 0 50.2 kB rich_harris
npm/[email protected] None 0 50.6 kB michaelficarra
npm/[email protected] Transitive: environment, filesystem, unsafe +34 1.5 MB simenb
npm/[email protected] None 0 13 kB esp
npm/[email protected] filesystem +17 508 kB mrmlnc
npm/[email protected] None 0 17 kB esp
npm/[email protected] None +1 51.4 kB matteo.collina
npm/[email protected] environment, network, shell +2 45.3 kB bolinfest
npm/[email protected] filesystem +4 128 kB royriojas
npm/[email protected] None +2 48.9 kB jonschlinkert
npm/[email protected] filesystem +3 103 kB jaredwray
npm/[email protected] None 0 40.3 kB webreflection
npm/[email protected] None +1 42 kB ljharb
npm/[email protected] None 0 86.2 kB infusion
npm/[email protected] None 0 173 kB pipobscure
npm/[email protected] None 0 31.4 kB ljharb
npm/[email protected] None +3 95.8 kB ljharb
npm/[email protected] None 0 16.7 kB ljharb
npm/[email protected] None 0 28.9 kB loganfsmyth
npm/[email protected] None 0 4.72 kB stefanpenner
npm/[email protected] filesystem 0 6.01 kB coreyfarrell
npm/[email protected] filesystem, unsafe 0 101 kB hirokiosame
npm/[email protected] None +2 27.5 kB phated
npm/[email protected] None 0 18.1 kB nickfitzgerald
npm/[email protected] None 0 22.4 kB ljharb
npm/[email protected] filesystem +23 599 kB sindresorhus
npm/[email protected] None 0 7.7 kB ljharb
npm/[email protected] None 0 237 kB orling
npm/[email protected] None 0 12.8 kB ljharb
npm/[email protected] None 0 3.13 kB sindresorhus
npm/[email protected] None 0 20.6 kB ljharb
npm/[email protected] None +1 38.2 kB ljharb
npm/[email protected] None +1 42.6 kB ljharb
npm/[email protected] Transitive: environment +1 62.8 kB mridgway
npm/[email protected] None 0 13.1 kB webreflection
npm/[email protected] None 0 44.3 kB ehmicky
npm/[email protected] None 0 51.5 kB kael
npm/[email protected] None 0 11.9 kB jensyt
npm/[email protected] None 0 4.4 kB sindresorhus
npm/[email protected] None +4 121 kB ljharb
npm/[email protected] None +2 71.2 kB ljharb
npm/[email protected] None 0 4.05 kB qix
npm/[email protected] None +1 27.6 kB ljharb
npm/[email protected] None +1 8.43 kB sindresorhus
npm/[email protected] None +4 114 kB ljharb
npm/[email protected] None 0 3.88 kB sindresorhus
npm/[email protected] None 0 28.9 kB ljharb
npm/[email protected] None +2 72.8 kB ljharb
npm/[email protected] None +2 59 kB ljharb
npm/[email protected] None 0 6.22 kB jonschlinkert
npm/[email protected] eval +2 70.1 kB ljharb
npm/[email protected] None +1 19.8 kB phated
npm/[email protected] None 0 12.7 kB ljharb
npm/[email protected] None +2 60.4 kB ljharb
npm/[email protected] None 0 9.62 kB jonschlinkert
npm/[email protected] None 0 4.12 kB sindresorhus
npm/[email protected] None +4 122 kB ljharb
npm/[email protected] None 0 12.3 kB ljharb
npm/[email protected] None +2 57.3 kB ljharb
npm/[email protected] None +1 42.6 kB ljharb
npm/[email protected] None +8 206 kB ljharb
npm/[email protected] None 0 10.1 kB ljharb
npm/[email protected] None +2 65.6 kB ljharb
npm/[email protected] None +2 68.6 kB ljharb
npm/[email protected] None 0 3.43 kB juliangruber
npm/[email protected] environment, filesystem 0 11 kB isaacs
npm/[email protected] None 0 34.4 kB oss-bot
npm/[email protected] environment +1 327 kB isaacs
npm/[email protected] Transitive: environment +7 675 kB simenb
npm/[email protected] None 0 3.79 kB simenb
npm/[email protected] environment, filesystem, shell, unsafe Transitive: network +31 1.4 MB simenb
npm/[email protected] Transitive: environment +8 703 kB simenb
npm/[email protected] Transitive: environment, filesystem, unsafe +26 1.1 MB simenb
npm/[email protected] None 0 3.52 kB simenb
npm/[email protected] environment Transitive: filesystem +11 760 kB simenb
npm/[email protected] environment, shell Transitive: filesystem +14 864 kB simenb
npm/[email protected] environment, filesystem, unsafe 0 1.91 MB pi0
npm/[email protected] None 0 15.1 kB lydell
npm/[email protected] None 0 32 kB mathias
npm/[email protected] None 0 5.4 kB dominictarr
npm/[email protected] None 0 10.4 kB isaacs
npm/[email protected] None 0 14.2 kB samn
npm/[email protected] None 0 235 kB jordanbtucker
npm/[email protected] None +1 33.2 kB jaredwray
npm/[email protected] None 0 9.89 kB lukeed
npm/[email protected] None +2 82.9 kB gkz
npm/[email protected] None 0 5.39 kB eventualbuddha
npm/[email protected] None 0 54.1 kB jdalton
npm/[email protected] None 0 1.41 MB bnjmnt4n
npm/[email protected] environment +1 20.9 kB zertosh
npm/[email protected] None 0 176 kB pieroxy
npm/[email protected] None +1 493 kB antfu
npm/[email protected] None +1 8.85 kB daaku
npm/[email protected] None 0 4.31 kB stevemao
npm/[email protected] None 0 8.9 kB zensh
npm/[email protected] None +5 244 kB jonschlinkert
npm/[email protected] None 0 2.97 kB thejameskyle
npm/[email protected] filesystem, network, shell +4 52 kB jongleberry
npm/[email protected] None 0 24.4 kB ai
npm/[email protected] None 0 5.65 kB megawac
npm/[email protected] None 0 16.3 kB broofa
npm/[email protected] None 0 34 kB chicoxyzzy
npm/[email protected] None 0 9.22 kB jonschlinkert
npm/[email protected] None 0 7.77 kB james.talmage
npm/[email protected] environment +1 12.7 kB sindresorhus
npm/[email protected] None 0 5.49 kB sindresorhus
npm/[email protected] None 0 97.2 kB ljharb
npm/[email protected] None 0 26.5 kB ljharb
npm/[email protected] None +1 11.8 kB sindresorhus
npm/[email protected] None 0 4.37 kB sindresorhus
npm/[email protected] None +1 10.3 kB sindresorhus
npm/[email protected] filesystem 0 3.92 kB sindresorhus
npm/[email protected] None 0 4.55 kB sindresorhus
npm/[email protected] None 0 4.51 kB jbgutierrez
npm/[email protected] filesystem +1 987 kB isaacs
npm/[email protected] filesystem 0 5.41 kB sindresorhus
npm/[email protected] environment 0 5.66 kB alexeyraspopov
npm/[email protected] None 0 90 kB mrmlnc
npm/[email protected] unsafe 0 13.5 kB danez
npm/[email protected] Transitive: environment, filesystem +11 665 kB ryanzim
npm/[email protected] Transitive: environment, filesystem +5 388 kB ai
npm/[email protected] Transitive: environment, filesystem +7 598 kB ai
npm/[email protected] None +2 209 kB evilebottnawi
npm/[email protected] None 0 27.2 kB evilebottnawi
npm/[email protected] environment, filesystem +3 376 kB ai
npm/[email protected] None 0 36.7 kB gkz
npm/[email protected] Transitive: environment +4 546 kB simenb
npm/[email protected] None +2 203 kB terkelg
npm/[email protected] environment +3 121 kB ljharb
npm/[email protected] None 0 33.5 kB google-wombot
npm/[email protected] None 0 8.37 kB feross
npm/[email protected] environment +4 4.93 MB gnoff
npm/[email protected] network Transitive: environment +3 1.24 MB bluebill1049
npm/[email protected] environment 0 24 kB gnoff
npm/[email protected] environment +2 337 kB gnoff
npm/[email protected] filesystem +1 110 kB paulmillr
npm/[email protected] None +3 14.3 kB sindresorhus
npm/[email protected] environment 0 176 kB acemarke
npm/[email protected] None 0 27.9 kB benjamn
npm/[email protected] filesystem 0 12.1 kB troygoode
npm/[email protected] filesystem, unsafe 0 5.82 kB sindresorhus
npm/[email protected] environment, filesystem +5 232 kB ljharb
npm/[email protected] None 0 9.44 kB matteo.collina
npm/[email protected] environment, filesystem +1 2.43 MB lukastaegert
npm/[email protected] None +1 14.9 kB feross
npm/[email protected] None +4 96 kB ljharb
npm/[email protected] environment +2 114 kB gnoff
npm/[email protected] None 0 9.96 kB isaacs
npm/[email protected] None 0 6.79 kB terkelg
npm/[email protected] None 0 3.51 kB sindresorhus
npm/[email protected] None 0 148 kB 7rulnik
npm/[email protected] None 0 34.8 kB alexei
npm/[email protected] unsafe +1 17.9 kB isaacs
npm/[email protected] None 0 8.69 kB ljharb
npm/[email protected] None 0 16.6 kB mscdex
npm/[email protected] None +2 86.6 kB ljharb
npm/[email protected] None +2 75.2 kB ljharb
npm/[email protected] None +2 75.5 kB ljharb
npm/[email protected] None 0 3 kB sindresorhus
npm/[email protected] None 0 3.05 kB sindresorhus
npm/[email protected] None +1 6.28 kB sindresorhus
npm/[email protected] None 0 6.96 kB sindresorhus
npm/[email protected] environment +4 1.37 MB vercel-release-bot
npm/[email protected] None 0 9.18 kB ljharb
npm/[email protected] None 0 46.9 kB sokra
npm/[email protected] None 0 11 kB substack
npm/[email protected] None +2 36.7 kB dead_horse
npm/[email protected] None +1 30.1 kB dead_horse
npm/[email protected] None 0 2.77 kB daaku
npm/[email protected] None 0 3.5 kB sindresorhus
npm/[email protected] None +1 32.6 kB jonschlinkert
npm/[email protected] None 0 792 kB joshuakgoldberg
npm/[email protected] None 0 68 kB dsagal2
npm/[email protected] None 0 84 kB typescript-bot
npm/[email protected] None 0 19.7 MB turbobot
npm/[email protected] None 0 17.6 MB turbobot
npm/[email protected] None 0 20.8 MB turbobot
npm/[email protected] None 0 18.6 MB turbobot
npm/[email protected] None 0 21.2 MB turbobot
npm/[email protected] None 0 21.2 MB turbobot
npm/[email protected] None +6 119 MB turbobot
npm/[email protected] None +1 57.9 kB gkz
npm/[email protected] None 0 42.1 kB chaijs
npm/[email protected] None 0 119 kB sindresorhus
npm/[email protected] None +11 235 kB ljharb
npm/[email protected] filesystem, shell Transitive: environment +6 2.38 MB ai
npm/[email protected] None +1 503 kB garycourt
npm/[email protected] environment +3 375 kB gnoff
npm/[email protected] filesystem +2 14.6 kB daaku
npm/[email protected] environment, filesystem +2 108 kB sokra
npm/[email protected] None +10 220 kB ljharb
npm/[email protected] None +6 115 kB ljharb
npm/[email protected] None +7 183 kB ljharb
npm/[email protected] environment Transitive: filesystem +1 20.9 kB isaacs
npm/[email protected] filesystem +2 34.1 kB gar
npm/[email protected] filesystem 0 23.4 kB oss-bot
npm/[email protected] None 0 14.8 kB isaacs
npm/[email protected] None 0 6.03 kB sindresorhus

🚮 Removed packages: npm/@types/[email protected], npm/@types/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected]

View full report↗︎

socket-security[bot] avatar Mar 02 '24 14:03 socket-security[bot]

I have checked as many problems in the Dialogs as possible. Some of them have been fixed but can't find a solution for some. Therefore, I have added the prop useDialogForMobile to Dialog.tsx and used it wherever required.

Problems

  1. CSS problem in EditLocationDialog.tsx. Solution -> Aligned the title to the left (CSS problem)
  2. TwoFactorAuthentication. Solution -> Minor change in onOpenChange prop
  3. Removing Installed Apps had a problem while opening the Drawer. Solution -> Minor change in open and onOpenChange prop
  4. Problem in Create customized event names (Steps to reproduce: edit event type -> advanced tab). Solution -> Used the useDialogForMobile prop
  5. Reschedule booking not opening drawer after selecting a time slot. Solution -> Used the useDialogForMobile prop

Please let me know if I should push the last 2 changes.

Sounds good to me, let's push them

I found a similar case in conferencing.tsx (DisconnectIntegrationModal), which could be fixed using a similar approach. I think there might me some issue in the vaul library which is opening and closing the Drawer again and again in some Modals. To solve this, will have to check all Dialogs and solve the errors in a similar manner or add a prop to Dialog named "useDialogForMobile". So, when it is set to true the Dialog will be used instead of drawer for such cases.

We will need to go and test all modals to avoid breaking anything. I would definitely go for fixing the issues and using Drawers everywhere, if the issues are more complex we could temporary disable the Drawer for specific modals but I would like to avoid that if possible

gramo37 avatar Mar 02 '24 14:03 gramo37

Moving this to draft because there are still some issues. Thank you for the PR, we will come back to it when we have the bandwidth to carefully test this so we can make sure to not break anything 🙏

CarinaWolli avatar Apr 17 '24 16:04 CarinaWolli

@anikdhabal or @Amit91848 one of you able to get this tested and pushed through? 🙏🏼

keithwillcode avatar Jun 29 '24 09:06 keithwillcode

@anikdhabal or @Amit91848 one of you able to get this tested and pushed through? 🙏🏼

sure 🙏🏼

anikdhabal avatar Jun 29 '24 09:06 anikdhabal

Hey @gramo37 could you pls fix the conflict?

I have resolved the merge conflict. Since many changes were required, I created a new pull request for it. Please refer to PR https://github.com/calcom/cal.com/pull/15632

gramo37 avatar Jun 30 '24 17:06 gramo37