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 {browserName} } +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 {osName} } 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