lobe-chat

Форк
0
/
usePlatform.ts 
32 строки · 960.0 Байт
1
import { useRef } from 'react';
2

3
import {
4
  getBrowser,
5
  getPlatform,
6
  isInStandaloneMode,
7
  isSonomaOrLaterSafari,
8
} from '@/utils/platform';
9

10
export const usePlatform = () => {
11
  const platform = useRef(getPlatform());
12
  const browser = useRef(getBrowser());
13

14
  const platformInfo = {
15
    isApple: platform.current && ['Mac OS', 'iOS'].includes(platform.current),
16
    isChrome: browser.current === 'Chrome',
17
    isChromium: browser.current && ['Chrome', 'Edge', 'Opera', 'Brave'].includes(browser.current),
18
    isEdge: browser.current === 'Edge',
19
    isIOS: platform.current === 'iOS',
20
    isMacOS: platform.current === 'Mac OS',
21
    isPWA: isInStandaloneMode(),
22
    isSafari: browser.current === 'Safari',
23
    isSonomaOrLaterSafari: isSonomaOrLaterSafari(),
24
  };
25

26
  return {
27
    ...platformInfo,
28
    isSupportInstallPWA:
29
      (platformInfo.isChromium && !platformInfo.isIOS) ||
30
      (platformInfo.isMacOS && platformInfo.isSonomaOrLaterSafari),
31
  };
32
};
33

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.