first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
import {
FormSelect,
OptionGroup,
SelectProps,
} from '@common/ui/forms/select/select';
import {message} from '@common/i18n/message';
import {Option} from '@common/ui/forms/combobox/combobox';
import {useTrans} from '@common/i18n/use-trans';
import {Timezone} from '@common/http/value-lists';
import {InputSize} from '@common/ui/forms/input-field/input-size';
import {ReactNode} from 'react';
interface Props extends Omit<SelectProps<any>, 'selectionMode' | 'children'> {
name: string;
timezones: Record<string, Timezone[]>;
size?: InputSize;
label?: ReactNode;
}
export function TimezoneSelect({
name,
size,
timezones,
label,
...selectProps
}: Props) {
const {trans} = useTrans();
return (
<FormSelect
selectionMode="single"
name={name}
size={size}
label={label}
showSearchField
searchPlaceholder={trans(message('Search timezones'))}
{...selectProps}
>
{Object.entries(timezones).map(([sectionName, sectionItems]) => (
<OptionGroup label={sectionName} key={sectionName}>
{sectionItems.map(timezone => (
<Option key={timezone.value} value={timezone.value}>
{timezone.text}
</Option>
))}
</OptionGroup>
))}
</FormSelect>
);
}