* [WIP] New design and components for onboarding page * saving work in progress * new fonts * [WIP] new onboarding page, initial page, components * WIP calendar connect * WIP availability new design * WIP onboarding page * WIP onboarding, working new availability form * WIP AvailabilitySchedule componente v2 * WIP availability with defaultSchedule * User profile view * Relocate new onboarding/getting-started page components * Steps test for onboarding v2 * Remove logs and unused code * remove any as types * Adding translations * Fixes translation text and css for step 4 * Deprecation note for old-getting-started * Added defaul events and refetch user query when finishing getting-started * Fix button text translation * Undo schedule v1 changes * Fix calendar switches state * Add cookie to save return-to when connecting calendar * Change useTranslation for useLocale instead * Change test to work with data-testid instead of hardcoded plain text due to translation * Fix skeleton containers for calendars * Style fixes * fix styles to match v2 * Fix styles and props types to match v2 design * Bugfix/router and console errors (#4206) * The loading={boolean} parameter is required, so this must be <Button /> * Fixes duplicate key error * Use zod and router.query.step directly to power state machine * use ul>li & divide for borders * Update apps/web/components/getting-started/steps-views/ConnectCalendars.tsx Co-authored-by: alannnc <alannnc@gmail.com> * Linting * Deprecation notices and type fixes * Update CreateEventsOnCalendarSelect.tsx * Type fixes Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: Alex van Andel <me@alexvanandel.com> Co-authored-by: zomars <zomars@me.com>
56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import classNames from "classnames";
|
|
import { components } from "react-select";
|
|
import BaseSelect, {
|
|
allTimezones,
|
|
ITimezoneOption,
|
|
ITimezone,
|
|
Props as SelectProps,
|
|
} from "react-timezone-select";
|
|
|
|
import { InputComponent } from "@calcom/ui/v2/core/form/Select";
|
|
|
|
function TimezoneSelect({ className, ...props }: SelectProps) {
|
|
// @TODO: remove borderRadius and haveRoundedClassName logic from theme so we use only new style
|
|
const haveRoundedClassName = !!(className && className.indexOf("rounded-") > -1);
|
|
const defaultBorderRadius = 2;
|
|
|
|
return (
|
|
<BaseSelect
|
|
theme={(theme) => ({
|
|
...theme,
|
|
...(haveRoundedClassName ? {} : { borderRadius: defaultBorderRadius }),
|
|
colors: {
|
|
...theme.colors,
|
|
primary: "var(--brand-color)",
|
|
primary50: "rgba(209 , 213, 219, var(--tw-bg-opacity))",
|
|
primary25: "rgba(244, 245, 246, var(--tw-bg-opacity))",
|
|
},
|
|
})}
|
|
styles={{
|
|
option: (provided, state) => ({
|
|
...provided,
|
|
color: state.isSelected ? "var(--brand-text-color)" : "black",
|
|
":active": {
|
|
backgroundColor: state.isSelected ? "" : "var(--brand-color)",
|
|
color: "var(--brand-text-color)",
|
|
},
|
|
}),
|
|
}}
|
|
timezones={{
|
|
...allTimezones,
|
|
"America/Asuncion": "Asuncion",
|
|
}}
|
|
components={{
|
|
...components,
|
|
IndicatorSeparator: () => null,
|
|
Input: InputComponent,
|
|
}}
|
|
className={classNames("text-sm", className)}
|
|
{...props}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export default TimezoneSelect;
|
|
export type { ITimezone, ITimezoneOption };
|