diff --git a/lib/utils/icons.tsx b/lib/utils/icons.tsx index 79ccc4c..bfc9cc6 100644 --- a/lib/utils/icons.tsx +++ b/lib/utils/icons.tsx @@ -32,9 +32,34 @@ import { */ export const FAVICON_SERVICE_URL = 'https://www.google.com/s2/favicons' +const BROWSER_ICON_MAP: Record = { + 'chrome': { file: 'chrome', ext: 'svg' }, + 'firefox': { file: 'firefox', ext: 'svg' }, + 'safari': { file: 'safari', ext: 'svg' }, + 'edge': { file: 'edge', ext: 'svg' }, + 'opera': { file: 'opera', ext: 'svg' }, + 'brave': { file: 'brave', ext: 'svg' }, + 'vivaldi': { file: 'vivaldi', ext: 'svg' }, + 'samsung internet': { file: 'samsung-internet', ext: 'svg' }, + 'uc browser': { file: 'uc-browser', ext: 'svg' }, + 'yandex browser': { file: 'yandex', ext: 'png' }, + 'waterfox': { file: 'waterfox', ext: 'png' }, + 'pale moon': { file: 'pale-moon', ext: 'png' }, + 'duckduckgo': { file: 'duckduckgo', ext: 'png' }, + 'maxthon': { file: 'maxthon', ext: 'png' }, + 'silk': { file: 'silk', ext: 'png' }, + 'puffin': { file: 'puffin', ext: 'png' }, + 'arc': { file: 'arc', ext: 'png' }, + 'tor': { file: 'tor', ext: 'png' }, + 'opera mini': { file: 'opera-mini', ext: 'png' }, +} + export function getBrowserIcon(browserName: string) { if (!browserName) return - return + const entry = BROWSER_ICON_MAP[browserName.toLowerCase()] + if (!entry) return + const src = `/icons/browsers/${entry.file}.${entry.ext}` + return {browserName} } export function getOSIcon(osName: string) { diff --git a/public/icons/browsers/arc.png b/public/icons/browsers/arc.png new file mode 100644 index 0000000..700a72c Binary files /dev/null and b/public/icons/browsers/arc.png differ diff --git a/public/icons/browsers/brave.svg b/public/icons/browsers/brave.svg new file mode 100644 index 0000000..fb5ed8b --- /dev/null +++ b/public/icons/browsers/brave.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/chrome.svg b/public/icons/browsers/chrome.svg new file mode 100644 index 0000000..dcc3b11 --- /dev/null +++ b/public/icons/browsers/chrome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/duckduckgo.png b/public/icons/browsers/duckduckgo.png new file mode 100644 index 0000000..64ee943 Binary files /dev/null and b/public/icons/browsers/duckduckgo.png differ diff --git a/public/icons/browsers/edge.svg b/public/icons/browsers/edge.svg new file mode 100644 index 0000000..b2afc8e --- /dev/null +++ b/public/icons/browsers/edge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/firefox.svg b/public/icons/browsers/firefox.svg new file mode 100644 index 0000000..f153ced --- /dev/null +++ b/public/icons/browsers/firefox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/maxthon.png b/public/icons/browsers/maxthon.png new file mode 100644 index 0000000..87134c9 Binary files /dev/null and b/public/icons/browsers/maxthon.png differ diff --git a/public/icons/browsers/opera-mini.png b/public/icons/browsers/opera-mini.png new file mode 100644 index 0000000..0c3e390 Binary files /dev/null and b/public/icons/browsers/opera-mini.png differ diff --git a/public/icons/browsers/opera.svg b/public/icons/browsers/opera.svg new file mode 100644 index 0000000..6e79822 --- /dev/null +++ b/public/icons/browsers/opera.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/pale-moon.png b/public/icons/browsers/pale-moon.png new file mode 100644 index 0000000..b51eafd Binary files /dev/null and b/public/icons/browsers/pale-moon.png differ diff --git a/public/icons/browsers/puffin.png b/public/icons/browsers/puffin.png new file mode 100644 index 0000000..c51e6d8 Binary files /dev/null and b/public/icons/browsers/puffin.png differ diff --git a/public/icons/browsers/safari-ios.svg b/public/icons/browsers/safari-ios.svg new file mode 100644 index 0000000..c04ad58 --- /dev/null +++ b/public/icons/browsers/safari-ios.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/safari.svg b/public/icons/browsers/safari.svg new file mode 100644 index 0000000..214ccc5 --- /dev/null +++ b/public/icons/browsers/safari.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/samsung-internet.svg b/public/icons/browsers/samsung-internet.svg new file mode 100644 index 0000000..5b2caa9 --- /dev/null +++ b/public/icons/browsers/samsung-internet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/silk.png b/public/icons/browsers/silk.png new file mode 100644 index 0000000..aafa0fe Binary files /dev/null and b/public/icons/browsers/silk.png differ diff --git a/public/icons/browsers/tor.png b/public/icons/browsers/tor.png new file mode 100644 index 0000000..b605289 Binary files /dev/null and b/public/icons/browsers/tor.png differ diff --git a/public/icons/browsers/uc-browser.svg b/public/icons/browsers/uc-browser.svg new file mode 100644 index 0000000..cb461fb --- /dev/null +++ b/public/icons/browsers/uc-browser.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/vivaldi.svg b/public/icons/browsers/vivaldi.svg new file mode 100644 index 0000000..2084b97 --- /dev/null +++ b/public/icons/browsers/vivaldi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons/browsers/waterfox.png b/public/icons/browsers/waterfox.png new file mode 100644 index 0000000..c031bf9 Binary files /dev/null and b/public/icons/browsers/waterfox.png differ diff --git a/public/icons/browsers/yandex.png b/public/icons/browsers/yandex.png new file mode 100644 index 0000000..26b5550 Binary files /dev/null and b/public/icons/browsers/yandex.png differ