47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
// Copyright 2024 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
import React from 'react';
|
|
import {
|
|
CallLinkRestrictions,
|
|
toCallLinkRestrictions,
|
|
} from '../types/CallLink';
|
|
import type { LocalizerType } from '../types/I18N';
|
|
import { Select } from './Select';
|
|
|
|
export type CallLinkRestrictionsSelectProps = Readonly<{
|
|
disabled?: boolean;
|
|
i18n: LocalizerType;
|
|
id?: string;
|
|
value: CallLinkRestrictions;
|
|
onChange: (value: CallLinkRestrictions) => void;
|
|
}>;
|
|
|
|
export function CallLinkRestrictionsSelect({
|
|
disabled,
|
|
i18n,
|
|
id,
|
|
value,
|
|
onChange,
|
|
}: CallLinkRestrictionsSelectProps): JSX.Element {
|
|
return (
|
|
<Select
|
|
disabled={disabled}
|
|
id={id}
|
|
value={String(value)}
|
|
moduleClassName="CallLinkRestrictionsSelect"
|
|
options={[
|
|
{
|
|
value: String(CallLinkRestrictions.None),
|
|
text: i18n('icu:CallLinkRestrictionsSelect__Option--Off'),
|
|
},
|
|
{
|
|
value: String(CallLinkRestrictions.AdminApproval),
|
|
text: i18n('icu:CallLinkRestrictionsSelect__Option--On'),
|
|
},
|
|
]}
|
|
onChange={nextValue => {
|
|
onChange(toCallLinkRestrictions(nextValue));
|
|
}}
|
|
/>
|
|
);
|
|
}
|