mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
27 lines
701 B
TypeScript
27 lines
701 B
TypeScript
import { useEffect, useState } from "react";
|
|
import { detectOS } from "detect-browser";
|
|
|
|
export enum Platform {
|
|
linux = "Linux",
|
|
windows = "Windows",
|
|
mac = "Mac",
|
|
android = "Android",
|
|
}
|
|
|
|
export function usePlatform(): Platform {
|
|
const [platform, setPlatform] = useState(Platform.linux);
|
|
|
|
useEffect(() => {
|
|
const detectedPlatform = detectOS(navigator.userAgent)?.toLowerCase();
|
|
|
|
if (!detectedPlatform) return;
|
|
|
|
if (detectedPlatform.includes("windows")) setPlatform(Platform.windows);
|
|
else if (detectedPlatform.includes("mac")) setPlatform(Platform.mac);
|
|
else if (detectedPlatform.includes("android"))
|
|
setPlatform(Platform.android);
|
|
}, []);
|
|
|
|
return platform;
|
|
}
|