mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
2801-есть десктоп-версия. реализован ws для авторизации через тг-бота
This commit is contained in:
33
rmser-view/src/hooks/usePlatform.ts
Normal file
33
rmser-view/src/hooks/usePlatform.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { useMemo } from 'react';
|
||||
|
||||
export type Platform = 'MobileApp' | 'Desktop' | 'MobileBrowser';
|
||||
|
||||
/**
|
||||
* Хук для определения текущей платформы
|
||||
* MobileApp - если есть специфические признаки мобильного приложения
|
||||
* Desktop - если это десктопный браузер
|
||||
* MobileBrowser - если это мобильный браузер
|
||||
*/
|
||||
export const usePlatform = (): Platform => {
|
||||
return useMemo(() => {
|
||||
const userAgent = navigator.userAgent;
|
||||
|
||||
// Проверка на мобильное приложение (специфические признаки)
|
||||
// Можно добавить дополнительные проверки для конкретных приложений
|
||||
const isMobileApp = /rmser-app|mobile-app|cordova|phonegap/i.test(userAgent);
|
||||
|
||||
if (isMobileApp) {
|
||||
return 'MobileApp';
|
||||
}
|
||||
|
||||
// Проверка на мобильный браузер
|
||||
const isMobileBrowser = /android|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(userAgent);
|
||||
|
||||
if (isMobileBrowser) {
|
||||
return 'MobileBrowser';
|
||||
}
|
||||
|
||||
// По умолчанию - десктоп
|
||||
return 'Desktop';
|
||||
}, []);
|
||||
};
|
||||
Reference in New Issue
Block a user