/
githubmirror
/
client
Обзор
Документация
Войти
/
githubmirror
/
client
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
shared/devices/device-icon.tsx
41 строка
1 KB
chrisnojima
less zust (#29314)
15 июн 2026, 16:55
Не верифицирован
15 июн 2026, 16:55
baeefd1
Код
Авторство
О чём код?
import type * as Provision from '@/constants/provision' import * as Kb from '@/common-adapters' import * as T from '@/constants/types' export type Props = { current?: boolean device: T.Devices.Device | Provision.Device size: 32 | 64 | 96 style?: Kb.Styles.StylesCrossPlatform } const getIconType = ( type: T.Devices.DeviceType, iconNumber: T.Devices.IconNumber, size: 32 | 48 | 64 | 96, variant: '' | 'success-' | 'revoke-' ): Kb.IconType => { const revoke = variant === 'revoke-' ? variant : '' if (type === 'backup') return `icon-paper-key-${revoke}${size}` as Kb.IconType const base = type === 'desktop' ? 'computer' : 'phone' const maybeIcon = `icon-${base}-${variant}background-${iconNumber}-${size}` return Kb.isValidIconType(maybeIcon) ? maybeIcon : (`icon-${base}-${revoke}${size}` as Kb.IconType) } export const getDeviceIconType = ( type: T.Devices.DeviceType, iconNumber: T.Devices.IconNumber, size: 32 | 64 | 96, current?: boolean ): Kb.IconType => getIconType(type, iconNumber, size, current ? 'success-' : '') export const getDeviceRevokeIconType = ( type: T.Devices.DeviceType, iconNumber: T.Devices.IconNumber ): Kb.IconType => getIconType(type, iconNumber, isMobile ? 64 : 48, 'revoke-') const DeviceIcon = ({current, device, size, style}: Props) => ( <Kb.ImageIcon type={getDeviceIconType(device.type, T.Devices.deviceNumberToIconNumber(device.deviceNumberOfType), size, current)} style={style} /> ) export default DeviceIcon