Skip to content

Commit f657c7e

Browse files
authored
fix(station-login): visibility toggle for desktop login (#554)
1 parent 9294d8f commit f657c7e

10 files changed

Lines changed: 1581 additions & 62 deletions

File tree

packages/contact-center/cc-components/src/components/StationLogin/station-login.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ const StationLoginComponent: React.FunctionComponent<StationLoginComponentProps>
4848
selectedDeviceType,
4949
dialNumberValue,
5050
setSelectedTeamId,
51+
hideDesktopLogin,
5152
} = props;
5253

5354
const [dialNumberLabel, setDialNumberLabel] = useState<string>('');
@@ -59,6 +60,9 @@ const StationLoginComponent: React.FunctionComponent<StationLoginComponentProps>
5960
const [dnErrorText, setDNErrorText] = useState<string>('');
6061
const {multiSignInModalRef, ccSignOutModalRef, saveConfirmDialogRef} = createStationLoginRefs(logger);
6162

63+
// Filter out Desktop mode if hideDesktopLogin is true
64+
const filteredLoginOptions = hideDesktopLogin ? loginOptions.filter((option) => option !== DESKTOP) : loginOptions;
65+
6266
useEffect(() => {
6367
if (deviceType !== DESKTOP && Object.keys(LoginOptions).includes(deviceType)) {
6468
updateDialNumberLabel(deviceType, setDialNumberLabel, setDialNumberPlaceholder, logger);
@@ -227,8 +231,8 @@ const StationLoginComponent: React.FunctionComponent<StationLoginComponentProps>
227231
selectedValueText={LoginOptions[selectedDeviceType]}
228232
>
229233
{Object.keys(LoginOptions).map((option: string, index: number) => {
230-
// only show loginOptions provided by store
231-
if (loginOptions.includes(option)) {
234+
// only show loginOptions provided by store and filtered by hideDesktopLogin
235+
if (filteredLoginOptions.includes(option)) {
232236
return (
233237
<Option
234238
selected={option === selectedDeviceType}

packages/contact-center/cc-components/src/components/StationLogin/station-login.types.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ export interface IStationLoginProps {
202202
* The selected team ID for login
203203
*/
204204
selectedTeamId: string;
205+
206+
/**
207+
* If true, hides the Desktop login mode from the dropdown options.
208+
* Applies in both login screen and profile mode.
209+
* Default: undefined (shows Desktop mode)
210+
*/
211+
hideDesktopLogin?: boolean;
205212
}
206213

207214
export interface LoginOptionsState {
@@ -243,4 +250,5 @@ export type StationLoginComponentProps = Pick<
243250
| 'setDialNumberValue'
244251
| 'setSelectedTeamId'
245252
| 'selectedTeamId'
253+
| 'hideDesktopLogin'
246254
>;

0 commit comments

Comments
 (0)