Skip to content

Commit 7226f1e

Browse files
fix: ux audit changes (calcom#26875)
* fix: ux audit changes * fix: remove locale-insensitive toLowerCase() on translation Remove .toLowerCase() call on t('minutes') translation as it is locale-insensitive and can corrupt translations (e.g., Turkish dotted/dotless 'i'). The translation itself should provide the desired casing. Addresses Cubic AI review feedback with confidence 9/10. Co-Authored-By: unknown <> * fix: redirect url tool tip not working * fix: type check --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent b0835e8 commit 7226f1e

15 files changed

Lines changed: 92 additions & 82 deletions

File tree

apps/web/app/(use-page-wrapper)/apps/routing-forms/forms/[[...pages]]/Forms.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,16 +159,16 @@ export default function RoutingForms({ appUrl }: { appUrl: string }) {
159159
subtitle={t("routing_forms_description")}>
160160
<UpgradeTip
161161
plan="team"
162-
title={t("teams_plan_required")}
163-
description={t("routing_forms_are_a_great_way")}
162+
title={t("routing_that_grows_with_you")}
163+
description={t("routing_forms_upgrade_description")}
164164
features={features}
165165
background="/tips/routing-forms"
166166
isParentLoading={<SkeletonLoaderTeamList />}
167167
buttons={
168168
<div className="stack-y-2 rtl:space-x-reverse sm:space-x-2">
169169
<ButtonGroup>
170170
<Button color="primary" href={`${WEBAPP_URL}/settings/teams/new`}>
171-
{t("upgrade")}
171+
{t("get_started")}
172172
</Button>
173173
<Button color="minimal" href="https://cal.com/routing" target="_blank">
174174
{t("learn_more")}

apps/web/components/apps/CalendarListContainer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ export function CalendarListContainer({
169169
})}
170170
description={t(`no_category_apps_description_calendar`)}
171171
buttonRaw={
172-
<Button color="secondary" data-testid="connect-calendar-apps" href="/apps/categories/calendar">
173-
{t(`connect_calendar_apps`)}
172+
<Button EndIcon="external-link" color="secondary" data-testid="connect-calendar-apps" href="/apps/categories/calendar">
173+
{t("connect_your_first_calendar")}
174174
</Button>
175175
}
176176
/>

apps/web/components/apps/routing-forms/FormActions.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,7 @@ export const FormActionsDropdown = ({
173173
type="button"
174174
variant="icon"
175175
color="secondary"
176-
className={classNames(
177-
disabled && "opacity-30",
178-
"ltr:radix-state-open:rounded-r-(--btn-group-radius) rtl:radix-state-open:rounded-l-(--btn-group-radius)"
179-
)}
176+
className={classNames(disabled && "opacity-30")}
180177
StartIcon="ellipsis"
181178
/>
182179
</DropdownMenuTrigger>

apps/web/modules/data-table/components/DataTable.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,8 @@ export function DataTable<TData>({
173173
width: `var(--header-${kebabCase(header?.id)}-size)`,
174174
}}
175175
className={classNames(
176-
"relative flex shrink-0 items-center",
176+
"relative flex items-center",
177+
column.columnDef.meta?.autoWidth ? "grow" : "shrink-0",
177178
"bg-cal-muted",
178179
column.getIsPinned() && "top-0 z-20 sm:sticky"
179180
)}>

apps/web/modules/ee/workflows/components/AddActionDialog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ export const AddActionDialog = (props: IAddActionDialog) => {
143143
return (
144144
<Dialog open={isOpenDialog} onOpenChange={setIsOpenDialog}>
145145
<DialogContent type="creation" title={t("add_action")}>
146-
<div className="-mt-3 space-x-3">
146+
<div className="space-x-3">
147147
<Form
148148
form={form}
149149
handleSubmit={(values) => {

apps/web/modules/ee/workflows/components/WorkflowCreationDialog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ export function WorkflowCreationDialog({
168168
type="button"
169169
onClick={handleContinue}
170170
loading={createMutation.isPending || isLoading}>
171-
{t("continue")}
171+
{t("create")}
172172
</Button>
173173
</DialogFooter>
174174
</DialogContent>

apps/web/modules/event-types/components/EventTypeLayout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ function EventTypeSingleLayout({
135135
formMethods.watch("hidden") ? t("show_eventtype_on_profile") : t("hide_from_profile")
136136
}
137137
side="bottom">
138-
<div className="self-center rounded-md p-2">
138+
<div className="self-center rounded-md">
139139
<Switch
140140
id="hiddenSwitch"
141141
disabled={eventTypesLockedByOrg}

apps/web/modules/event-types/components/locations/CalVideoSettings.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { Tooltip } from "@calcom/ui/components/tooltip";
1515
import { UpgradeTeamsBadgeWebWrapper as UpgradeTeamsBadge } from "@calcom/web/modules/billing/components/UpgradeTeamsBadgeWebWrapper";
1616
import { useHasTeamPlan } from "@calcom/web/modules/billing/hooks/useHasPaidPlan";
1717
import LocationSettingsContainer from "@calcom/web/modules/event-types/components/locations/LocationSettingsContainer";
18+
import { InfoBadge } from "@calcom/ui/components/badge";
1819

1920
const CalVideoSettings = ({ calVideoSettings }: { calVideoSettings?: CalVideoSettingsType }) => {
2021
const { t } = useLocale();
@@ -30,7 +31,7 @@ const CalVideoSettings = ({ calVideoSettings }: { calVideoSettings?: CalVideoSet
3031
aria-expanded={isExpanded}
3132
onClick={() => setIsExpanded(!isExpanded)}
3233
className={classNames(
33-
"todesktop:py-[7px] text-default group flex w-full items-center rounded-md px-2 py-1.5 text-sm font-medium transition",
34+
"cursor-pointer todesktop:py-[7px] text-default group flex w-full items-center rounded-md px-2 pt-1.5 text-sm font-medium transition",
3435
"[&[aria-current='page']]:!bg-transparent",
3536
"[&[aria-current='page']]:text-emphasis mt-0.5 text-sm"
3637
)}>
@@ -169,7 +170,7 @@ const CalVideoSettings = ({ calVideoSettings }: { calVideoSettings?: CalVideoSet
169170
/>
170171

171172
<TextField
172-
label={t("enter_redirect_url_on_exit_description")}
173+
label={<div className="flex gap-1 items-center">{t("redirect_url")}<InfoBadge content={t("enter_redirect_url_on_exit_description")} /></div>}
173174
defaultValue={calVideoSettings?.redirectUrlOnExit || ""}
174175
data-testid="calVideoSettings.redirectUrlOnExit"
175176
containerClassName="mt-4"

apps/web/modules/settings/my-account/general-view.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import { showToast } from "@calcom/ui/components/toast";
2424
import { revalidateTravelSchedules } from "@calcom/web/app/cache/travelSchedule";
2525

2626
import TravelScheduleModal from "@components/settings/TravelScheduleModal";
27+
import { Icon } from "@calcom/ui/components/icon";
2728

2829
export type FormValues = {
2930
locale: {
@@ -317,6 +318,7 @@ const GeneralView = ({ user, travelSchedules }: GeneralViewProps) => {
317318
)}
318319
/>
319320
<div className="text-gray text-subtle mt-2 flex items-center text-xs">
321+
<Icon name="info" className="mr-2" />
320322
{t("timeformat_profile_hint")}
321323
</div>
322324
<Controller

apps/web/modules/signup-view.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ export default function Signup({
400400
</p>
401401
)}
402402
{IS_CALCOM && (
403-
<div className="mt-4">
403+
<div className="mt-12">
404404
<SelectField
405405
label={t("data_region")}
406406
value={{
@@ -453,7 +453,7 @@ export default function Signup({
453453

454454
{/* Form Container */}
455455
{displayEmailForm && (
456-
<div className="mt-12">
456+
<div className="mt-6">
457457
<Form
458458
className="flex flex-col gap-4"
459459
form={formMethods}
@@ -614,10 +614,10 @@ export default function Signup({
614614
</div>
615615
)}
616616
{!displayEmailForm && (
617-
<div className="mt-12">
617+
<div className="mt-8 flex flex-col gap-6">
618618
{/* Upper Row */}
619-
<div className="mt-6 flex flex-col gap-2 md:flex-row">
620-
{isGoogleLoginEnabled ? (
619+
{isGoogleLoginEnabled && (
620+
<div className="flex flex-col gap-2 md:flex-row">
621621
<Button
622622
color="primary"
623623
loading={isGoogleLoading}
@@ -664,11 +664,11 @@ export default function Signup({
664664
}}>
665665
{t("continue_with_google")}
666666
</Button>
667-
) : null}
668-
</div>
667+
</div>
668+
)}
669669

670670
{isGoogleLoginEnabled && (
671-
<div className="mt-6">
671+
<div>
672672
<div className="relative flex items-center">
673673
<div className="border-subtle grow border-t" />
674674
<span className="text-subtle mx-2 shrink text-sm font-normal leading-none">
@@ -680,7 +680,7 @@ export default function Signup({
680680
)}
681681

682682
{/* Lower Row */}
683-
<div className="mt-6 flex flex-col gap-2">
683+
<div className="flex flex-col gap-2">
684684
<Button
685685
color="secondary"
686686
disabled={isGoogleLoading}

0 commit comments

Comments
 (0)