diff --git a/lib/utils/icons.tsx b/lib/utils/icons.tsx
index bfc9cc6..82a212d 100644
--- a/lib/utils/icons.tsx
+++ b/lib/utils/icons.tsx
@@ -1,10 +1,6 @@
import React from 'react'
import {
Globe,
- WindowsLogo,
- AppleLogo,
- LinuxLogo,
- AndroidLogo,
Question,
DeviceMobile,
DeviceTablet,
@@ -62,15 +58,30 @@ export function getBrowserIcon(browserName: string) {
return
}
+const OS_ICON_MAP: Record = {
+ 'windows': 'windows',
+ 'macos': 'macos',
+ 'linux': 'linux',
+ 'android': 'android',
+ 'ios': 'ios',
+ 'chromeos': 'chromeos',
+ 'harmonyos': 'harmonyos',
+ 'kaios': 'kaios',
+ 'tizen': 'tizen',
+ 'webos': 'webos',
+ 'freebsd': 'freebsd',
+ 'openbsd': 'openbsd',
+ 'netbsd': 'netbsd',
+ 'playstation': 'playstation',
+ 'xbox': 'xbox',
+ 'nintendo': 'nintendo',
+}
+
export function getOSIcon(osName: string) {
if (!osName) return
- const lower = osName.toLowerCase()
- if (lower.includes('win')) return
- if (lower.includes('mac') || lower.includes('ios')) return
- if (lower.includes('linux') || lower.includes('ubuntu') || lower.includes('debian')) return
- if (lower.includes('android')) return
-
- return
+ const file = OS_ICON_MAP[osName.toLowerCase()]
+ if (!file) return
+ return
}
export function getDeviceIcon(deviceName: string) {
diff --git a/public/icons/os/android.png b/public/icons/os/android.png
new file mode 100644
index 0000000..6fad820
Binary files /dev/null and b/public/icons/os/android.png differ
diff --git a/public/icons/os/chromeos.png b/public/icons/os/chromeos.png
new file mode 100644
index 0000000..4260645
Binary files /dev/null and b/public/icons/os/chromeos.png differ
diff --git a/public/icons/os/freebsd.png b/public/icons/os/freebsd.png
new file mode 100644
index 0000000..a330ab2
Binary files /dev/null and b/public/icons/os/freebsd.png differ
diff --git a/public/icons/os/harmonyos.png b/public/icons/os/harmonyos.png
new file mode 100644
index 0000000..af7ba29
Binary files /dev/null and b/public/icons/os/harmonyos.png differ
diff --git a/public/icons/os/ios.png b/public/icons/os/ios.png
new file mode 100644
index 0000000..77f6d15
Binary files /dev/null and b/public/icons/os/ios.png differ
diff --git a/public/icons/os/kaios.png b/public/icons/os/kaios.png
new file mode 100644
index 0000000..cbcf492
Binary files /dev/null and b/public/icons/os/kaios.png differ
diff --git a/public/icons/os/linux.png b/public/icons/os/linux.png
new file mode 100644
index 0000000..37358e0
Binary files /dev/null and b/public/icons/os/linux.png differ
diff --git a/public/icons/os/macos.png b/public/icons/os/macos.png
new file mode 100644
index 0000000..8e821f9
Binary files /dev/null and b/public/icons/os/macos.png differ
diff --git a/public/icons/os/netbsd.png b/public/icons/os/netbsd.png
new file mode 100644
index 0000000..eb979f6
Binary files /dev/null and b/public/icons/os/netbsd.png differ
diff --git a/public/icons/os/nintendo.png b/public/icons/os/nintendo.png
new file mode 100644
index 0000000..38f7026
Binary files /dev/null and b/public/icons/os/nintendo.png differ
diff --git a/public/icons/os/openbsd.png b/public/icons/os/openbsd.png
new file mode 100644
index 0000000..f47ce12
Binary files /dev/null and b/public/icons/os/openbsd.png differ
diff --git a/public/icons/os/playstation.png b/public/icons/os/playstation.png
new file mode 100644
index 0000000..22c468d
Binary files /dev/null and b/public/icons/os/playstation.png differ
diff --git a/public/icons/os/tizen.png b/public/icons/os/tizen.png
new file mode 100644
index 0000000..f32b415
Binary files /dev/null and b/public/icons/os/tizen.png differ
diff --git a/public/icons/os/webos.png b/public/icons/os/webos.png
new file mode 100644
index 0000000..f4e062f
Binary files /dev/null and b/public/icons/os/webos.png differ
diff --git a/public/icons/os/windows.png b/public/icons/os/windows.png
new file mode 100644
index 0000000..2451fb1
Binary files /dev/null and b/public/icons/os/windows.png differ
diff --git a/public/icons/os/xbox.png b/public/icons/os/xbox.png
new file mode 100644
index 0000000..034553a
Binary files /dev/null and b/public/icons/os/xbox.png differ