Files
router-lists-ui/frontend/src/lib/brandIcons.js
T
2026-02-17 00:15:32 +07:00

90 lines
3.6 KiB
JavaScript

/**
* Реестр брендовых иконок (Tabler Icons) для выбора в настройках пинг-сервисов.
* id — имя компонента (например IconBrandGoogle), label — для поиска и отображения.
*/
import {
IconBrandGoogle,
IconBrandCloudflare,
IconBrandYandex,
IconBrandInstagram,
IconBrandGithub,
IconBrandTelegram,
IconBrandWhatsapp,
IconBrandFacebook,
IconBrandX,
IconBrandYoutube,
IconBrandTiktok,
IconBrandAmazon,
IconBrandApple,
IconBrandMicrosoft,
IconBrandDiscord,
IconBrandSpotify,
IconBrandVk,
IconBrandReddit,
IconBrandLinkedin,
IconBrandPinterest,
IconBrandTwitch,
IconBrandSteam,
IconBrandNginx,
IconBrandDocker,
IconBrandChrome,
IconBrandFirefox,
IconBrandSafari,
IconBrandEdge,
IconBrandSlack,
IconBrandZoom,
IconBrandSkype,
IconBrandPaypal,
IconBrandStripe,
IconBrandVisa,
IconBrandMastercard,
IconWorld,
} from '@tabler/icons-react';
const BRAND_ICONS = [
{ id: 'IconBrandGoogle', label: 'Google', Icon: IconBrandGoogle },
{ id: 'IconBrandCloudflare', label: 'Cloudflare', Icon: IconBrandCloudflare },
{ id: 'IconBrandYandex', label: 'Yandex', Icon: IconBrandYandex },
{ id: 'IconBrandInstagram', label: 'Instagram', Icon: IconBrandInstagram },
{ id: 'IconBrandGithub', label: 'GitHub', Icon: IconBrandGithub },
{ id: 'IconBrandTelegram', label: 'Telegram', Icon: IconBrandTelegram },
{ id: 'IconBrandWhatsapp', label: 'WhatsApp', Icon: IconBrandWhatsapp },
{ id: 'IconBrandFacebook', label: 'Facebook', Icon: IconBrandFacebook },
{ id: 'IconBrandX', label: 'X (Twitter)', Icon: IconBrandX },
{ id: 'IconBrandYoutube', label: 'YouTube', Icon: IconBrandYoutube },
{ id: 'IconBrandTiktok', label: 'TikTok', Icon: IconBrandTiktok },
{ id: 'IconBrandAmazon', label: 'Amazon', Icon: IconBrandAmazon },
{ id: 'IconBrandApple', label: 'Apple', Icon: IconBrandApple },
{ id: 'IconBrandMicrosoft', label: 'Microsoft', Icon: IconBrandMicrosoft },
{ id: 'IconBrandDiscord', label: 'Discord', Icon: IconBrandDiscord },
{ id: 'IconBrandSpotify', label: 'Spotify', Icon: IconBrandSpotify },
{ id: 'IconBrandVk', label: 'VK', Icon: IconBrandVk },
{ id: 'IconBrandReddit', label: 'Reddit', Icon: IconBrandReddit },
{ id: 'IconBrandLinkedin', label: 'LinkedIn', Icon: IconBrandLinkedin },
{ id: 'IconBrandPinterest', label: 'Pinterest', Icon: IconBrandPinterest },
{ id: 'IconBrandTwitch', label: 'Twitch', Icon: IconBrandTwitch },
{ id: 'IconBrandSteam', label: 'Steam', Icon: IconBrandSteam },
{ id: 'IconBrandNginx', label: 'Nginx', Icon: IconBrandNginx },
{ id: 'IconBrandDocker', label: 'Docker', Icon: IconBrandDocker },
{ id: 'IconBrandChrome', label: 'Chrome', Icon: IconBrandChrome },
{ id: 'IconBrandFirefox', label: 'Firefox', Icon: IconBrandFirefox },
{ id: 'IconBrandSafari', label: 'Safari', Icon: IconBrandSafari },
{ id: 'IconBrandEdge', label: 'Edge', Icon: IconBrandEdge },
{ id: 'IconBrandSlack', label: 'Slack', Icon: IconBrandSlack },
{ id: 'IconBrandZoom', label: 'Zoom', Icon: IconBrandZoom },
{ id: 'IconBrandSkype', label: 'Skype', Icon: IconBrandSkype },
{ id: 'IconBrandPaypal', label: 'PayPal', Icon: IconBrandPaypal },
{ id: 'IconBrandStripe', label: 'Stripe', Icon: IconBrandStripe },
{ id: 'IconBrandVisa', label: 'Visa', Icon: IconBrandVisa },
{ id: 'IconBrandMastercard', label: 'Mastercard', Icon: IconBrandMastercard },
{ id: 'IconWorld', label: 'Сеть (World)', Icon: IconWorld },
];
const ICON_BY_ID = Object.fromEntries(BRAND_ICONS.map((item) => [item.id, item]));
export function getIconById(id) {
return ICON_BY_ID[id] || BRAND_ICONS[0];
}
export default BRAND_ICONS;