Skip to content

Commit 2b519eb

Browse files
authored
Update OS detection in docsite (#1940)
1 parent c00156c commit 2b519eb

3 files changed

Lines changed: 17 additions & 61 deletions

File tree

docs/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@
3333
"rehype-highlight": "^7.0.2",
3434
"remark-gfm": "^4.0.0",
3535
"remark-typescript-code-import": "^1.0.1",
36-
"sass": "^1.83.4",
37-
"ua-parser-js": "^2.0.1"
36+
"sass": "^1.83.4"
3837
},
3938
"devDependencies": {
4039
"@docusaurus/module-type-aliases": "3.7.0",
@@ -44,7 +43,6 @@
4443
"@mdx-js/typescript-plugin": "^0.0.8",
4544
"@types/eslint": "^9.6.1",
4645
"@types/eslint-config-prettier": "^6.11.3",
47-
"@types/ua-parser-js": "^0.7.39",
4846
"eslint": "^9.19.0",
4947
"eslint-config-prettier": "^10.0.1",
5048
"eslint-plugin-mdx": "^3.1.5",

docs/src/components/platformcontext.tsx

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import BrowserOnly from "@docusaurus/BrowserOnly";
22
import { createContext, ReactNode, useCallback, useContext, useState } from "react";
3-
import { UAParser } from "ua-parser-js";
43

54
import clsx from "clsx";
65
import "./platformcontext.css";
@@ -14,24 +13,26 @@ interface PlatformContextProps {
1413

1514
export const PlatformContext = createContext<PlatformContextProps | undefined>(undefined);
1615

17-
const detectPlatform = (): Platform => {
18-
const savedPlatform = localStorage.getItem("platform") as Platform | null;
19-
if (savedPlatform) {
20-
return savedPlatform;
21-
}
22-
const { os } = UAParser(navigator.userAgent);
23-
24-
if (/Windows/.test(os.name)) {
25-
return "windows";
26-
} else if (/Mac OS|iOS/.test(os.name)) {
27-
return "mac";
16+
function getOS(): Platform {
17+
var platform = window.navigator.platform,
18+
macosPlatforms = ["Macintosh", "MacIntel", "MacPPC", "Mac68K"],
19+
windowsPlatforms = ["Win32", "Win64", "Windows", "WinCE"],
20+
iosPlatforms = ["iPhone", "iPad", "iPod"],
21+
os: Platform = null;
22+
23+
if (macosPlatforms.indexOf(platform) !== -1 || iosPlatforms.indexOf(platform) !== -1) {
24+
os = "mac";
25+
} else if (windowsPlatforms.indexOf(platform) !== -1) {
26+
os = "windows";
2827
} else {
29-
return "linux";
28+
os = "linux";
3029
}
31-
};
30+
31+
return os;
32+
}
3233

3334
const PlatformProviderInternal = ({ children }: { children: ReactNode }) => {
34-
const [platform, setPlatform] = useState<Platform>(detectPlatform());
35+
const [platform, setPlatform] = useState<Platform>(getOS());
3536

3637
const setPlatformCallback = useCallback((newPlatform: Platform) => {
3738
setPlatform(newPlatform);

yarn.lock

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6603,13 +6603,6 @@ __metadata:
66036603
languageName: node
66046604
linkType: hard
66056605

6606-
"@types/ua-parser-js@npm:^0.7.39":
6607-
version: 0.7.39
6608-
resolution: "@types/ua-parser-js@npm:0.7.39"
6609-
checksum: 10c0/fea522f42dfc2854d9c93144a13c3db3bbe1c791458451db06d46bec7e1dbbe945d1542e02bb38378e39a04bdb7810b43e2ead26f9e6c250832e187312522708
6610-
languageName: node
6611-
linkType: hard
6612-
66136606
"@types/unist@npm:*, @types/unist@npm:^3.0.0":
66146607
version: 3.0.3
66156608
resolution: "@types/unist@npm:3.0.3"
@@ -9973,13 +9966,6 @@ __metadata:
99739966
languageName: node
99749967
linkType: hard
99759968

9976-
"detect-europe-js@npm:^0.1.2":
9977-
version: 0.1.2
9978-
resolution: "detect-europe-js@npm:0.1.2"
9979-
checksum: 10c0/46fccf2a9ddeec8ecb7a369be1452f84856cbd0ccdeb3c47e41fe6c9d69f63d6bd75f91b5aa1ae310e56d8fbcbff0e802b1504cdcc3a92f3327c94408e6d07a2
9980-
languageName: node
9981-
linkType: hard
9982-
99839969
"detect-libc@npm:^1.0.3":
99849970
version: 1.0.3
99859971
resolution: "detect-libc@npm:1.0.3"
@@ -13474,13 +13460,6 @@ __metadata:
1347413460
languageName: node
1347513461
linkType: hard
1347613462

13477-
"is-standalone-pwa@npm:^0.1.1":
13478-
version: 0.1.1
13479-
resolution: "is-standalone-pwa@npm:0.1.1"
13480-
checksum: 10c0/af1a11edef4a8f00c24014576285070fb73eebb3583cae790c0a825e338e19f05048a26e5fd5ef10f6056032d6a4520054ff824532c15df784933c0fcc5e13fd
13481-
languageName: node
13482-
linkType: hard
13483-
1348413463
"is-stream@npm:^2.0.0":
1348513464
version: 2.0.1
1348613465
resolution: "is-stream@npm:2.0.1"
@@ -21211,26 +21190,6 @@ __metadata:
2121121190
languageName: node
2121221191
linkType: hard
2121321192

21214-
"ua-is-frozen@npm:^0.1.2":
21215-
version: 0.1.2
21216-
resolution: "ua-is-frozen@npm:0.1.2"
21217-
checksum: 10c0/fb41929bd4924c9676391e6d7197d30580749a96697a83c8b6e77fb137e3ff8492dcd1e6f871f6a9517848651a93af37bfefb25385f16d90e19678ade22d30b7
21218-
languageName: node
21219-
linkType: hard
21220-
21221-
"ua-parser-js@npm:^2.0.1":
21222-
version: 2.0.1
21223-
resolution: "ua-parser-js@npm:2.0.1"
21224-
dependencies:
21225-
detect-europe-js: "npm:^0.1.2"
21226-
is-standalone-pwa: "npm:^0.1.1"
21227-
ua-is-frozen: "npm:^0.1.2"
21228-
bin:
21229-
ua-parser-js: script/cli.js
21230-
checksum: 10c0/099d634bfd866ecc8e1c51a5952bf27d286f115f6abe5d6af4a76b4fbda3f75a91b31634f77faee7d44466d8c12b50c66baf42ec7a41f8f8cef218a5895742f7
21231-
languageName: node
21232-
linkType: hard
21233-
2123421193
"undici-types@npm:~6.19.2, undici-types@npm:~6.19.8":
2123521194
version: 6.19.8
2123621195
resolution: "undici-types@npm:6.19.8"
@@ -22093,7 +22052,6 @@ __metadata:
2209322052
"@mdx-js/typescript-plugin": "npm:^0.0.8"
2209422053
"@types/eslint": "npm:^9.6.1"
2209522054
"@types/eslint-config-prettier": "npm:^6.11.3"
22096-
"@types/ua-parser-js": "npm:^0.7.39"
2209722055
"@waveterm/docusaurus-og": "https://github.com/wavetermdev/docusaurus-og.git"
2209822056
clsx: "npm:^2.1.1"
2209922057
docusaurus-plugin-sass: "npm:^0.2.6"
@@ -22117,7 +22075,6 @@ __metadata:
2211722075
sass: "npm:^1.83.4"
2211822076
typescript: "npm:^5.7.3"
2211922077
typescript-eslint: "npm:^8.22.0"
22120-
ua-parser-js: "npm:^2.0.1"
2212122078
languageName: unknown
2212222079
linkType: soft
2212322080

0 commit comments

Comments
 (0)